自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 第 24 讲:如何让 AI 帮你设计命令行工具

摘要:本文介绍如何让AI设计更稳定的命令行工具(CLI)。建议先让AI设计CLI使用方式而非直接写代码,重点包括命令名、参数、输出格式等7项要素。通过对比"好设计"与"坏设计",并让AI先生成验收用例再实现代码,可避免产生难以维护的脚本。适合CLI的任务应具备输入输出稳定、重复频率高、可自动化等特点。这套方法适用于日志处理、数据导入等重复性工作,能产出可复用、可维护的专业工具。

2026-07-08 22:17:03 367

原创 第 23 讲:多文件改动时怎么降低 AI 失控概率

《AI编程多文件修改防失控指南》指出AI在跨文件修改时易出现边界不清、过度重构等问题,提出四步管控法:1.先做影响分析,绘制"改动地图"明确边界;2.拆分3-5个可验证批次,严格按"补接口→改逻辑→调调用方→补测试"顺序执行;3.单步限改,禁止计划外变更;4.每步输出验证清单,重点检查计划外改动。核心在于将工程变更流程拆解为可控单元,通过"分析-计划-执行-验证"循环降低风险,建议配合版本控制保留回滚能力。该模板适用于重构、需求开发等场景。

2026-07-07 22:27:14 293

原创 第 22 讲:用 AI 输出可交付的技术方案文档

【摘要】本文针对AI撰写技术方案常出现的空泛、不可交付问题,提出结构化协作方法:1.拆分方案为9个工程模块(背景/目标/风险/回滚等);2.采用三步工作流:先输出目录与待确认问题→人工补齐关键事实→分章节生成;3.重点提示词技巧:明确约束条件、要求取舍依据和具体风险预案。文章提供可直接复用的提示词模板及交付前6项自查清单,强调AI应作为"结构化协作工具"而非全自动方案生成器,有效提升技术方案的可评审性和工程落地性。

2026-07-06 21:57:25 447

原创 第 21 讲:让 AI 帮你写 CSDN 技术文章的方法

《AI助你高效撰写CSDN技术文章:从素材整理到发布优化的全流程指南》 本文针对程序员撰写CSDN技术文章的痛点,提供了一套可复制的AI辅助写作流程。核心方法论是:将AI作为编辑助手而非代写工具,通过5个关键步骤实现高效产出: 素材准备阶段:整理包含真实问题场景、错误日志、解决方案等要素的素材包,让AI评估内容完整度。 大纲构建:要求AI生成问题导向的文章框架,确保每部分解决具体问题,标注需补充内容。

2026-07-05 15:19:31 774

原创 第 20 讲:如何把 AI 接入你的日报周报体系

《程序员如何用AI高效写日报周报?》摘要:本文提供一套可复制的AI日报周报工作流,帮助程序员摆脱临时硬憋的困境。核心方法是将AI接入日常记录体系:1)每天维护包含任务、代码改动、问题等要素的"事实输入包";2)让AI按结果层、过程层、风险层三层次整理日报;3)周末直接从日报归并提炼周报,按项目模块分类而非逐日罗列;4)添加AI自查环节确保内容真实客观;5)每周沉淀可复用经验、风险清单和工作素材。这套方法不仅能提升表达效率,更能持续积累工作资产,适用于绩效材料、技术文章等场景。

2026-07-04 22:24:47 272

原创 第 19 讲:用 AI 改造遗留项目的风险控制

本文针对程序员使用AI改造遗留项目时常见的风险提出了一套系统化解决方案。摘要要点: 核心问题:AI直接重构遗留代码风险高,因其不了解隐藏的业务规则和历史背景 五步控制法: 构建完整上下文包(目标/范围/约束) 拆解为可回滚的小步骤 风险四层分级评估 建立验证闭环(核心路径/历史异常等5类) 限制AI输出为需人工审核的建议 关键原则:AI应作为风险分析助手而非自动重构工具,所有改造需包含验证方式和回滚方案 价值主张:通过结构化流程提前暴露风险,实现可控改造

2026-07-03 14:57:03 186

原创 程序员做技术调研的 AI 笔记法

本文介绍了一套基于AI辅助的技术调研方法论,提出结构化四步法:1.明确问题边界,聚焦3个核心问题;2.将资料转化为标注来源和可信度的证据卡片;3.用统一维度(能力/成本/风险等)对比方案;4.输出包含证据链的决策笔记而非简单结论。重点强调技术调研应避免信息过载,通过证据溯源和实验验证保证结论可靠性,最终产出可供团队评审的决策依据而非笼统建议。该方法适用于框架选型、技术方案评估等场景,帮助程序员提升调研效率和质量。

2026-07-02 11:28:59 372

原创 第17讲|用 AI 做日志分析的高效套路

摘要: 《AI编程提效实战30讲》专栏分享了一套用AI高效分析线上日志的实战方法。核心步骤包括:1)提供问题背景(时间、影响范围、TraceId等);2)截取关键日志片段,避免噪声干扰;3)让AI区分“最早异常”(根因)与“连带异常”;4)生成可验证的“排查地图”,指导下一步动作;5)沉淀复盘模板。关键提示词需聚焦证据链整理(如时间线、异常分层),而非直接询问错误原因。通过结构化提问,AI能帮助程序员从海量日志中快速定位问题,并将排查过程转化为可复用的经验。文末提供完整提示词模板。

2026-07-01 11:37:26 256

原创 第16讲|API 联调时怎么把 AI 用到位

摘要: API联调的核心痛点是信息碎片化,AI的作用在于整合上下文,而非直接解决问题。本文提出5步工作流: 明确背景:提供完整接口信息(环境、方法、路径、鉴权等),区分已验证和未验证的部分。 生成可复现请求:让AI将描述转为curl或Postman样例,检查字段一致性(如sku_id vs skuId)。 对比预期与实际:定位差异(如HTTP 400报错),聚焦最可能的问题层级。 制定排查顺序:按“低成本→高成本”原则分步验证,避免无效尝试。 沉淀用例:整理成功请求、常见错误和自动化测试断言,便于后续复用。

2026-06-30 10:42:47 232

原创 第15讲|让 AI 帮你写脚本处理重复性工作

《AI编程提效实战:如何高效生成自动化脚本》摘要 程序员常面临耗时但重复的机械操作,如日志筛选、文件批量处理等。本文提供一套AI脚本生成方法论:首先判断任务是否适合脚本化(输入稳定、规则明确、可重复执行);其次需清晰定义输入输出格式、运行环境和异常处理;关键要让AI加入dry-run模式、运行日志和自测样例。通过结构化提示词(包含环境约束、安全要求和测试案例),可将日常重复操作转化为可靠脚本,显著提升效率。核心不是追求完美自动化,而是将碎片化手工操作转化为可复用的工程化解决方案。

2026-06-29 15:59:09 231

原创 第14讲|需求不清晰时,如何让 AI 反向追问

【摘要】AI编程提效的关键在于正确处理模糊需求。许多程序员直接让AI生成代码,导致结果不稳定,原因是需求描述不完整。本文提出一套结构化工作流:1)先让AI判断需求信息是否足够;2)按目标、范围、口径等6类约束AI的追问方向;3)对问题划分P0-P2优先级;4)将回答整理为包含10个要素的可执行方案。该方法能有效避免AI在上下文缺失时过早生成代码,适用于新功能开发、接口改造等场景。核心原则是:需求不清晰时,先让AI充当需求分析助手而非代码生成器。

2026-06-28 20:25:43 1065

原创 第13讲|如何让 AI 写出更像你风格的代码

本文针对AI生成代码风格与项目不一致的问题,提出了一套四步解决方案:1)提供2-3个同类代码样例让AI总结风格特征;2)将风格要求转化为硬性约束条件;3)在编码前让AI输出风格实现计划;4)生成代码后要求AI进行风格自查。文章强调,有效提示词应包含具体样例、明确约束和检查机制,而非笼统要求"保持风格一致"。通过将项目规范拆解为可执行的检查项,可显著减少代码返工,使AI输出更符合项目惯例的代码。

2026-06-27 10:34:02 360

原创 第12讲|如何搭建自己的 AI 代码知识库

摘要: 许多开发者用AI写代码时效果不稳定,主要原因是AI缺乏完整的项目上下文。解决方法是建立AI代码知识库,包含项目结构、核心模块、规范、常用命令和提示词模板,减少反复解释背景的时间。最小可行方案只需5个文件: 项目概览(技术栈、核心业务、AI注意事项) 模块地图(关键目录、入口文件、修改建议) 开发命令(启动、测试、构建等) 代码规范(接口、日志、测试等约束) 常用提示词(已验证的AI交互模板) 维护时绑定实际工作流,如新增模块后更新地图,踩坑后补充规范。知识库让AI生成更符合工程实践的代码,提升效率。

2026-06-26 11:01:43 339

原创 第11讲|用 AI 生成 SQL 时必须加的约束

AI生成SQL的核心风险在于"猜测"业务上下文,可能导致字段错误(如混淆users/t_member_account)、口径偏差(如"活跃用户"定义不清)、时间边界模糊等问题。为此需在提示词中明确6类约束:表结构约束、口径约束、安全约束、性能约束、输出约束、交互约束。完整提示词模板应包含上述要素,并建议先输出验证用SQL。示例中统计7天付费数据时,需明确时间范围、金额单位换算等细节,体现AI是效率工具而非业务真相验证者。

2026-06-25 12:01:17 369

原创 第10讲|程序员写周报的 AI 模板

本文针对程序员周报写作效率低下的痛点,提出结构化AI协作方案。通过5步法(事实整理→成果归类→风险说明→下周计划→口径润色),将散乱的工作记录转化为可追踪的交付成果。关键点包括:1)先整理事实再成文,避免AI输出空泛内容;2)用"对象-动作-结果-影响"框架改写流水账;3)将风险表述为"现状+影响+处理方案"的可执行项;4)最终周报需包含重点成果(3-5条)、进行中事项、风险阻塞和下周计划。

2026-06-24 18:56:33 196

原创 第9讲|如何让 AI 帮你做代码 Review

本文提出了一套高效的AI代码Review方法,建议从五个风险维度(需求实现、边界条件、旧逻辑、工程风险和测试缺口)进行结构化审查,而非泛泛而谈。作者强调应要求AI提供具体证据链(问题位置、触发条件、影响范围等),并按严重性分级(P0-P3),最终生成可执行的修改清单。这种方法能有效避免AI给出空泛建议,使其真正成为发现代码风险的有力工具,提升Review的实用性和可操作性。

2026-06-23 14:16:14 236

原创 第8讲|新需求拆解:让 AI 先给方案再写代码

AI编程提效的关键在于需求拆解而非急于生成代码。新需求常因边界模糊、异常场景缺失导致AI生成代码偏离实际,建议分五步:1)复述需求,明确目标与待确认点;2)列出技术实现前必须澄清的问题(如权限、数据结构);3)输出贴合项目的技术方案,标注风险;4)拆解为可执行的改动清单,控制范围;5)先定义验收标准再编码。核心逻辑是**“方案对齐比代码速度更重要”**,通过结构化提示词引导AI规避返工,后续将探讨如何用AI进行针对性代码审查。

2026-06-22 11:18:47 274

原创 第7讲|用 AI 快速定位线上 Bug 的思路模板

【摘要】本文提出一套AI辅助排查线上Bug的5步法,强调避免直接让AI猜测原因,而是建立从事实整理到假设验证的系统流程。关键步骤包括:1)结构化收集事实而非片段日志;2)构建时间线区分因果与巧合;3)生成可验证假设而非猜测;4)将假设拆解为具体验证动作;5)自动生成复盘草稿检验闭环。核心在于利用AI整理混乱信息为可执行清单,而非依赖其猜测。作者提供完整提示词模板,并建议重点关注时间线与最近变更的关联性,同时强调"同时发生≠因果关系"的排查原则,最终实现高效闭环的问题定位。

2026-06-21 14:39:15 941

原创 第6讲|如何让 AI 帮你补测试而不是制造脆弱测试

摘要: AI能有效辅助测试补全,但需避免生成脆弱、无价值的测试用例。关键在于引导AI聚焦业务风险,而非机械生成代码。本文提出5步工作流: 行为识别:让AI分析代码核心行为、边界条件与风险点,而非直接生成测试; 测试清单设计:按优先级(必测、边界、回归)排序用例,先审后写; 约束生成:限制过度Mock,断言业务结果而非实现细节; 断言解释:要求AI说明每个断言保护的业务逻辑,剔除无效测试; 可维护性检查:优化重复用例、命名及Mock合理性。

2026-06-20 14:22:28 426

原创 第5讲|写接口文档时最省时间的 AI 工作流

AI编程提效实战:四步工作流高效生成接口文档 许多团队写接口文档慢,问题在于“事后补写”,导致信息不准、版本混乱。本文提出一套四步AI工作流,将文档生产拆解为可验证的低风险环节: 提取接口事实:从代码抽取出路径、参数、响应等客观信息,标注不确定项; 补充联调内容:生成请求示例、成功响应及常见错误场景,优先解决调用问题; 整理异常边界:单独列出参数校验、业务状态等异常情况,避免后续返工; 组装正式文档:按模板转写已确认信息,确保结构统一。

2026-06-19 13:25:07 346

原创 第4讲|如何让 AI 生成更可靠的重构方案

摘要: AI参与代码重构时,直接修改代码易翻车,关键在于先制定可控的重构方案。作者提出5步流程:1)明确重构目标(如降低复杂度);2)定义必须保留的行为(如异常处理);3)要求AI输出风险清单;4)拆分小步计划(每步验证行为不变);5)设定验收条件。核心原则是**“先方案后代码”**,通过约束改动范围、保留回滚路径,确保重构安全可靠。提示词模板强调风险控制与工程思维,避免AI过度优化或破坏原有逻辑。(149字) 关键词: AI重构、代码优化、风险控制、分步验证、工程约束

2026-06-18 14:48:46 346

原创 第3讲|如何用 AI 快速读懂陌生项目的标准流程

摘要: 本文提出高效理解陌生代码项目的4步流程:1)明确具体业务问题范围;2)通过目录结构分析模块分层和入口;3)追踪最短主链路(如Controller→Service→Repository);4)生成可行动清单标注确认项与风险点。关键原则是避免直接阅读代码细节,而应先用AI进行结构化分析,要求其明确标注不确定点,每轮仅处理一类材料(目录/接口/核心代码)。该方法通过限定分析范围、固定提问模板(附实用提示词),解决传统"边猜边看"导致的路径迷失问题,尤其适合旧项目维护、线上问题排查等场景

2026-06-17 18:05:29 745

原创 第2讲|程序员高质量提示词的 5 个固定结构

《AI编程提效:程序员高质量提示词的 5 个固定结构》程序员使用AI工具时,核心痛点在于提示词质量不稳定。本文提出通过固化高频场景的提示词结构来提升效率,而非依赖临场发挥。通过结构化输入控制AI输出质量,比追求"完美提示词"更可持续。这种工程化思维正是程序员擅长的优势领域。

2026-06-16 14:56:26 284

原创 第1讲|为什么 AI 编程没有让你真正提效

《AI编程提效的关键:建立系统化工作流而非随机提问》 摘要:许多程序员使用AI编程工具时效率提升不明显,核心问题在于使用方式仍停留在碎片化提问阶段。文章指出四个常见误区:提问范围过大、忽视上下文理解、缺少验收标准、未形成固定流程。真正有效的AI编程应遵循四步法:1)先交代完整项目背景;2)让AI进行任务拆解而非直接编码;3)限定AI解决局部问题;4)设置明确验收标准。AI的最大价值在于缩短理解、拆解、验证等中间环节耗时,而非替代完整开发流程。建议固化3-5个常用提示词模板,将AI嵌入工程流程,从"

2026-06-15 16:48:23 438

原创 智能执行助手实战:技术文章自动发布到 CSDN 并联动公众号通知

通知主题可以直接复用文章标题,通知描述可以直接复用文章简述。这种方式既保证信息一致,也减少了额外加工成本。技术文章的价值,不仅在于内容本身,还在于能否被高效地发布和触达读者。通过智能执行助手,我们可以把文章创作、CSDN 发布和公众号通知串联成一条完整自动化链路。这不仅提升了内容分发效率,也为后续接入更多平台、实现更复杂的运营编排打下了基础。如果你正在构建 AI 工作流或自动化运营系统,这类能力非常值得优先落地。

2026-06-10 20:15:22 239

原创 互联网大厂Java面试故事实录:三轮场景化技术提问与详细答案解析

在内容社区,重点在于高并发处理、内容安全、数据一致性,如限流、事务、乐观锁等技术。电商场景需要异步消息、幂等控制、缓存、分布式服务注册与链路追踪,Kafka、Redis、Eureka/Consul、Zipkin/Jaeger是常见技术选型。医疗智能场景,安全合规与智能AI成为核心,数据加密、权限控制、API安全、RAG智能增强、系统高可用等都是大厂面试重点。面试现场紧张又不失幽默,谢飞机凭借他的“水货”功力,展开一场别开生面的答题之旅。“最后一轮,智慧医疗业务场景,涉及敏感数据,AI智能问答,安全合规。

2026-04-22 13:13:41 361

原创 互联网大厂Java求职面试全流程详解(含技术栈与业务场景)

内容社区新功能上线,需要快速搭建微服务。面试官评价:表现不错,理解自动配置流程并能提及。谢飞机回答:能说出自动配置是基于条件注解,具体实现描述欠缺。(本文版权归作者所有,欢迎转发分享,转载请注明出处)

2026-04-22 11:16:20 393

原创 互联网大厂Java求职面试全场景技术栈解析

本文通过面试官与搞笑程序员谢飞机的对话,模拟真实互联网大厂Java求职面试场景,涵盖丰富技术栈以及多种业务场景,帮助求职者透彻理解关键技术点。

2026-04-22 10:32:06 372

原创 使用Thumbnailator遇到异常:No suitable ImageReader found for source data

引入依赖后可能会解决第一种webp的问题,第二种问题依然无法解决,所以往往最普通的办法就是最使用的办法,这里通过最原始的流获取字节数组,将该字节数组读出到输出流并转换成字符串就是该二进制文件中所有的内容,即与原部分数据一致。base64,中截取image/jpeg。最后再使用new MockMultipartFile(),将字节数组转化为MultipartFile对象。通过java原生的Base64.getDecoder().decode(),转换成字节数组的形式,再将data:image/jpeg;

2024-01-30 14:44:16 2137 1

原创 Java中的日期类

Date、Calendar和LocalDateTime在Java中都是用于处理日期和时间的类,但它们之间存在一些区别。Date:这是Java 1.0提供的一个类,用于表示特定的时间点。它包含年、月、日、时、分、秒、毫秒的信息。然而,Date类在某些方面存在一些问题,例如它的线程安全性和对时区的处理方式。Calendar:这是Java 1.1提供的一个类,用于处理日期和时间。它提供了一种灵活的方式来表示和操作日期和时间。

2023-12-22 16:34:55 1255

原创 java.lang.UnsupportedOperationException分析及解决

这里从UnmodifiableList的源码来分析:除了equals、hashCode、get、indexOf、lastIndexOf等方法外,其他方法都会抛出UnsupportedOperationException()异常,而这些方法的共同点都是返回该list的属性,说明UnmodifiableList是一个只读的集合,因此对这个List不能进行添加或删除元素等操作。如果需要将list转化为不可变的集合,Collections也提供了这样的方法,最终转化为UnmodifiableList。

2023-12-21 10:47:57 8593

原创 SQL进阶 | 外连接

SQL 不是用来生成报表的语言,所以不建议用它来进行格式转换。必要时考虑用外连接或 CASE 表达式来解决问题。生成嵌套式表侧栏时,如果先生成主表的笛卡儿积再进行连接,很容易就可以完成。从行数来看,表连接可以看成乘法。因此,当表之间是一对多的关系时,连接后行数不会增加。外连接的思想和集合运算很像,使用外连接可以实现各种集合运算。

2023-12-14 11:02:15 1890

原创 SQL进阶 | HAVING子句

表不是文件,记录也没有顺序,所以 SQL 不进行排序。SQL 不是面向过程语言,没有循环、条件分支、赋值操作。SQL 通过不断生成子集来求得目标集合。SQL 不像面向过程语言那样通过画流程图来思考问题,而是通过画集合的关系图来思考。GROUP BY 子句可以用来生成子集。WHERE 子句用来调查集合元素的性质,而 HAVING 子句用来调查集合本身的性质。

2023-12-13 10:27:54 16672 2

原创 SQL进阶 | 三值逻辑与NULL

NULL 不是值。因为 NULL 不是值,所以不能对其使用谓词。对 NULL 使用谓词后的结果是 unknown。unknown 参与到逻辑运算时,SQL 的运行会和预想的不一样。解决 NULL 带来的各种问题,最佳方法应该是往表里添加 NOT NULL 约束来尽力排除 NULL。

2023-12-12 11:14:48 2526

原创 SQL进阶 | 自连接

自连接经常和非等值连接结合起来使用。自连接和 GROUP BY 结合使用可以生成递归集合。将自连接看作不同表之间的连接更容易理解。应把表看作行的集合,用面向集合的方法来思考。自连接的性能开销更大,应尽量给用于连接的列建立索引。

2023-12-11 15:43:15 6293 3

原创 SQL进阶 | CASE表达式

SQL中的CASE表达式是一种通用的条件表达式,类似于其他语言中的if/else语句。它用于在SQL语句中实现条件逻辑。CASE表达式以WHEN子句开始,后面跟着一个或多个WHEN条件,每个WHEN条件后面跟着一个THEN子句。如果任何WHEN条件为真,则返回相应的THEN子句中的表达式。如果没有任何WHEN条件为真,则可以选择性地使用ELSE子句来指定一个默认的表达式。-- 简单 CASE 表达式CASE sexWHEN '1' THEN '男'WHEN '2' THEN '女'

2023-12-08 17:10:19 10644 2

原创 当发送“Hello,World”时,channel发生了什么?

Netty 是一个异步的、基于事件驱动的网络应用框架,用于快速开发可维护、高性能的网络服务器和客户端。

2023-12-05 17:12:04 1150

原创 MybatisPlus中的使用Wrapper自定义SQL

需要版本 >=3.0.7param 参数名要么叫ew,要么加上注解使用不支持Wrapper内的entity生成where语句。实例MySQL数据库中表内容如下:User实体类@DataUserMapper接口// 使用 QueryWrapper 自定义update// 使用 LambdaQueryWrapper 自定义update// 使用 LambdaQueryWrapper 自定义selectemail

2023-12-05 10:09:40 5179

原创 网络编程NIO中的阻塞与非阻塞

在NIO多路复用中,当一个线程调用选择器的select()方法时,选择器会阻塞等待,直到有已注册的通道就绪(可以执行读或写操作)。然后选择器会返回一个就绪通道的集合,线程可以遍历这个集合,对每个就绪的通道执行相应的IO操作。这样,一个线程就可以同时处理多个网络连接,提高了处理能力和并发性。非阻塞模式下,线程要执行I/O操作时,只需在等待操作完成期间保持响应,处理其他任务。阻塞模式下,线程要执行I/O操作时,必须等待I/O操作完成,才能向下运行。异步:线程自己不去获取结果,由其他线程去获取。

2023-12-01 08:17:39 748

原创 如何修改docker容器中的MySQL数据库的密码?

修改docker容器中的MySQL数据库的密码

2023-11-04 20:46:17 927

空空如也

空空如也

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

TA关注的人

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