- 博客(51)
- 资源 (1)
- 收藏
- 关注
转载 Ubuntu20.04 apt安装1.20以上最新版本的nginx
代码】Ubuntu20.04apt安装1.20以上最新版本的nginx。
2022-07-21 23:46:50
1291
2
原创 Spring Security权限控制(三)
JWT 是一个很长的字符串,由 分割为三段Header(头部)存储 JWT 的元数据,与生成 Token API 中的 对应Payload(负载数据)存放需要实际传递的数据,官方定义了7个官方字段Signature(签名)是对前两部分的签名,防止数据篡改通过工具类可以十分便捷的获取到所有的token的属性等数据依然首先是通过config进行注入配置在这里代码里把filter放置在Logout之前,是因为logout是需要鉴权的操作,每次logout都必须有授权才能logout这里通过配置filter
2022-06-12 00:15:45
339
原创 Spring Security权限控制(二)
这个项目采用了已登录用户身份认证token校验,以及未登录用户用户名密码校验方式,初次查看Config时候没有发现在什么地方配置了Token以及Username/password的校验,经过对源码的逐行分析,发现了这几行是一个很复杂的类,继承自AbstractHttpConfigurer,也是一个配置文件,源码中仅有 与 两个方法,对于基类而言只是一个单纯的容器类,用以装载具体的配置信息。在父类的基类中,有以下几个比较重要的方法init方法用以初始化配置容器configure()方法用来具体配置
2022-06-12 00:15:00
231
原创 Spring Sercurity权限控制(一)
spring security 的核心功能主要包括:其核心就是一组过滤器链,项目启动后将会自动配置。最核心的就是 Basic Authentication Filter 用来认证用户的身份,一个在spring security中一种过滤器处理一种认证方式。允许未经授权即可访问的接口这一段代码允许了所有不经过SpringSercurity即可访问访问的接口,包含登录,注册等。利用登录注册的过程是本省就不要任何权限就能做的。标明除此上一段代码排除的白名单外所有的接口均是需要鉴权的禁用csrf以及ses
2022-06-12 00:14:12
861
原创 判题核心流程图
判题器为实现水平扩展功能采用了springboot + native code的方式进行开发。利用异步分发机制,通过rabbitmq实现异步队列,保持水平扩展性。整体流程如下核心交互的实体类如下判题器任务转换对于判题器的内部接收到任务将转化成判题器支持的任务形式对于获取题目测试点当判题器收到判题请求执行一下流程,对题目进行运行的程序进行沙箱的封装以及判定...
2022-06-12 00:10:01
292
原创 Clion使用makefile编译并调试程序
假设在项目目录下已经有了Makefile文件和hello.cppMakefile:打开编辑配置界面[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OhRVFi3M-1654962430188)(https://gitee.com/widealpha/pic/raw/5407a7f294da9cd07dc27eec47d0c76110dce2f6/image-20211217193605053.png)]新建Makefile Target按照下图填写[外链图片转存失败,源站可
2022-06-11 23:52:27
1709
1
原创 OJ平台产品文档
用户[用户名(username), 密码,userId]{性别,学号,年龄,邮箱,头像}登录(用户名登录,邮箱登录)注册(邮箱注册)用户分组编程题[题目名称, 题目描述(详细信息,提示), 题目示例, 时间, 题目类型(客观, 编程题,主观),题目标签(树,图…), 题目状态(public, private), 作者,难度]{}出题主观/客观题题目集(作业形式)题目集(测验形式)[名称, 创建时间, 作者, 题目集状态(protected, private)]{使用范围, 持续时间}出题目集查看作答状态
2022-06-11 22:03:56
171
原创 rabbitmq同步传输的使用
同步请求设置首先注入Templete同步请求传输首先判断入参合法性进行参数转换以及数据库入参出参查询校验对象序列化处理以及检验同步传输以及校验处理
2022-06-11 19:16:39
311
原创 rabbitmq异步消息传递的使用
通过配置rabbitmq的config以及rabbitmq的templete实现更自由的定制,实现重发机制等建立实体类service判题采用异步机制,因为多个测试点可能花费许多时间,所以异步传输机制receiver注册receiver,实现异步消息的接受使用异步消息接受机制,减少了服务器的压力,更便于逻辑的实现...
2022-06-11 15:58:45
1062
原创 Jenkins+tomcat自动化部署+nginx+apidoc文档生成
运行下面的命令配置Jenkins环境安装 jdk8/jdk11安装maven安装git安装tomcat,nginx编辑 文件,由于8080被占用,要换端口配置Jenkins查看内部的初始Jenkins密码访问或者进入管理界面选择推荐的插件,会开启自动下载等待插件下载完成,接着可选创建账户,或者是管理员账户继续,接着Jenkins url选择默认即可访问管理插件添加,,几款插件首先生成本地ssh key进入github的仓库,创建deploy keys在Key中填写 的结果
2022-06-11 15:58:12
253
原创 seccomp实现安全判题沙箱
软件判题器需要一下几点直接返回值结果创建限制与返回结果按照判题器的要求创建资源限制,返回结果以及判题器的配置文件创建判题器核心rlimitlinux下对资源进行限制的函数是位于**下的getrlimit和setrlimit**系统的资源由最初的0号进程获取,后续所有的子进程继承父进程的资源限制每个子进程也可以调用setrlimit改变资源限制rlimit的结构对应的resource参数可选如下:exit code返回的状态码是0表示执行成功对于完整的f...
2022-06-10 02:12:33
1261
原创 使用Sandbox2封装应用
按照sandboxed-api进行配置环境,简单来说是下面两步安装Git,Gcc,G++运行以下命令编译example跳转到git clone的sandboxed-api的目录,执行下列命令进行编译运行sandbox2的tool example运行成功结果如下沙箱调用可执行文件创建需要用沙箱运行的程序创建hello.cpp编译hello.cpp生成可执行文件,并运行创建沙箱执行器新建c++项目创建main.cpp作为启动文件写入CMakeList.txt运行程序
2022-06-10 02:03:21
325
原创 使用Google Sandboxed-api
Sandboxed-api是google推出的开源沙箱SandBox2的封装,能共更为方便的实现沙箱的安全操作Github仓库链接如下 sandboxed-apiGoogle官方给出的需求如下首先安装gcc,g++,cmake,make等编译工具链,以及git仓库管理工具执行命令,克隆sandboxed-api仓库Example编译&使用Clone下来的项目自带了一些example,我们可以先从这些demo入手,看是如何使用的输出如下的结果,环境搭建就算成功了整体项目编译&测试测试
2022-06-10 02:02:17
460
原创 Spring Integration sftp
在pom.xml中添加以下依赖,使用spring-integration-sftp核心组件spring integration sftp 是 spring integration 框架中的 sftp 的模块。基于com.jcraft.jsch执行sftp命令SftpSessionFactory:Sftp客户端与服务器连接的工厂,每次与Sftp服务器端建立连接均会执行工厂建立新的session连接,这些连接可以被缓存下来,以便下次快速连接。同时支持session共享可以在一个连接上执行多种操作SftpSe
2022-06-10 01:55:44
872
1
原创 学生能力提升平台团队工作与最终结果
学生程序设计能力提升平台力图打造一个师生学习和竞赛培训的在线评测平台。用于为山东大学进行教学活动的辅助平台,以及进行计算机竞赛的模拟训练。功能点包括以下方面:身份认证功能: 学生账号绑定,用户注册,邮箱/学号登录,身份鉴权题目功能: 题目编辑,题目集展示,题目集导入,题目评判,题目排名,教师房间布置题目评判竞赛相关: 计时题目,计分题目,模拟竞赛安全性功能: 管理员账户,数据库备份,使用数据库不删除原则项目由前端,后端判题端三部分组成,每一部分之间通过接口调用实现,可以进行水平调用。前端与后端的调
2022-06-02 22:33:55
130
原创 学生能力提升平台绑定学生信息
2021SC@SDUSC学生能力提升平台绑定学生信息excel的生成 /** * @api {GET} /bind/allStudentsBindExcel 绑定信息下载 * @apiVersion 1.0.0 * @apiGroup BindController * @apiName allStudentsBindExcel * @apiDescription 获取所有学生绑定信息的excel(数据量大接口可能会慢) * @apiPe
2021-12-26 22:21:29
231
原创 并行设计方法
2021SC@SDUSC这篇文章主要是利用Clion来配置OpenMP的运行环境,当然其他编译器也是可以的,但是对比其他编译器,小编觉得还是Clion的配置过程更加简单。下面就是配置OpenMP的大致过程:目录下载配置CMakeList.txt文件编写一个测试程序在运行踩的坑下载MinGW64CLion配置CMakeList.txt文件openMP 配置FIND_PACKAGE(OpenMP REQUIRED)if (OPENMP_FOUND)message(“OPENMP F
2021-12-17 19:07:41
715
2
原创 开发微信小程序(uniapp)
@2021SC@SDUSCWebStorm开发微信小程序(uniapp)创建项目采用cli方式创建的项目vue create -p dcloudio/uni-preset-vue my-project采用HBuilderX创建的项目在点击工具栏里的文件 -> 新建 -> 项目:选择uni-app类型,输入工程名,选择模板,点击创建,即可成功创建。HBuildX创建的项目可能缺少d.ts在项目执行下面两行命令生成d.tsnpm initnpm i @types
2021-12-12 20:18:25
11003
3
原创 idea编译器使用技巧
@2021SC@SDUSC几乎所有软件通用Ctrl+C 复制Ctrl+V 粘贴Ctrl+A 全选Ctrl+F 查找Ctrl+R 替换(支持正则替换)单词相关Ctrl+W 选中单词(连续选中)行相关Ctrl+Y 删除行Ctrl+D 复制行(光标未选中)Ctrl+C 复制行到剪切板Ctrl+Enter 另起一行项目相关Ctrl+O 重写方法Alt+Insert GenerateShift+F6 相关重命名Shift+F10 运行Shift+F9 Debug运行Ctrl+Q
2021-11-28 16:53:57
367
1
原创 rabbitmq同步传输
2021SC@SDUSCrabbitmq同步传输的使用rabbitmq同步传输配置rabbitmq同步传输同步请求设置同步请求传输rabbitmq同步传输配置rabbitmq同步传输 @Bean AsyncRabbitTemplate asyncRabbitTemplate(RabbitTemplate rabbitTemplate){ return new AsyncRabbitTemplate(rabbitTemplate); }同步请求设置首先注入T
2021-11-14 22:21:11
1966
原创 gcc-multilib在Ubuntu20.04上无法安装
Ubuntu20.04无法安装 gcc-multilib g++-multilib错误内容解决方案错误内容执行sudo apt install gcc-multilib g++-multilib报错sudo apt install gcc-multilib g++-multilib正在读取软件包列表... 完成正在分析软件包的依赖关系树 正在读取状态信息... 完成 有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是因为系统无法达到您要求的状态造
2021-11-09 20:42:44
8018
3
原创 Jenkins+tomcat自动化部署+nginx+apidoc文档生成
2021SC@SDUSCJenkins+tomcat自动化部署+nginx+apidoc文档生成集成自动化部署Jenkins安装配置安装相关环境启动Jenkins配置Jenkins新建项目配置github hook凭据添加ssh凭据添加tomcat配置项目配置配置apidoc安装apidoc配置nginx集成自动化部署Jenkins安装配置安装相关环境运行下面的命令配置Jenkins环境# 下载添加keywget -q -O - https://pkg.jenkins.io/debian-
2021-10-30 16:10:12
1318
原创 Spring Security+JWT实现身份认证与权限控制
2021SC@SDUSCSpring Security+JWT实现鉴权零. spring security鉴权流程简图一. 用gradle/maven导入依赖(gradle)二. 建立配置文件整体配置文件Options请求拦截器配置用户名登录拦截Config&FilterhandlerJwtUtilUserDetailService配置Token拦截configFilterToken(鉴权信息容器)Provider三. Controller层验证一些注意事项零. spring security鉴
2021-10-24 16:03:39
3159
原创 学生程序设计能力提升平台 Spring Security的应用(三)
2021SC@SDUSC学生程序设计能力提升平台综述 Spring Security的应用(三)@[TOC](学生程序设计能力提升平台综述 Spring Security的应用(三))JSON WEB TOKEN与spring securityjson web token简介JwtUtil工具类ConfigRefreshcontrollerJSON WEB TOKEN与spring securityjson web token简介JWT 是一个很长的字符串,由 . 分割为三段Header(头部)
2021-10-21 22:22:09
115
原创 学生程序设计能力提升平台 Spring Security的应用(二)
2021SC@SDUSC学生程序设计能力提升平台综述 Spring Security的应用(二)Token鉴权与Spring SercurityConfigration--JsonLoginConfig用户名密码登录的配置Token鉴权与Spring SercurityConfigration–JsonLoginConfig这个项目采用了已登录用户身份认证token校验,以及未登录用户用户名密码校验方式,初次查看Config时候没有发现在什么地方配置了Token以及Username/password
2021-10-14 21:58:21
118
1
原创 学生程序设计能力提升平台 Spring Security的应用(一)
2021SC@SDUSC学生程序设计能力提升平台 Spring Sercurity的应用Spring security的使用Configration-http/httpsConfigration-corsConfiguration-login/logoutSpring security的使用spring security 的核心功能主要包括:认证 (你是谁)授权 (你能干什么)攻击防护 (防止伪造身份)其核心就是一组过滤器链,项目启动后将会自动配置。最核心的就是 Basic Authent
2021-10-07 15:37:26
240
1
原创 nacos安装配置运行
nacos安装配置运行安装nacos从nacos下载地址下载最新release包解压到熟悉的目录下(我解压到D:\nacos文件夹下了)配置mysql以及java环境,java必须1.8以上初始化nacos的mysql依赖,登录mysql之后,执行以下语句create database nacos_config;use nacos_config;接着执行D:\nacos\conf\nacos-mysql.sql文件windows下用powershell或者cmd因为中文编码问
2021-09-30 14:04:01
361
原创 学生程序设计能力提升平台综述
学生程序设计能力提升平台综述学生程序设计能力提升平台综述系统运行环境编译环境平台的安装与配置(以ubuntu记录)java环境的安装nginx的安装tomcat的安装配置mysql的安装配置rabitmq安装平台的编译后端前端学生程序设计能力提升平台综述系统运行环境Ubuntu18.04+或主流云服务器系统mysql 8.0+tomcat 9.0.53 (tomcat 10.0以上版本无法运行)nginx 1.16.1+java 1.8rabbitmq 3.7.10+编译环境jav
2021-09-30 14:01:40
110
原创 Android studio flutter build时Termial输出乱码
Android studio flutter build时控制台输出乱码修复控制台编码修复Android gradle输出编码修复flutter gradle编码最终解决问题修复控制台编码Windows 默认的中文编码是GBK,这个时候输出非GBK的编码就会出现乱码的情况所以要先更改控制台的编码双击Shift,搜索vmoptions,选择Edit Custom VM Options添加下面一行-Dfile.encoding=UTF-8重启Android Studio生效才会修复Androi
2021-03-26 19:53:01
5137
3
原创 Springboot项目启动失败 More than one fragment with the name [spring_web] was found
Springboot项目启动失败 More than one fragment with the name [spring_web] was found因为切换了SpringBoot的版本,导致idea生成的target文件夹中出现了冗余的另一个版本的SpringBoot解决方法:删除target文件夹,重新构建项目...
2021-03-23 18:43:10
517
原创 windows terminal使用管理员权限打开
windows terminal管理员权限Windows Terminal管理员权限运行Windows Terminal的安装Windows Terminal的使用Windows Terminal配置管理员权限(利用Gsudo)安装Gsudo配置windows terminalWindows Terminal配置管理员权限(直接利用系统API)配置windows terminalWindows Terminal管理员权限运行Windows Terminal的安装微软官方的microsoft stor
2021-03-17 12:48:53
25640
8
原创 Vmware Workstation强制关闭电源关机
Vmware Workstation模拟关断电源强制关机强制关闭Vmware Workstation强制关闭Vmware Workstation适用于Vmware Workstation16(可能以前版本也有)模拟电源直接关断的情况(用于测试关闭电源情况下的程序测试),在虚拟机以及关机而且卡死的情况不一定有用。选中菜单栏->虚拟机(M)->电源§->关机(o),不要选择 关闭客户机机(E),关闭客户机相当于按了一下主机的电源,关机才是直接断电。...
2021-03-05 22:49:21
4048
原创 flutter_downloader插件下载文件打开问题
flutter_downloader的一些问题flutter_downloader插件的问题flutter_downloader插件的下载地址flutter_downloader的open方法不能再下载完成后打开flutter_downloader下载完成之后默认打开的应用选择不正确附录flutter_downloader插件的问题flutter_downloader插件的下载地址flutter_downloaderflutter_downloader的open方法不能再下载完成后打开解决方法:由
2020-11-29 01:23:15
3454
1
原创 Flutter Dio 上传多张图片/多个文件
DIO上传文件数组问题解决问题在上传文件数组的时候,后端总是收不到文件数组。检查本地数据发现没有问题。问题出现在FormData对文件的处理上,如果直接用FormData.map处理数据类似下面这样,对于单张/单个文件的上传是没有影响的。 Map<String, dynamic> formMap = { 'nickname': nickname, 'motto': motto, }; formMap['avatar'] = Mul
2020-10-28 12:17:29
5638
原创 python cvxpy 报错 The solver GLPK_MI is not installed
python 安装 cvxpy 报错 安装scs包报错运行cvxpy 报错 The solver GLPK_MI is not installed第一个坑是国内源的问题,要更换清华或者阿里的镜像源安装scs包报错在安装cvxpy依赖的时候报错error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/vi
2020-07-12 18:05:24
13095
9
idle_goods_trading_platform-master.zip
2020-10-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人