自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 学习日志(大模型项目)

安装docker通过orbstack。安装了claude code。学习claude skill。学习Agent skill。安装了homebrew。

2026-03-04 09:53:26 22

原创 LangChain开发框架

LangChain是一个简化大语言模型(LLM)应用开发的框架,提供统一接口连接各类LLM组件。其核心包括提示词模板、多类型模型集成、记忆存储、文档索引、链式调用和智能体等功能模块,支持从开发到部署的全生命周期管理。通过模块化设计,开发者可以快速构建复杂的LLM应用,如个人助手、文档问答系统、聊天机器人等场景。LangChain的特色在于简化了LLM应用开发的各个环节,并提供生产化工具链支持。

2026-01-28 22:46:00 732

原创 使用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 480 1

原创 机器学习算法入门------概念及发展史/核心概念及组件/分类算法实战

机器学习是通过数据自动学习规律并预测决策的AI实现方法。主要分为有监督学习(回归、分类算法如KNN、决策树)、无监督学习(聚类如K-means)、半监督学习和强化学习。建模流程包括数据获取、处理、特征工程、训练、评估(回归用MSE/MAE,分类用准确率/F1)和部署。集成学习通过多个基学习器提升性能,如随机森林(Bagging)和AdaBoost(Boosting)。

2026-01-03 00:32:01 443

原创 《知讯头条》Python后端项目详解---基于FastAPI和SQLAlchemy

随着互联网普及,用户对新闻咨询获取有了更高的要求:快速、个性化、可追溯。传统新闻应用在响应速度、内容推荐和用户体验上存在一定的局限性。

2025-12-26 23:49:11 978

原创 修改python后端项目名称:pycharm中fastapi框架的项目

3.Rename project名称为新的文件名,也就是和Rename directory名字相同即可。2.在pycharm中打开修改后的项目文件夹。4.编辑项目启动配置,修改为新的名称和路径。1.关闭项目,修改项目文件夹名称。

2025-12-26 18:27:57 334

原创 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 362

原创 Python中ORM(对象关系映射)的概念与实操---连接数据库

ORM(对象关系映射)是一种将数据库表映射为编程语言类的技术,实现用面向对象方式操作数据库,自动转换对象操作为SQL语句。ORM解决了手写SQL的痛点:消除思维切换成本、减少重复工作、降低数据库耦合度、避免错误并提升维护性。以SQLAlchemy为例,通过定义模型类映射数据库表,配置异步引擎和会话工厂,封装依赖函数管理会话生命周期,实现安全高效的数据库CRUD操作。核心流程包括安装框架、初始化连接、定义模型类和调用API完成数据操作。

2025-12-22 00:25:58 609

原创 Python中CORS 跨域中间件的配置和作用原理

CORS(跨域资源共享)是浏览器和服务端共同遵循的安全机制,用于解决同源策略导致的跨域限制问题。它通过在服务端配置响应头,声明允许访问的源、方法和头信息,使浏览器能够放行合法的跨域请求。不同语言实现方式不同,Python的FastAPI框架使用CORSMiddleware中间件,通过配置allow_origins、allow_methods等参数来启用跨域支持,示例代码展示了如何设置允许的前端域名、请求方法和携带凭证等选项,从而解决跨域访问问题。

2025-12-22 00:20:32 525

原创 数据分析三剑客:NumPy、Pandas、Matplotlib

数据分析工具链的核心三件套:NumPy提供高效的数值计算基础,支持多维数组和数学运算;Pandas构建在NumPy之上,提供Series和DataFrame数据结构,便于结构化数据处理;Matplotlib则负责数据可视化。NumPy擅长数组创建与操作,Pandas专注于数据清洗和分析,Matplotlib用于绘制折线图、散点图等基础图表。三者从底层计算到中层处理再到上层展示形成完整工作流,NumPy负责"算得快",Pandas实现"用得顺",Matplotlib确保

2025-12-16 17:06:56 686

原创 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 850

原创 【python】--- 创建Conda新环境/切换环境/安装

conda env remove -n 环境名。切换到当前环境并运行。

2025-12-04 10:07:33 262

原创 腾讯瑞驰面经---测开(一面)

项目经理不直接参与代码编写或设计。通过协调、控制、沟通 确保项目目标落地,具体工作分为1.项目规划与启动明确项目目标、范围和交付时间。制定详细的项目计划。确定团队成员分工,协调所需资源(如开发环境、第三方工具)2.进度与风险控制跟踪每日/每周项目进度,对比计划发现延期风险(卡壳、需求变更)针对风险制定应对方案,比如协调额外人力解决项目难题,与产品经理确认需求优先级3.团队协调与沟通组织日常站会、周会,同步项目信息,解决团队协作问题(比如前后端接口矛盾)

2025-10-29 02:04:00 260

原创 知行笔记测试报告

这是一个个人知识管理博客系统的网站,用户登录成功后,进入文章列表页面,可以查看所有已发布的文章,提供文章标题、阅读全文、新建文章、编辑文章和删除文章的功能。用户可以创建并发布自己的文章内容,可以对自己的文章进行编辑、删除和更新。也可以看到别人发布的文章,不过只能查看别人的文章,不能对别人的文章进行编辑和删除。同时系统会将文章内容和相关信息存储到数据库中,防止丢失。致力于将个人所思所想所学到的东西记录在这里,方便日后回顾。

2025-10-29 01:57:43 185

原创 【LeetCode100】--- 97.多数元素【思维导图+复习回顾】

如果使用语言自带的排序算法,需要使用 O(logn) 的栈空间。如果自己编写堆排序,则只需要使用 O(1) 的额外空间。O(nlogn),将数组排序的时间复杂度为 O(nlogn)。空间复杂度:O(1),只定义了几个常数级别的变量。时间复杂度:O(n),只需要遍历一次数组。

2025-10-26 16:10:16 195

原创 【LeetCode100】--- 96.只出现一次的数字【思维导图+复习回顾】

【代码】【LeetCode100】--- 96.只出现一次的数字【思维导图+复习回顾】

2025-10-26 10:55:52 337

原创 【LeetCode100】--- 101.重排链表【思维导图+复习回顾】

(不创建新链表节点,直接调整指针)进行合并链表。

2025-10-25 21:28:39 439

原创 牛客---SQL必知必会刷题盲区总结 + 日常报错总结

注:使用distinct关键字去重,它的作用范围是所有列相同的时候才会去重,而不是它前置的某一列。因为Products表中没有产品订单,所以求数量的时候,不能用count()order by 后面接先后要排序的字段,并说明是升序还是降序,ps:如果是找没有出现toy字符的数据就是 not like。当两行 a、b都相同时,distinct才会去除其中一行。2.筛选为字符串,使用单引号双引号都可以,但是不能不加引号。使用count() 即使有 null值也会算一行。1.多列筛选,使用and连接。

2025-10-20 21:01:39 676

原创 【测试开发】---1.认识测试

测试在生活中处处可见,比如去商场买衣服你可以进行外观测试、试穿测试、材质测试价格测试等等。再比如对一个程序进行测试,你可以尽可能的输入任意值,看程序是否会报错。软件测试:就是验证软件产品特性是否满足用户的需求。特性就有比如:功能,性能、界面、易用性......

2025-10-16 17:16:11 909

原创 smart-------SOP管理模块

以下从。

2025-08-07 13:29:29 1014

原创 smart-water表设计方案

【代码】smart-water表设计方案。

2025-08-06 16:35:50 358

原创 sa-token中引入jwt

我们这里用简单模式,更加安全且支持更多功能。

2025-08-04 16:48:31 310

原创 @EnableAutoConfiguration、@AutoConfiguration、org.springframework.boot.autoconfigure.AutoConfiguration

启动类一启动,扫描启动类所有东西,包括@SpringBootApplication,也会启动这个注解里面的东西如@EnableAutoConfiguration,这就开启了自动配置功能的总开关。把这些类,文件全部加载完了,还会去扫描这个文件,按照这个文件的全路径,找到对应的类,加载一遍。把它变成Bean对象,放到Spring容器里面。容器里面有就不放了,没有就放进去。发现某一个类上有@AutoConfigurationz注解,也会全部加载。

2025-08-03 18:32:07 329

原创 git教程

第二种是先安装一个包管理器,推荐。

2025-07-31 20:58:00 1604 1

原创 若依框架RuoYi-Vue-Plus-5.X的启动,本地安装docker,再部署 Redis、PG数据库SmartWaterServer

拉取镜像启动Redis容器。

2025-07-29 09:27:25 7735

原创 createBy、createTime、updataBy、LocalDateTime等四个公共字段创建BaseEntity类@TableField注解-----Mybatis-Plus

在实体类中,你需要使用 @TableField 注解来标记哪些字段需要自动填充,并指定填充的策略。// 其他字段...

2025-07-28 21:41:07 938

原创 add新增管理员功能、BaseController类的简介--------示例OJ

如何判断新增是否成功,insert方法有返回值,如果大于0则说明新增成功。否则新增失败。类似这种判断会有很多种。难道每次都要写这样的重复代码吗?因此为了简化代码,我们使用BaseController,封装了返回结果。根据int正负判断,因此这个部分会写大量代码,是重复的,其他的服务也需要这个判断逻辑因此在公共中写这个方法,建立一个basecontroller类优化是为了便于后续维护代码1.降低代码重复度。

2025-07-27 23:54:15 861

原创 后端参数校验:@NotNull、@NotEmpty、@NotBlank、@Size、@Min、@Max、@Pattern、@Email、@Future、@Past

spring-boot-starter-validation 是 Spring Boot 提供的一个启动器模块,它主要用于简化在 Spring Boot 应用程序中的验证功能。开发者可以在模型类字段上使用注解来定义验证规则。使用。

2025-07-26 17:46:17 623

原创 全局异常处理

思考一下,前面写的代码还有啥问题:就是我们没有考虑异常出现的时候例如:发现代码中有项目依然可以跑起来,但是实际上我们都知道,代码执行到这里可以是会报错的。那么如果这个错误不明显,不像int a = 100 / 0;那么我们要找到这个错误是一件很困难的事情注意:判断密码错误等不属于异常,这只是逻辑错误的判断如果都加try catch会让代码变得很丑陋,因此我们要使用全局异常处理。

2025-07-26 17:45:41 535

原创 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 974

原创 Entity、DTO&VO

2025-07-26 16:57:40 128

原创 Nacos与API网关引入

API网关(简称网关)也是一个服务,通常是后端服务的唯一入口。它的定义类似设计模式中的Facade模式(门面模式,也称外观模式)。它就类似整个微服务架构的门面,所有的外部客户端访问,都需要经过它来进行调度和过滤。

2025-07-26 10:41:02 1042

原创 日志框架的引入(slf4j+logback)

故障的排查和问题定位系统监控数据采集日志审计。

2025-07-26 01:11:06 686

原创 加密算法-----BCrypt

被广泛应用于存储密码和进行身份验证。并且Bcrypt算法包含一个重要特性即每次生成的哈希值都不同,这是由于Bcrypt算法在计算时会先生成一个随机的盐值与用户密码一起参与计算最终得到一个加密后的字符串。由于生成的盐值是随机的,所以即使每次使用相同的密码得到结果也是不同的。这样可以有效的防止攻击者使用一些手段破解用户密码。修改login方法,借助BCryptUtils.matchesPassword()方法,来判断。用户输入密码是否正确。

2025-07-24 21:36:33 1849

原创 主键的选择:自增id?UUID?雪花算法?

如果你需要将数据从一个数据库迁移到另一个数据库,或者备份和恢复数据,自增主键可能会导致问题。例如,如果你在新数据库中已经存在与旧数据库相同的自增 ID,那么插入操作可能会失败。:如果表中存在大量删除和插入操作,自增主键可能会导致 ID 值的不连续。这可能会浪费存储空间,并可能导致某些应用程序或系统逻辑出现问题。:在高并发的写入操作中,自增主键可能会导致性能瓶颈。因为每次插入新记录时,数据库都需要找到下一个可用的自增 ID。这可能会增加写操作的延迟。:自增主键的值是可预测的,因为它们总是按照递增的顺序生成。

2025-07-24 00:59:03 1123

原创 ToB&ToC的定义与区别

B 端和 C 端主要是从产品所面向的用户群体角度来区分的,B 端指的是,C 端指的是。

2025-07-24 00:00:11 940

原创 软件开发、项目开发基本步骤

同时,项目团队也需要定期召开会议,同步项目进度、问题和需求变更,确保项目能够按时交付。◦ 项目团队(包括产品经理、开发人员、测试人员等)共同参与,明确项目的目标、功能需求、 用户体验等。◦后端开发人员定义API接口,包括接口地址、请求方法、请求参数、响应数据、错误码等。项目定义、需求收集与分析、可行性分析、风险评估与规划、项目团队组建、制定项目计划、获取批准与支持。◦ 测试团队进行功能测试、性能测试、兼容性测试等,确保系统的质量和稳定性。◦ 项目上线后,进行日常的维护和监控,确保系统的安全和稳定运行。

2025-07-23 23:42:56 575

原创 我的网页聊天室设计

核心结论的底层实现在单体应用中通常是Map 结构(如),而在分布式环境中可能是外部缓存(如 Redis),但对外提供的 API()仍保持 Map 的语义。开发者视角:无需关心具体实现,只需使用接口提供的方法即可。//获取指定对话的最后一条消息。

2025-07-21 14:09:28 908

原创 动态规划第一题-----1.第 N 个泰波那契数(leetcode)

1.建一个dp表 (Dynamic Programming表),2.将它填满,3.里面的某一个值就是最终返回结果。

2025-07-20 01:35:17 301

原创 mybatis generator插件的使用

在pom文件中,注意要让plugins标签包裹起来。

2025-07-19 16:08:25 261

MySQL事务特性&隔离机制&MVCC

MySQL八股思维导图

2025-07-10

空空如也

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

TA关注的人

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