logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

OJ判题系统第6期之判题逻辑开发——设计思路、实现步骤、代码实现(策略模式)

判题逻辑是具体判断用户提交的代码是否正确的核心算法或规则集。它专注于解析沙箱返回的结果,并根据预定义的标准(如测试用例、时间限制、内存限制等)判断代码的正确性。这是一个低层次的模块,主要关注具体的判题细节。策略模式是一种行为型设计模式,它定义了一系列算法或策略,并将每一个算法封装起来,使它们可以互相替换,独立于使用它们的客户端。策略模式就像给系统装上了一个“可插拔的大脑”,你可以根据不同情况(比如

#开发语言#java#docker +2
OJ判题系统第4期之判题机模块架构——设计思路、实现步骤、代码实现(工厂模式、代理模式的实践)

之后我们的项目代码只调用接口,不调用具体的实现类,这样在你使用其他的代码沙箱实现类 时,就不用去修改名称了, 便于扩展。@Data@Builder/*** 接口信息*//*** 执行状态*//*** 判题信息*/// 使用 Lombok 的 @Slf4j 注解,自动生成一个日志对象 log,用于记录运行时信息(例如调试、错误等)@Slf4j/*** 执行用户提交的代码,并返回执行结果。* 这是一个

#java#spring cloud#mybatis +2
分布式限流(令牌桶限流)——面试答问+代码案例

RateLimiter 是 Redisson 基于 Redis 实现的分布式限流组件,底层使用令牌桶算法,能够控制某 个操作或服务在一定时间内的请求频率,保护系统不被过多的请求压垮。在项目中,考虑到 AI 生成图表是一个耗时且耗费资源的操作,我决定给 AI 生成图表接口增加限 流,具体的策略是:单个用户每秒内最多执行 2 次生成图表操作。具体的实现方式如下:1)集中管理限流器:创建一个 Redis

#分布式#面试#职场和发展
数据结构算法-动态规划

一个机器人位于一个m x n网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?283从左上角开始,总共有 3 条路径可以到达右下角。1. 向右 -> 向下 -> 向下2. 向下 -> 向下 -> 向右3. 向下 -> 向右 -> 向下286。

文章图片
#算法#数据结构#动态规划
零基础自学python(python知识点手册)

4.1.1 索引通过索引可以访问序列中任何元素。print(verse[2]) #访问第三个元素print(verse[-1]) #访问最后一个元素4.1.2 切片访问序列中元素的另一种方法sname:序列名称start:切片开始位置,若不指定,默认为0end:切片截至位置(不包括该位置),如果不指定,默认为序列长度step:切片步长,如果省略,默认为1print(verse[1:6]) #获取第

文章图片
#python
零基础自学python(python知识点手册)

4.1.1 索引通过索引可以访问序列中任何元素。print(verse[2]) #访问第三个元素print(verse[-1]) #访问最后一个元素4.1.2 切片访问序列中元素的另一种方法sname:序列名称start:切片开始位置,若不指定,默认为0end:切片截至位置(不包括该位置),如果不指定,默认为序列长度step:切片步长,如果省略,默认为1print(verse[1:6]) #获取第

文章图片
#python
物流项目第六期(短信微服务——对接阿里云第三方短信服务JAVA代码实现、策略模式 + 工厂模式的应用)

是一个基于自定义注解和 Spring 容器的短信处理器选择工厂,它让系统可以根据不同的短信渠道自动匹配到对应的实现类,实现了解耦、统一调度、高扩展性的架构设计目标。/*** 短信渠道处理器工厂类* 用于根据短信发送渠道(如阿里云、腾讯云等)动态获取对应的 SmsSendHandler 实现类。* 这是典型的【策略模式】 + 【工厂模式】结合使用,实现了解耦和统一调度。*//*** 私有化构造函数,

#微服务#java#架构 +2
MySQL数据库期末知识点总结(复习版)

修改模式的定义而不影响位于其上层的模式的能力叫做数据独立性。答:SQL集数据查询、数据操作、数据定义、数据控制功能于一体,主要特点包括:①综合统一② 高度非过程化③面向集合的操作方式④以同一种语法构造提供多种使用方式⑤ 语言简洁,易学易用SQL 语言的 GRANT 和 REVOKE 语句主要是用来维护数据库的(CA、完整性B、可靠性C、安全性D、一致性在数据库的安全性控制中,授权的数据对象的(A)

文章图片
#数据库
数据结构与算法-排序算法

每轮冒泡不断地比较的两个元素,如果它们是逆序的,则交换它们的位置下一轮冒泡,可以调整未排序的右边界,减少不必要比较每一轮选择,找出最大(最小)的元素,并把它交换到合适的位置。

文章图片
#排序算法#算法#数据结构
到底了