- 博客(218)
- 收藏
- 关注
原创 用 Claude Code + SpringBoot 构建团队级 AI 工程体系:从零到完整流水线
本文介绍如何利用Claude Code构建完整的AI辅助开发体系。通过真实Java Spring Boot项目案例,展示了从架构设计到实现的完整流程。核心包括: 五层架构体系:导航索引层、规范约束层、角色Agent层、技能层和钩子层,形成设计-实现-审查闭环 三大核心机制: 项目宪法:定义技术栈、包结构、关键模式,解决上下文缺失问题 三角色Agent:架构师(opus模型)负责设计、实现者(sonnet模型)负责编码、审查者负责校验 规范约束:包含API设计、数据库、安全等编码规范 特色功能: 代码模板保证
2026-04-03 17:48:01
460
原创 gtilab集成claude code,实现ai-review
👉 GitLab Pipeline 自动跑。Claude CLI 需要登录。CI 要能往 MR 发评论。👉 GitLab 右上角头像。内容👇(这是可直接运行版本)只 review 变更文件。
2026-02-11 11:26:52
589
原创 Windows 怎么修改Claude Code的API Key?
本文介绍了如何设置Claude Code的API Key环境变量。推荐使用setx命令永久修改Windows环境变量(需重启终端生效),也可用set临时设置当前窗口的Key。验证方法包括echo命令和claude doctor检查。常见问题包括终端未重启、错误配置文件查找及多Key冲突。文档还提供了多Key切换的批处理脚本示例,并强调Claude Code不通过配置文件存储Key。
2026-01-23 12:53:08
1225
原创 一套提升 Spring Boot 项目的高并发、高可用能力的 Cursor 专用提示词
这是一套专为Cursor设计的Spring Boot高并发优化提示词方案,强调工程级可控改造。核心思路分四阶段:1)系统分析阶段用Claude Opus识别并发瓶颈和风险点;2)制定安全改造范围,严格约束API和业务逻辑不变;3)分模块优化,提供线程池、限流、事务等具体改造模板;4)风险自检,让AI自我审查方案隐患。关键特点是:保持核心逻辑不变、改造可回滚、分阶段实施,并通过约束性提示词防止AI过度设计。最后提供可复用的总控Prompt模板,实现安全可控的高并发优化。
2026-01-19 10:01:19
212
原创 Springboot+Websocket 实现AI对话高并发技术骨架
WebSocket 线程不阻塞 IOAI 调用走线程池 + MQ 异步处理流式消息推送跨线程安全高并发线程池 + 队列安全可控。
2026-01-13 12:06:44
80
原创 Java 高并发场景下的线程池使用规范
log.error("线程池已满");DiscardOldestPolicy(隐性数据丢失)任务类型满载处理核心交易同步执行推荐/日志可丢弃通知类延迟重试高并发系统中,线程池不是性能工具,而是系统稳定器。在满载时,依然可控、可退、可恢复。
2026-01-13 09:56:57
361
原创 《Java Stream 中 toMap 的生产级用法:一次 Duplicate key 的异常问题复盘》
《Java Stream生产级代码编写:看toMap的正确使用》 摘要: 本文通过一个Duplicate key异常案例,剖析了Java Stream中toMap()方法的潜在风险。当key重复或为null时,toMap()会直接抛出IllegalStateException,而这种问题往往在开发环境的小数据量测试中难以发现。文章指出toMap()必须明确处理三种情况:key来源、value定义和冲突解决策略,建议生产代码中必须包含mergeFunction和null检查。作者总结出5条Str
2025-12-16 20:32:00
1026
原创 RabbitMQ 通过HTTP API删除队列命令
摘要:本文介绍了两种RabbitMQ队列管理方法。第一种是使用DELETE命令删除单个指定队列,需提供精确的队列名称和认证信息。第二种是通过PUT命令创建自动删除策略,使用正则表达式匹配特定前缀的队列,设置空闲超时后自动删除。两者的主要区别在于操作方式和影响范围:前者立即删除单个队列,后者批量管理符合规则的队列。文章还解析了参数含义、适用场景及常见问题,并提醒注意权限要求和生产环境风险。建议根据实际需求选择合适的方法,测试环境优先验证策略效果。
2025-07-03 17:40:01
618
原创 Springboot 集成多数据源pgSql+mysql,启动报错
按照网上的方案改了一次又一次,最后发现是这个包跟pom里引入的包冲突导致的。删除vastbase-jdbc-2.10p.jar,重新启动即可。
2025-06-25 20:43:23
586
原创 linux nginx更换域名证书
摘要: 在Linux服务器上更换Nginx的SSL/TLS证书需按步骤操作:1)备份原证书文件;2)将新证书文件(.crt和.key)放入/etc/nginx/ssl/目录;3)修改Nginx配置文件,更新证书路径;4)测试配置无误后,重载或重启Nginx服务;5)使用在线工具(如SSL Labs)验证证书是否生效。注意检查文件权限及路径准确性,确保操作安全可靠。全文提供具体命令示例,适用于常见Nginx证书更换场景。
2025-06-24 17:17:08
827
原创 Windows 创建并激活 Python 虚拟环境venv
本文介绍了在Windows系统中创建和激活Python虚拟环境的详细步骤。首先通过cd命令进入项目目录,使用python -m venv .venv创建隐藏的虚拟环境文件夹。激活时执行.venv\Scripts\activate,若遇脚本禁止错误需调整执行策略。激活成功后命令行会显示环境标记,可通过where python验证路径。还提供了退出环境、快速激活脚本创建以及环境删除方法,并推荐了使用指定Python版本和通过requirements.txt安装依赖的最佳实践。
2025-06-24 17:03:27
3396
1
原创 Spring Boot 无缝集成SpringAI的函数调用模块
将SpringAI的函数调用无缝集成到 Spring Boot 应用以后,即可实现动态数据获取与业务逻辑触发。如需进一步优化(如异步执行函数),可结合。
2025-01-24 11:18:14
1318
原创 Spring AI Advisors的具体定义和用途,怎么自定义业务Advisors?
Spring AI 中的是一个关键概念,用于在模型交互过程中动态调整或增强提示词(Prompt)、控制生成过程,或注入业务逻辑。它的核心思想是,类似于 AOP(面向切面编程)中的拦截器。
2025-01-23 15:12:19
1732
1
原创 springboot 通过RestTemplate调用接口,传参不生效问题记录
平台接入Kimi服务API,技术实现通过RestTemplate框架调用Kimi的流式对话接口,发现修改的请求体参数,一直无法生效,导致输出的结果不完整。注:RequestCallback是Spring RestTemplate中用来定制HTTP请求的一个接口,可以设置请求头、请求体、查询字符串参数。通过ClientHttpRequest对象的方法来定制Request请求,设置请求体信息。线上临时切换成 okhttp3.OkHttpClient处理。
2024-12-05 17:58:26
491
原创 为什么要用二分查找算法,有什么好处?
这种方法确保了在不超过阈值的前提下,尽可能多地保留列表中的元素。二分查找在这里的作用是快速定位到序列化后长度刚好不超过阈值的最大元素集合,而不是直接减少列表长度。通过这种方式,算法避免了线性搜索中的重复序列化和比较,从而提高了效率。请注意,这种方法假设序列化操作是相对昂贵的,因此我们尽量减少序列化的次数,只在必要时(即在二分查找的每一步)进行序列化和长度计算。到列表末尾的子列表,并计算序列化后的字符串长度。的元素,因为这些元素的序列化长度超过了阈值。指向的索引就是我们需要保留的元素的边界。
2024-10-29 14:37:16
598
原创 Git小知识:合理的分支命名约定
创建新分支时,应选择有描述性的名称,以便将来回顾时能立即明白分支的目的。替换[branch-name]为你的分支名称。热修复分支:以hotfix/为前缀,后接修复内容的描述。重构分支:以refactor/为前缀,后接描述性名称。发布分支:以release/为前缀,后接发布的版本号。功能分支:以feature/为前缀,后接描述性名称。修复分支:以fix/为前缀,后接修复内容的描述。自定义分支:根据项目需求自定义前缀。
2024-10-18 10:01:17
1081
原创 FFmpeg 怎样根据图片和文本生成视频
使用FFmpeg根据图片和文本生成视频,你可以使用image2过滤器来处理图片,并使用subtitles过滤器来添加文本。注:确保你的文本文件(这里是text.srt)是正确的字幕文件格式,并且图片能够找到。这个命令假设你已经安装了FFmpeg,并且你的系统能够支持显示和处理这些样式的字幕。
2024-10-14 14:26:38
951
原创 Redis 检查是否已经开启了持久化配置的几种方法
通过这些方法,你可以确认 Redis 是否已经开启了持久化配置,并且了解其当前的工作状态。如果 Redis 正在运行,并且持久化配置正确,你应该能在相应的目录中找到这些文件。日志中可能会包含有关持久化操作的信息,例如 AOF 重写或 RDB 快照的创建。这些命令将返回当前 Redis 实例的持久化配置。连接到 Redis 服务器,并使用。直接查看 Redis 配置文件。使用 Redis 命令行工具。
2024-08-18 18:28:12
1751
原创 Linux 使用docker安装Redis,开启持久化
使用 Docker 启动 Redis 容器,并挂载配置文件和数据目录。按照这些步骤操作,你就可以设置 Redis 的持久化配置,并确保数据在容器重启后不会丢失。这个命令将显示当前 Redis 实例的持久化信息,包括 AOF 和 RDB 的状态。,或者编辑现有的配置文件。你可以使用文本编辑器来创建或编辑这个文件,例如使用。将宿主机上的配置文件挂载到容器内的配置文件位置,在你的宿主机上创建一个 Redis 配置文件。将宿主机上的数据目录挂载到容器内的数据目录。
2024-08-18 18:27:24
604
原创 如何在Linux系统中停止worker进程?
请注意,使用强制信号(如SIGKILL)可能会导致数据丢失或者其他问题,所以在可能的情况下,首选使用SIGQUIT或者Nginx提供的停止命令。举例:如何在Linux系统中停止Nginx的worker进程。在Linux系统中,你可以使用kill命令或者pkill命令来停止进程。这将杀死所有匹配给定模式的进程,即Nginx的worker进程。
2024-06-24 09:48:46
786
原创 Nginx 的 stream 模块,配置转发redis和mysql
使用这种方法,你可以使用 Nginx 的 stream 模块作为前端代理,同时转发 Redis 和 MySQL 的流量。如果你想要通过 Nginx 的 stream 模块转发 Redis 和 MySQL,你可以分别为 Redis 和 MySQL 定义不同的。是 Nginx 监听的本地端口,用于接收来自客户端的连接,并将这些连接分别转发到 Redis 和 MySQL 的后端服务器组。块通常用于一种特定类型的服务,例如定义一组TCP服务器,可以是Redis服务器、MySQL服务器或其他任何TCP服务。
2024-06-05 17:38:31
1461
1
原创 nginx官网源代码方式安装nginx并编译
你可以添加不同的参数来启用额外的功能,如SSL、HTTP缓存等。通过以上步骤,你可以从源代码编译并安装特定版本的Nginx。请确保在编译安装过程中根据你的具体需求配置相应的选项。编译Nginx之前,需要安装一些依赖库,如PCRE、zlib和OpenSSL。命令下载源代码压缩包。如果默认配置不符合你的需求,编辑配置文件。,选择你需要的Nginx版本。如果你需要动态模块,可以添加。命令安装Nginx到。
2024-06-05 16:03:37
1377
原创 apt安装nginx unknown directive “stream“ in /etc/nginx/nginx.conf:152 nginx: configuration
在编译安装之前,请确保你了解如何管理Nginx服务,因为自定义编译的Nginx不会自动注册为系统的服务。你可能需要手动创建启动脚本或使用其他方法来管理Nginx服务。目录,默认情况下不会与Ubuntu仓库中的Nginx版本冲突。但是,你可能需要手动管理服务的启动和停止。编译Nginx之前,需要确保安装了必要的依赖。如果有其他需要的模块或特定的配置选项,可以在configure命令中添加。根据需要配置Nginx,例如设置stream模块的配置文件等。请注意,从源代码编译的Nginx将安装到。
2024-06-05 14:23:36
1251
原创 MySQL创建新用户并设置新密码
请记住,创建用户和设置权限时,你需要具有相应的管理员权限。如果你不熟悉这些操作,建议先咨询有经验的数据库管理员。创建新用户并设置新密码的步骤在 MySQL 中相对直接。替换为用户将连接的主机名(如果是远程连接,可以使用。例如,要创建一个名为。命令退出 MySQL 命令行客户端。为新用户设置适当的权限。如果你在特定的数据库中工作,使用。输入 root 用户的密码。替换为你的目标数据库名称。完成操作后,可以通过输入。替换为新用户的用户名,替换为你想设置的密码。
2024-06-02 23:28:56
1099
原创 Ubuntu上安装Maven
以上步骤将会安装Maven并添加到系统路径中,你可以通过运行mvn -version来验证安装是否成功。如果你需要指定Maven的版本或者使用特定的settings.xml文件,你可以修改/etc/maven/maven.conf文件来设置MAVEN_OPTS环境变量或者修改M2_HOME环境变量指向你的Maven安装目录。
2024-05-23 16:32:12
1257
原创 docker容器 怎么查看运行日志
在Docker中,查看容器的运行日志可以使用命令。该命令允许你获取容器的日志输出,这对于调试和监控容器的状态非常有用。以下是。
2024-05-07 09:41:00
1601
原创 Jenkins启动节点报错: Exception in thread “main“ java.lang.UnsupportedClassVersionError: hudson/remoting
把节点配置里的Jdk路径改为11以上即可。当然如果你项目运行必须用Java1.8,你可以先把jdk路径改为11以上,节点启动成功后,再改回1.8。由于Jenkins的运行环境是Java11,但是节点的运行环境是Java1.8导致。
2024-05-05 22:33:32
3497
2
原创 java小知识:返回给前端的数值字段,自动转成字符串的注解@JsonSerialize
* 项目中有种场景,如果返回给前端的数值字段超过16位会失真,后面几位全都会转成0,一般这种情况最简单的解决方案就是把数值类型转为字符串类型。@JsonSerialize
2024-04-24 16:18:57
767
原创 linux 查看nginx日志
请根据您的实际安装和配置情况,相应地调整上述命令中的日志文件路径。如果您不确定日志文件的位置,可以查看 Nginx 的配置文件或使用。:如果您为特定的站点配置了独立的日志文件,您需要根据实际的配置文件路径来查找和查看这些日志。:为了防止日志文件变得过大,您可能需要定期进行日志切割和压缩。:如果日志文件不在默认位置,您可能需要检查 Nginx 的配置文件(通常是。:如果您更改了日志的配置,需要重启 Nginx 服务以使更改生效。:如果您想查找特定的错误或信息,可以使用。),来确定日志文件的确切位置。
2024-04-22 11:59:36
7525
1
原创 linux apt-get安装Jenkins
这个错误信息表明在尝试更新软件包索引时,APT 软件包管理器无法验证 Jenkins 存储库的 GPG 签名,因为缺少相应的公钥。请确保按照你的系统和需求进行适当的步骤。如果你在解决过程中遇到任何问题,可以查阅 Jenkins 的官方文档或寻求社区的帮助。你需要导入 Jenkins 存储库的公钥以允许 APT 验证软件包的真实性。检查这两个文件,确保没有重复的条目。一旦 Jenkins 启动,你可以通过浏览器访问它的 Web 界面,通常是。添加 Jenkins 存储库到你的系统,并且确保使用正确的。
2024-04-21 21:09:19
979
原创 linux SSH 服务管理命令
确保在重启服务之前,没有重要的 SSH 会话正在进行,或者通知所有使用 SSH 的用户即将发生的重启。如果你在重启 SSH 服务后遇到任何问题,可以查看 SSH 服务的日志文件来获取错误信息和故障排除的线索。要刷新或重新加载 SSH 服务的配置,你需要重启 SSH 服务。这些日志文件通常包含了有关 SSH 服务操作和错误的详细信息,可以帮助你诊断和解决问题。使用以下命令重启 SSH 服务,这将应用你所做的任何更改到。或者,如果你的系统使用的是。或者,如果你的系统使用的是。或者,如果你的系统使用的是。
2024-04-10 09:21:05
6181
1
原创 jenkins 配置从节点启动报错:/var/lib/jenkins/.ssh/known_hosts [SSH] No Known Hosts file was found at /var/lib/
问题原因:这个错误表明 Jenkins 在连接节点服务器时无法找到已知的主机文件(known_hosts),或者无法完成密钥交换导致连接关闭。第一次连接时,系统会询问是否要将节点服务器的公钥添加到 known_hosts 文件中。选择是,并输入 Jenkins 用户的密码。确保 Jenkins 用户有权限读取该文件。这样一来,节点服务器的公钥就会被添加到 known_hosts 文件中。在 Jenkins 主机上以 Jenkins 用户的身份登录。6.打开终端,并以 Jenkins 用户的身份登录。
2024-04-09 16:31:52
1526
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅