- 博客(154)
- 收藏
- 关注
原创 【挑战项目】 --- 微服务编程测评系统(在线OJ系统)(二)
Swagger是一个接口文档生成工具,它可以帮助开发者自动生成接口文档。当项目的接口发生变更时,Swagger可以实时更新文档,确保文档的准确性和时效性。Swagger还内置了测试功能,开发者可以直接在文档中测试接口,无需编写额外的测试代码。Apifox 简介Apifox是一款集 API 文档管理、调试、Mock、自动化测试于一体的开发工具,旨在为开发者、测试人员和前端/后端工程师提供一站式 API 开发解决方案。它结合了类似Postman的 API 调试功能、Swagger。
2025-05-09 17:29:32
1308
1
原创 【挑战项目】 --- 微服务编程测评系统(在线OJ系统)(一)
项目的作用在于全面展现你的实战能力,问题处理及思考能力,确保面试官对你完成交付任务的能力充满信心。即使遇到挑战,你也能积极应对,推动项目向前发展。在线OJ(online-judge)系统,在线判题系统,类似于LeetCode这样的刷题网站。前置条件1.熟悉命令行2.已经安装18.3或更高版本的Node.js路由是⼀个网络层的概念。路由是指路由器从⼀个接⼝上收到数据包,根据数据包的⽬的地址进⾏定 向并转发到另⼀个接⼝的过程。在Web开发中,
2025-04-09 12:16:43
1182
2
原创 使用Docker部署Python前后端项目
本文介绍了使用Docker容器化部署Vue前端和FastAPI后端的完整流程。主要包括:1)项目结构设计,包含前端、后端和docker-compose.yaml文件;2)编写FastAPI的Dockerfile,包含Python环境配置、依赖安装和Uvicorn启动命令;3)Vue项目的两阶段Docker构建(Node打包+Nginx部署);4)Nginx配置解决前端路由和API代理问题;5)编写docker-compose.yaml文件整合所有服务;6)使用docker-compose命令一键启动/更新服
2026-01-13 21:17:11
415
原创 机器学习算法入门------概念及发展史/核心概念及组件/分类算法实战
机器学习是通过数据自动学习规律并预测决策的AI实现方法。主要分为有监督学习(回归、分类算法如KNN、决策树)、无监督学习(聚类如K-means)、半监督学习和强化学习。建模流程包括数据获取、处理、特征工程、训练、评估(回归用MSE/MAE,分类用准确率/F1)和部署。集成学习通过多个基学习器提升性能,如随机森林(Bagging)和AdaBoost(Boosting)。
2026-01-03 00:32:01
416
原创 《知讯头条》Python后端项目详解---基于FastAPI和SQLAlchemy
随着互联网普及,用户对新闻咨询获取有了更高的要求:快速、个性化、可追溯。传统新闻应用在响应速度、内容推荐和用户体验上存在一定的局限性。
2025-12-26 23:49:11
943
原创 修改python后端项目名称:pycharm中fastapi框架的项目
3.Rename project名称为新的文件名,也就是和Rename directory名字相同即可。2.在pycharm中打开修改后的项目文件夹。4.编辑项目启动配置,修改为新的名称和路径。1.关闭项目,修改项目文件夹名称。
2025-12-26 18:27:57
272
原创 Python中的FastAPI框架的设计特点和性能优势
FastAPI是一款高性能Python Web框架,基于ASGI协议和Pydantic数据验证构建,专为快速开发RESTful API设计。其核心优势包括:1)接近Node.js/Go的异步性能;2)自动生成交互式API文档;3)强类型数据验证减少校验代码;4)开发效率高且兼容同步/异步编程。相比传统框架,FastAPI更适合高并发API场景,但不适合需要模板渲染或Admin后台的项目。该框架通过"高性能+高效率"解决了传统Python Web开发中的文档维护、异步支持等痛点,在项目中可
2025-12-22 12:09:58
326
原创 Python中ORM(对象关系映射)的概念与实操---连接数据库
ORM(对象关系映射)是一种将数据库表映射为编程语言类的技术,实现用面向对象方式操作数据库,自动转换对象操作为SQL语句。ORM解决了手写SQL的痛点:消除思维切换成本、减少重复工作、降低数据库耦合度、避免错误并提升维护性。以SQLAlchemy为例,通过定义模型类映射数据库表,配置异步引擎和会话工厂,封装依赖函数管理会话生命周期,实现安全高效的数据库CRUD操作。核心流程包括安装框架、初始化连接、定义模型类和调用API完成数据操作。
2025-12-22 00:25:58
504
原创 Python中CORS 跨域中间件的配置和作用原理
CORS(跨域资源共享)是浏览器和服务端共同遵循的安全机制,用于解决同源策略导致的跨域限制问题。它通过在服务端配置响应头,声明允许访问的源、方法和头信息,使浏览器能够放行合法的跨域请求。不同语言实现方式不同,Python的FastAPI框架使用CORSMiddleware中间件,通过配置allow_origins、allow_methods等参数来启用跨域支持,示例代码展示了如何设置允许的前端域名、请求方法和携带凭证等选项,从而解决跨域访问问题。
2025-12-22 00:20:32
502
原创 数据分析三剑客:NumPy、Pandas、Matplotlib
数据分析工具链的核心三件套:NumPy提供高效的数值计算基础,支持多维数组和数学运算;Pandas构建在NumPy之上,提供Series和DataFrame数据结构,便于结构化数据处理;Matplotlib则负责数据可视化。NumPy擅长数组创建与操作,Pandas专注于数据清洗和分析,Matplotlib用于绘制折线图、散点图等基础图表。三者从底层计算到中层处理再到上层展示形成完整工作流,NumPy负责"算得快",Pandas实现"用得顺",Matplotlib确保
2025-12-16 17:06:56
631
原创 linux常用命令
本文介绍了Linux常用命令及常见面试题。文件操作命令包括ls、cd、pwd、mkdir、rm等;内容查看命令有cat、more/less、head/tail;系统管理涉及ps、top、kill等;网络相关包括ping、ifconfig/ip、curl/wget等。面试题部分涵盖文件搜索、日志查看、网络连通性测试等场景,如用grep搜索文件内容、head/tail查看首尾行、ssh远程登录、ping/telnet测试连接等,并详细解析了curl测试端口的完整过程。这些命令是Linux系统管理和运维的基础技能
2025-12-16 12:09:47
742
原创 腾讯瑞驰面经---测开(一面)
项目经理不直接参与代码编写或设计。通过协调、控制、沟通 确保项目目标落地,具体工作分为1.项目规划与启动明确项目目标、范围和交付时间。制定详细的项目计划。确定团队成员分工,协调所需资源(如开发环境、第三方工具)2.进度与风险控制跟踪每日/每周项目进度,对比计划发现延期风险(卡壳、需求变更)针对风险制定应对方案,比如协调额外人力解决项目难题,与产品经理确认需求优先级3.团队协调与沟通组织日常站会、周会,同步项目信息,解决团队协作问题(比如前后端接口矛盾)
2025-10-29 02:04:00
191
原创 知行笔记测试报告
这是一个个人知识管理博客系统的网站,用户登录成功后,进入文章列表页面,可以查看所有已发布的文章,提供文章标题、阅读全文、新建文章、编辑文章和删除文章的功能。用户可以创建并发布自己的文章内容,可以对自己的文章进行编辑、删除和更新。也可以看到别人发布的文章,不过只能查看别人的文章,不能对别人的文章进行编辑和删除。同时系统会将文章内容和相关信息存储到数据库中,防止丢失。致力于将个人所思所想所学到的东西记录在这里,方便日后回顾。
2025-10-29 01:57:43
171
原创 根据我的简历总结面试官可能会问的问题
面试官你好,我叫祁洋洋,现在是西安邮电大学计科专业的一名大四学生。我的求职岗位是测试开发工程师。目前学校里没什么事,可以到毕业一直参与实习。在校期间学习了java基础、数据结构、mysql、计算机网络、操作系统、等计算机基础课程。并自学了Spring系列框架, MyBatis,redis 等后台开发技术,简单学习了前端三件套。并以此做了两个项目一个是知行笔记,还有一个是 “星聊空间”并在上海疆通科技有限公司担任过两个月的java后端开发实习生。参与了sop管理平台的一个项目的开发。
2025-10-29 01:42:50
68
原创 【LeetCode100】--- 97.多数元素【思维导图+复习回顾】
如果使用语言自带的排序算法,需要使用 O(logn) 的栈空间。如果自己编写堆排序,则只需要使用 O(1) 的额外空间。O(nlogn),将数组排序的时间复杂度为 O(nlogn)。空间复杂度:O(1),只定义了几个常数级别的变量。时间复杂度:O(n),只需要遍历一次数组。
2025-10-26 16:10:16
185
原创 【LeetCode100】--- 96.只出现一次的数字【思维导图+复习回顾】
【代码】【LeetCode100】--- 96.只出现一次的数字【思维导图+复习回顾】
2025-10-26 10:55:52
328
原创 牛客---SQL必知必会刷题盲区总结 + 日常报错总结
注:使用distinct关键字去重,它的作用范围是所有列相同的时候才会去重,而不是它前置的某一列。因为Products表中没有产品订单,所以求数量的时候,不能用count()order by 后面接先后要排序的字段,并说明是升序还是降序,ps:如果是找没有出现toy字符的数据就是 not like。当两行 a、b都相同时,distinct才会去除其中一行。2.筛选为字符串,使用单引号双引号都可以,但是不能不加引号。使用count() 即使有 null值也会算一行。1.多列筛选,使用and连接。
2025-10-20 21:01:39
666
原创 【测试开发】---1.认识测试
测试在生活中处处可见,比如去商场买衣服你可以进行外观测试、试穿测试、材质测试价格测试等等。再比如对一个程序进行测试,你可以尽可能的输入任意值,看程序是否会报错。软件测试:就是验证软件产品特性是否满足用户的需求。特性就有比如:功能,性能、界面、易用性......
2025-10-16 17:16:11
891
原创 @EnableAutoConfiguration、@AutoConfiguration、org.springframework.boot.autoconfigure.AutoConfiguration
启动类一启动,扫描启动类所有东西,包括@SpringBootApplication,也会启动这个注解里面的东西如@EnableAutoConfiguration,这就开启了自动配置功能的总开关。把这些类,文件全部加载完了,还会去扫描这个文件,按照这个文件的全路径,找到对应的类,加载一遍。把它变成Bean对象,放到Spring容器里面。容器里面有就不放了,没有就放进去。发现某一个类上有@AutoConfigurationz注解,也会全部加载。
2025-08-03 18:32:07
325
原创 若依框架RuoYi-Vue-Plus-5.X的启动,本地安装docker,再部署 Redis、PG数据库SmartWaterServer
拉取镜像启动Redis容器。
2025-07-29 09:27:25
5313
原创 createBy、createTime、updataBy、LocalDateTime等四个公共字段创建BaseEntity类@TableField注解-----Mybatis-Plus
在实体类中,你需要使用 @TableField 注解来标记哪些字段需要自动填充,并指定填充的策略。// 其他字段...
2025-07-28 21:41:07
931
原创 add新增管理员功能、BaseController类的简介--------示例OJ
如何判断新增是否成功,insert方法有返回值,如果大于0则说明新增成功。否则新增失败。类似这种判断会有很多种。难道每次都要写这样的重复代码吗?因此为了简化代码,我们使用BaseController,封装了返回结果。根据int正负判断,因此这个部分会写大量代码,是重复的,其他的服务也需要这个判断逻辑因此在公共中写这个方法,建立一个basecontroller类优化是为了便于后续维护代码1.降低代码重复度。
2025-07-27 23:54:15
850
原创 后端参数校验:@NotNull、@NotEmpty、@NotBlank、@Size、@Min、@Max、@Pattern、@Email、@Future、@Past
spring-boot-starter-validation 是 Spring Boot 提供的一个启动器模块,它主要用于简化在 Spring Boot 应用程序中的验证功能。开发者可以在模型类字段上使用注解来定义验证规则。使用。
2025-07-26 17:46:17
590
原创 全局异常处理
思考一下,前面写的代码还有啥问题:就是我们没有考虑异常出现的时候例如:发现代码中有项目依然可以跑起来,但是实际上我们都知道,代码执行到这里可以是会报错的。那么如果这个错误不明显,不像int a = 100 / 0;那么我们要找到这个错误是一件很困难的事情注意:判断密码错误等不属于异常,这只是逻辑错误的判断如果都加try catch会让代码变得很丑陋,因此我们要使用全局异常处理。
2025-07-26 17:45:41
531
原创 swagger基本注解@Tag、@Operation、@Parameters、@Parameter、@ApiResponse、@Schema
再创建org.springframework.boot.autoconfigure.AutoConfiguration.imports⽂件。在oj-common-swagger模块下的 resources 下创建。服务器运行之后,在浏览器输入地址:例如我的地址就是。META-INF.spring包。
2025-07-26 17:01:18
926
原创 Nacos与API网关引入
API网关(简称网关)也是一个服务,通常是后端服务的唯一入口。它的定义类似设计模式中的Facade模式(门面模式,也称外观模式)。它就类似整个微服务架构的门面,所有的外部客户端访问,都需要经过它来进行调度和过滤。
2025-07-26 10:41:02
1030
原创 加密算法-----BCrypt
被广泛应用于存储密码和进行身份验证。并且Bcrypt算法包含一个重要特性即每次生成的哈希值都不同,这是由于Bcrypt算法在计算时会先生成一个随机的盐值与用户密码一起参与计算最终得到一个加密后的字符串。由于生成的盐值是随机的,所以即使每次使用相同的密码得到结果也是不同的。这样可以有效的防止攻击者使用一些手段破解用户密码。修改login方法,借助BCryptUtils.matchesPassword()方法,来判断。用户输入密码是否正确。
2025-07-24 21:36:33
1763
原创 主键的选择:自增id?UUID?雪花算法?
如果你需要将数据从一个数据库迁移到另一个数据库,或者备份和恢复数据,自增主键可能会导致问题。例如,如果你在新数据库中已经存在与旧数据库相同的自增 ID,那么插入操作可能会失败。:如果表中存在大量删除和插入操作,自增主键可能会导致 ID 值的不连续。这可能会浪费存储空间,并可能导致某些应用程序或系统逻辑出现问题。:在高并发的写入操作中,自增主键可能会导致性能瓶颈。因为每次插入新记录时,数据库都需要找到下一个可用的自增 ID。这可能会增加写操作的延迟。:自增主键的值是可预测的,因为它们总是按照递增的顺序生成。
2025-07-24 00:59:03
1098
原创 软件开发、项目开发基本步骤
同时,项目团队也需要定期召开会议,同步项目进度、问题和需求变更,确保项目能够按时交付。◦ 项目团队(包括产品经理、开发人员、测试人员等)共同参与,明确项目的目标、功能需求、 用户体验等。◦后端开发人员定义API接口,包括接口地址、请求方法、请求参数、响应数据、错误码等。项目定义、需求收集与分析、可行性分析、风险评估与规划、项目团队组建、制定项目计划、获取批准与支持。◦ 测试团队进行功能测试、性能测试、兼容性测试等,确保系统的质量和稳定性。◦ 项目上线后,进行日常的维护和监控,确保系统的安全和稳定运行。
2025-07-23 23:42:56
561
原创 我的网页聊天室设计
核心结论的底层实现在单体应用中通常是Map 结构(如),而在分布式环境中可能是外部缓存(如 Redis),但对外提供的 API()仍保持 Map 的语义。开发者视角:无需关心具体实现,只需使用接口提供的方法即可。//获取指定对话的最后一条消息。
2025-07-21 14:09:28
896
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅