自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(149)
  • 收藏
  • 关注

原创 微服务的编程测评系统15-头像上传-OSS

要先创建AcessKey,头像那里点击AcessKey搜索Oss对象存储可以点击免费试用,过期了就买新的点击试用教程点击20GB3个月的,立即试用点击新手秘籍然后是创建Bucket然后进入bucket然后是点击新建目录,就可以创建我们要的目录了。

2025-08-23 23:19:52 397 1

原创 微服务的编程测评系统14-C端题目列表功能-个人中心

我们就是把redis换成了es先查es,查到了就直接返回,没有查到的话,就查mysql,然后同步数据给es,mysql没有查到的话,直接返回null@Tag(name = "题目接口")@Slf4j@Autowired@Data怎么操作es呢—》需要一个类专门放在question里面es包下@Getter@Setter@Id这个就相当于mysql的实体类,这个就是es的实体类。

2025-08-22 23:23:59 832

原创 微服务的编程测评系统13-我的竞赛列表-elasticSearch

处理完用户请求之后,要清理ThreadLocal里面的数据—》拦截器–》after可以完成这个功能–》清理所有的数据,因为这个线程已经没了,数据肯定也要清理掉了@Override这样就可以了。

2025-08-21 18:21:24 1034

原创 微服务的编程测评系统12-xxl-job-历史竞赛-竞赛报名

如果未完赛竞赛列表中的竞赛完赛了,怎么转移到redis中的历史竞赛列表呢–》动态变化的,而且一直在执行–》定时任务定时任务频率:任意时刻都可能结束竞赛了–》一个exam对应一个定时任务–》太多了每天凌晨去执行–》第二天的才是历史竞赛,当天凌晨之前结束的可以不算是历史竞赛可以提供频率,比如每12h,或者6h—》需要一个工具来操作XXL-JOB是⼀个分布式任务调度平台,其核⼼设计⽬标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接⼊多家公司线上产品线,开箱即⽤。xxl-job官网。

2025-08-16 12:45:49 607

原创 微服务的编程测评系统11-jmeter-redis-竞赛列表

后端直接拷贝代码就可以了但是我们点击了退出登录,用户还是可以查看竞赛和题目列表的,但是不能答题,怎么实现这种可以一些操作的功能呢–》网关—》配置白名单之类的就可以了。

2025-08-15 12:18:42 824

原创 优选算法2

就是把一个大问题划分为子问题,在把子问题划分为更小的子问题第一就是不要吝啬定义变量第二就是引入虚拟头结点第三就是注意要判断null第三就是定义尾指针就是查找某个元素,看某个元素在不在哈希表,可以用o(1)的时间复杂度一般用一个数组来模拟简易的哈希表,一般是数据量比较小,比如1到103到107有负数的时候不要用哈希表。

2025-08-08 13:35:08 567

原创 优选算法1

就是用两个指针,一个cur遍历,一个des来划分在排序数组中查找元素的第⼀个和最后⼀个位置非递减的意思就是要么增加,要么不变暴力查找就是on的复杂度如果是朴素版本的二分,找不到起点和终点,只能找到那一个点二段性:查找左端点:划分为两个部分,一个小于target,一个大于等于target所以我们要找的是大于等于target的最左边的那个细节处理循环条件:left<right , 因为当left=right的时候,就是最终结果而且如果为left<=right,那么就会死循环。

2025-08-06 19:51:36 933

原创 微服务的编程测评系统10-竞赛删除发布-用户管理-登录注册

log.info("删除竞赛examId:{}",examId);@Override因为没有题目的时候examQuestionMapper.delete会返回0,所以返回examMapper.deleteById这样就OK了。

2025-08-04 13:49:31 473 1

原创 微服务的编程测评系统9-竞赛新增-竞赛编辑

可以添加没有题目的竞赛,后期来添加题目但是没有题目的竞赛不能发布,可以保存,保存的题目可以在列表看到然后是竞赛的开始时间必须在当前时间以后然后是结束时间必须在开始时间之后,还有就是竞赛名称不要一样@DataDTO字段加上 @JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss”)意思就是前端可以传入字符串类型的事件VO加上 @JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss”)

2025-08-01 19:11:20 646 1

原创 微服务的编程测评系统8-题库管理-竞赛管理

先在question.js里面添加方法});});});});

2025-07-30 18:33:33 1080

原创 微服务的编程测评系统7-题库接口

question_id bigint unsigned not null comment '题目id',title varchar(50) not null comment '题目标题',difficulty tinyint not null comment '题目难度1:简单 2:中等 3:困难',time_limit int not null comment '时间限制',space_limit int not null comment '空间限制',

2025-07-28 12:41:42 842

原创 微服务的编程测评系统6-管理员登录前端-前端路由优化

测试一下发现报了这个错这个主要是因为我们配置的前置url没有含有http协议,所以浏览器就会自动加上静态资源的url})这样就Ok了但是又出了一个新的问题这个就是跨域问题。

2025-07-24 21:11:36 1147

原创 微服务的编程测评系统5-身份认证-管理员登录前端

我们现在测试一下第二步,就是测试一下网关的鉴权功能我们先给gateway也弄一个logback文件然后运行一下试一下吧第一个报错这个报错的主要原因就是redis服务中的redisconfig中我们定义的这个错误提示表明,RedisAutoConfiguration 类中已经定义了名为 redisTemplate 的 Bean,而当前配置类 RedisConfig 又尝试定义同名的 Bean,且默认情况下 Bean 覆盖(重写)是禁用的,所以出现冲突无法注册。

2025-07-21 11:03:56 823

原创 微服务的编程测评系统4-网关-身份认证-redis-jwt

可以作为统一的接口请求入口然后进行身份验证。

2025-07-19 09:45:13 627

原创 小程序购物项目-分类与搜索

组件和自定义组件都放在这里,这个是我们自己建的这样就可以了这个组件有一个红色的背景搜索框是一个view节点–》圆角效果其实并没有input输入框在搜索页面的时候才是输入框搜索图标怎么搞找到了search现在开始美化现在让文字和图标之间有一定的间距这里有个小bug,就是最下面的显示不完整因为高度弄的是屏幕的可用高度,但是部分被搜索框占用了,所以还要减去搜索区域的高度这样就可以了但是我们点击却无法打印,我们为自定义组件绑定点击事件。

2025-07-17 18:31:41 960

原创 微服务的编程测评系统3-加密-日志-apifox-nacos-全局异常

Apifox官网可逆算法:⼀种可以将加密后的密⽂还原为原始明⽂的算法。◦ 对称算法:对称加密(也叫私钥加密)指加密和解密使⽤相同密钥的加密算法。它要求发送⽅和接收⽅在安全通信之前,商定⼀个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何⼈都可以对他们发送或接收的消息解密,所以密钥的保密性对通信的安全性⾄关重要。

2025-07-17 18:23:11 874

原创 微服务的编程测评系统2

先开发B端在开发C端在做后端,在做前端先做登录按照这个层级结构进行创建借助mybatis-plus操作数据库虽然给我们提供了很⼤的便捷,但是这样⽅式操作数据库还是会存在⼀些问题:• 频繁的创建连接和销毁连接:包括TCP层的握⼿和MySQL协议握⼿,这会消耗⼤量时间。• 连接数不受控制:在业务流量⾼峰期,⼤量应⽤服务器可能同时请求数据库连接,⽽数据库能够承载的连接数有限,这可能导致数据库性能降低。

2025-07-16 19:51:06 734

原创 微服务的编程测评系统1-基本知识

nodejs。

2025-07-14 09:23:24 1005

原创 网页五子棋-对战

增加一点这个是匹配的前后端接口设计。

2025-07-12 18:47:53 439

原创 网页五子棋-匹配

Component@OverrideSystem.out.println("连接成功");@OverrideSystem.out.println("收到消息:"+message.getPayload());//返回数据session.sendMessage(new TextMessage("返回数据"+message.getPayload()));@OverrideSystem.out.println("连接错误");@Override。

2025-07-11 11:05:00 883

原创 抽奖系统-抽奖

请求] /draw-prize POST"userName":"胡⼀博"},"userName":"范闲"],[响应]"msg": ""controllerservice:把数据丢给MQ测试。

2025-05-17 15:03:01 851

原创 抽奖系统-奖品-活动

Data@Data@Data@Data@Datacontrollerlog.info("查询奖品列表开始,param:{}", JacksonUtil.writeValueAsString(param));

2025-05-14 20:11:17 760

原创 抽奖系统-登录-人员列表

只有管理员才可以登录@Datapublic class UserPasswordLoginParam extends UserLoginParam{//到时候就可以用UserLoginParam来继承了/*** 登录的手机号或者邮箱*/@NotBlank(message = "登录手机号或者不能为空")/*** 登录的密码*/@NotBlank(message = "登录密码不能为空")@Data/*** 身份,可以不填,因为是登录,所以可以不填*/@Data。

2025-05-13 10:38:04 618

原创 抽奖系统-基本-注册

我们不对dao层进行错误码定义,dao的错误码被service包含就可以了所以我们只定义controller和service层的错误码,还有一个全局的错误码我们的错误码就是一个类,错误码类序列化和反序列化就是利用objectMapper的readValue和writevalueasString方法来的然后就是list的反序列化方法有点不一样但是这个方法要抛异常,很麻烦,我们可以写在工具包里面然后是测试我们要对手机号和密码加密密码用hash加密或者加盐加密手机号就用对称加密。

2025-05-11 20:25:27 728

原创 RabbitMQ-运维

RabbitMQ集群对延迟⾮常敏感, 所以搭建RabbitMQ集群时, 多个节点应当在同⼀个局域⽹内每个队列都有自己的主节点每个队列的消息就是放在自己对应的主节点上的,但是也会在从节点上显示主节点宕机了,对应队列也完了因为队列是没有复制的,所以主节点没了,数据就没了RabbitMQ 的仲裁队列是⼀种基于 Raft ⼀致性算法实现的持久化、复制的 FIFO 队列. 仲裁队列提供队列复制的能⼒, 保障数据的⾼可⽤和安全性. 使⽤仲裁队列可以在 RabbitMQ 节点间进⾏队列数据的复制,从⽽。

2025-05-09 22:17:18 1197

原创 RabittMQ-高级特性2-应用问题

延迟队列(Delayed Queue),即消息被发送以后, 并不想让消费者⽴刻拿到消息, ⽽是等待特定时间后,消费者才能拿到这个消息进⾏消费智能家居: ⽤⼾希望通过⼿机远程遥控家⾥的智能设备在指定的时间进⾏⼯作. 这时候就可以将⽤⼾指令发送到延迟队列, 当指令设定的时间到了再将指令推送到智能设备.⽇常管理: 预定会议后,需要在会议开始前⼗五分钟提醒参会⼈参加会议⽤⼾注册成功后, 7天后发送短信, 提⾼⽤⼾活跃度等。

2025-05-09 20:13:31 1082

原创 RabbitMQ-高级特性1

确认又分为自动确认和手动确认自动确认就是消息送到了消费者,就把消息删除,就认为消息确认了,不管消费者是否收到手动确认就是消费者确认了队列才会删除消息ready的意思就是准备好发给消费者了unack的意思就是消费者还没有确认我们基于SpringBoot来演⽰消息的确认机制, 使⽤⽅式和使⽤RabbitMQ Java Client 库有⼀定差异Spring-AMQP 对消息确认机制提供了三种策略.NONE,MANUAL,AUTO;

2025-05-09 15:16:25 866

原创 RabbitMQ-springboot开发-应用通信

工作队列就是多个消费者1.引入依赖1.配置2.生产者3.消费者生产者代码用这个这样队列就声明好了这样就成功了先启动。

2025-05-07 11:32:00 1245

原创 RabbitMQ-api开发

官网简单模式,一个生产者,一个消费者工作队列模式:一个生产者,多个消费者,c1和c2共同消费p生产的消息交换机类型作⽤: ⽣产者将消息发送到Exchange, 由交换机将消息按⼀定规则路由到⼀个或多个队列中(上图中⽣产者将消息投递到队列中, 实际上这个在RabbitMQ中不会发⽣. )RabbitMQ交换机有四种类型: fanout,direct, topic, headers, 不同类型有着不同的路由策略. AMQP协议⾥还有另外两种类型, System和⾃定义, 此处不再描述.

2025-05-06 17:04:58 1194

原创 Git-基本操作

基本操作创建本地仓库git init这个就可以创建本地仓库了然后当前目录下就有一个.git的文件夹就是配置用户的名称,和用户的email地址在创建好仓库以后要做的事因为一个机器可以有很多的本地仓库,加了–global意思就是给所有的仓库都配置,要不默认就是给当前目录配置加了–global的不能重置这样就可以全局重置了当前git不能管理ReadMe因为真正的本地仓库就是.git,也就是版本库但是也不能放入.git文件因为不允许更改.git/gitcode是工作区怎么管理工作区

2025-04-28 16:56:19 1231 1

原创 博客系统-邮件发送-nginx-服务部署

Nginx是⼀款开源的Web服务器软件,可以⽤作反向代理、负载均衡器.它因⾼性能,⾼稳定性,丰富的功能和低资源消耗⽽闻名.Nginx本⾝也是⼀个静态资源的服务器,当只有静态资源的时候,可以使⽤Nginx来做服务器实现部署前端作为一个服务来启动官网下载Windows下载第三个,linux下载第二个我先下载Windows直接双击nginx.exe就可以启动了一闪而过的然后开始访问出现了这个就成功了端口号默认是80,80可以不用输入然后就是如何关闭nginx。

2025-04-21 19:22:08 890

原创 博客系统-RabbitMQ

⽤⼾注册完成之后,系统会给⽤⼾发送⼀封邮件通知但是邮件发送成功失败并不影响我们⽤⼾注册成功.我们可以采⽤RabbitMQ来进⾏服务的解耦RabbitMQ是⼀个开源的消息代理和队列服务器,⼴泛⽤于实现消息队列和事件通知.它⽀持多种消息协议,并且具有⾼可⽤性、灵活的路由、可靠的消息传递和易于使⽤的管理界⾯MQ( Message queue ),从字⾯意思上看,本质是个队列,FIFO先⼊先出,只不过队列中存放的内容是消息(message)⽽已.消息可以⾮常简单,⽐如只包含⽂本字符串,JSON等,也可以很复

2025-04-20 20:31:03 1229

原创 博客系统案例练习2-用户注册-redis

在对于性能要求⽐较⾼的模块中,Redis作为⼀个缓存层,经常存储⼀些热点数据,减少数据库的读取压⼒,提⾼数据访问速度Redis 是⼀种基于键值对(key-value)的NoSQL数据库,与很多键值对数据库不同的是,Redis中的值可以是由string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)、Bitmaps(位图)、HyperLogLog、GEO(地理信息定位)等多种数据结构和算法组成,因此Redis。

2025-04-20 15:36:06 1077

原创 博客系统案例练习-回顾

业务优先是最基本,最重要的划分⽅式.博客系统的业务⽐较简单,分为两⼤块:⽤⼾模块,博客模块.我们把博客系统拆分为⽤⼾服务和博客服务,对于公共且功能独⽴的模块,抽取出公共SDK(复杂业务场景,也可以抽取出公共服务模块,此处选择SDK).公共SDK就是一个jar包,公共服务提供接口博客系统从⼤的模块分为展⽰层,⽹关层,服务层,数据层.展⽰层:依然采⽤课堂中讲的HTML+CSS+JavaScript+JQuery,使⽤Nginx来提供静态资源服务.⽹关:采⽤SpringCloudGateway服务层:采⽤

2025-04-18 17:43:17 974

原创 Gateway-网关-分布式服务部署

Spring Cloud Gateway提供了过滤器的扩展功能,开发者可以根据实际业务来⾃定义过滤器,同样⾃定义过滤器也⽀持GatewayFilter和GlobalFilter两种⾃定义GatewayFilter,需要去实现对应的接⼝GatewayFilterFactory ,SpringBoot默认帮我们实现的抽象类是AbstractGatewayFilterFactory ,我们可以直接使⽤因为过滤器还要有优先级,所以我们设定一个Ordered的优先级我们定义一个接收参数的类型然后来接收。

2025-04-13 21:59:30 906 1

原创 SpringCloud-OpenFeign

这个是远程调用http的另一种实现形式OpenFeign是⼀个声明式的WebService客⼾端.它让微服务之间的调⽤变得更简单,类似controller调⽤service, 只需要创建⼀个接⼝,然后添加注解即可使⽤OpenFeign由于Feign的停更维护,对应的,我们使⽤的依赖是spring-cloud-starter-openfeign。

2025-04-12 20:51:09 883 1

原创 蓝桥杯算法题3

回⽂字串石子合并(弱化版)石子合并(弱化版最小生成树【模板】最小生成树【模板】最小生成树拓扑排序【模板】拓扑排序 / 家谱树【模板】拓扑排序 / 家谱树单源最短路【模板】单源最短路径(弱化版)【模板】单源最短路径(弱化版)【模板】单源最短路径(标准版)【模板】单源最短路径(标准版)多源最短路【模板】Floyd【模板】Floyd最⼤公约数和最⼩公倍数[信息与未来 2018] 最大公约数[信息与未来 2018] 最大公约数质数的判定【深基7.例2】质数筛【深基7.例2

2025-04-11 17:46:58 379

原创 蓝桥杯算法题2

银河英雄传说字符串哈希【模板】字符串哈希【模板】字符串哈希兔子与兔子兔子与兔子字典树【模板】字典树【模板】字典树动态规划[GESP样题 六级] 下楼梯[GESP样题 六级] 下楼梯[IOI 1994] 数字三角形 Number Triangles [IOI 1994] 数字三角形 Number Triangles基础线性 dp台阶问题台阶问题路径类 dp矩阵的最小路径和矩阵的最小路径和「⽊」迷雾森林「⽊」迷雾森林经典线性 dp最长上升子序列最长上升子序列【模

2025-04-09 16:02:58 279

原创 蓝桥杯算法题1

唯一的雪花 Unique Snowflakes离散化火烧赤壁火烧赤壁递归汉诺塔问题汉诺塔问题分治逆序对逆序对搜索枚举子集(递归实现指数型枚举)枚举子集(递归实现指数型枚举)组合型枚举组合型枚举[NOIP 2002 普及组] 选数[NOIP 2002 普及组] 选数数的划分数的划分斐波那契数斐波那契数FunctionFunction马的遍历马的遍历矩阵距离矩阵距离Lake CountingLake Counting单调栈发射站发射站单调队列滑动

2025-04-05 17:43:58 295

原创 SpringCloud-Nacos

2018年6⽉,Eureka2.0宣布闭源(但是1.X版本仍然为活跃项⽬),同年7⽉份,阿⾥Nacos宣布开源.并快速成为国内最受关注开源产品.作为Eureka的替代,Nacos已经成为了国内开发者的⾸选,⽬前NacosStar 已经突破28K(Eureka12K)在最初开源时,Nacos选择进⾏内部三个产品合并统⼀开源(Configserver⾮持久注册中⼼,VIPServer持久化注册中⼼,Diamond配置中⼼).定位为:⼀个更易于构建云原⽣应⽤的动态服务发现,配置管理和服务管理平台.所以Naco

2025-03-30 20:05:59 963 4

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除