加载中...
加载中...
开发笔记,踩坑记录,技术实践
最近排查了一次前端偶发白屏问题,最后发现问题并不在 Vue,也不完全是浏览器缓存,而是静态资源的发布方式:每次上线前先清空对象存储,再重新上传构建产物。这个看起来再普通不过的发布流程,在 Hash 文件、动态 Chunk 和 CDN 同时存在时,其实埋着一个很容易被忽略的资源一致性问题。
之前聊执行层 MCP 的时候我说过:MCP 给 AI 一双手,让它能碰真实系统。但光有手还不够。手会干活是一回事,干得符不符合你的标准、踩不踩你过去踩过的坑,是另一回事。Skill 解决的就是这个问题——把"这个 Agent 应该怎么干活"固化下来,而不是每次重新教一遍。这篇文章整理了一套适合全栈开发的 Skill 组合,以及如何把团队经验沉淀成自己的 Skill。
很多人第一次接触 MCP,想到的是查文档、搜知识库、读取文件。但如果 MCP 只能让 AI "知道更多",它的价值其实还没有完全发挥出来。真正让我觉得 MCP 开始变得有意思的,是它逐渐下沉到了执行层:操作浏览器、提交代码、管理 Kubernetes、执行数据库查询、触发基础设施变更。当 AI 从"告诉你怎么做"走向"自己做完并验证结果",AI 编程的形态也开始发生变化。
用了一段时间 Codex、Claude Code 之后,我越来越觉得,AI 编程体验的差距已经不完全来自模型本身。同一个模型,有的人还在让它一遍遍读文件、猜 API、等自己截图反馈,有的人已经让 AI 自己理解代码结构、查最新文档、操作浏览器、验证页面、分析 GitHub Issue。真正值得折腾的,可能不是再换一个模型,而是给 AI 配一套更好的"手和眼睛"。
“浏览器输入一个 URL 之后发生了什么”曾经是一道经典面试题:DNS、TCP、TLS、HTTP、浏览器渲染,背熟一条链路似乎就够了。但到了 2026 年,这个答案已经越来越不像一条固定流程。HTTP/3、QUIC、DoH、CDN、边缘节点、Service Worker、缓存、连接复用,都可能让一次普通访问走上不同路径。真正值得理解的,已经不是那张固定流程图,而是浏览器究竟在做哪些判断。
真正拉开差距的,也许不是知道更多,而是持续改变自己的行动方式。
从大学啃 Java、打竞赛,到后来进入职场,我一直很享受写代码和研究技术的过程。那时候一个 Bug 能卡一下午,一项新技术要自己翻书、看视频、搜博客,一点一点磕下来。如今,很多曾经需要一晚上才能搞定的事情,一句话交给 AI 就能实现。技术依然重要,但技术本身已经没有过去那么稀缺。到了 2026 年,我开始重新审视自己的工作方式,也重新思考:一个程序员真正值得长期积累的,到底是什么?
OpenCode 经常被称为“开源版 Claude Code”,但真正用下来会发现,两者并不是简单的平替关系。Claude Code 更像一套围绕 Claude 深度优化的完整编程产品,而 OpenCode 更接近一个开放、可组合的 Coding Agent 平台。本文从模型支持、架构、插件、MCP、成本和实际使用场景几个方面,聊聊两者真正的差异。
AI 编程 Agent 正在快速接管越来越多标准化编码工作。当“把代码写出来”逐渐变得廉价,程序员真正值得长期积累的能力也在发生变化。相比追逐某一种语言、框架或 AI 工具,产品思维与复杂问题解决能力,可能是更值得长期投入的两条主线。
接口上线后被 WAF 拦截,应用日志却干干净净。WAF 到底凭什么判断一个请求是恶意还是正常?为什么经常有误杀?本文从 WAF 的部署位置、检测原理(正则→语义分析→机器学习)、请求处理流程到误报原因,用工程视角解释清楚了 WAF 的工作机制。理解这些之后,再遇到 403 拦截,排查思路会清晰很多。