[{"data":1,"prerenderedAt":88},["ShallowReactive",2],{"content:articles":3},[4,15,27,39,50,60,69,79],{"title":5,"description":6,"date":7,"category":8,"tags":9,"path":13,"cover":14},"把博客做成纯静态：Nuxt 4 生成 + Nginx 托管","这个站点本身的实现笔记：为什么选静态生成而不是 SPA，以及 Nginx 上要注意的三件事。","2026-09-06","前端工程",[10,11,12],"Nuxt","静态站点","Nginx","\u002Farticles\u002Fnuxt-static-blog","\u002Fimages\u002Fcovers\u002Fnuxt-static-blog.jpg",{"title":16,"description":17,"date":18,"category":19,"tags":20,"path":25,"cover":26},"Spring 事务为什么没按预期回滚：沿着调用边界排查","从扣库存与创建订单的例子，解释代理、自调用、异常规则、线程边界和远程操作的事务范围。","2026-02-27","后端架构",[21,22,23,24],"Java","Spring","事务","数据库","\u002Farticles\u002Fspring-transaction-boundary","\u002Fimages\u002Fcovers\u002Fbackend-series.jpg",{"title":28,"description":29,"date":30,"category":31,"tags":32,"path":37,"cover":38},"Agent 工程化暗坑实录：CGLIB 代理、手动日志、Guardrails 与 Eval","能跑和能用之间的一整个平台工程","2026-01-26","LLM 应用",[33,34,35,36],"工程化","可观测性","安全","评测","\u002Farticles\u002Fagent-engineering-pitfalls","\u002Fimages\u002Fcovers\u002Fagent-engineering-pitfalls.jpg",{"title":40,"description":41,"date":42,"category":31,"tags":43,"path":48,"cover":49},"RAG 落地实录：pgvector、增量索引、调参和中文别名那点事","从二十行 Demo 到生产可用的距离","2025-12-15",[44,45,46,47],"RAG","pgvector","检索调优","中文 NLP","\u002Farticles\u002Frag-pgvector-in-production","\u002Fimages\u002Fcovers\u002Frag-pgvector-in-production.jpg",{"title":51,"description":52,"date":53,"category":31,"tags":54,"path":58,"cover":59},"Agent 的记忆，不止 ChatMemory：从五轮对话到带冲突检测的记忆系统","五段式记忆管道与三起污染事故","2025-11-20",[55,56,57],"Agent 记忆","长期记忆","LangChain4j","\u002Farticles\u002Fagent-memory-pipeline","\u002Fimages\u002Fcovers\u002Fagent-memory-pipeline.jpg",{"title":61,"description":62,"date":63,"category":19,"tags":64,"path":68,"cover":26},"Java 虚拟线程为什么不等于无限并发：从等待型任务说起","用完整的 Java 21 示例理解虚拟线程、Semaphore 和下游保护，并区分 JDK 21 与 JDK 24 的 pinning 行为。","2025-11-18",[21,65,66,67],"并发","虚拟线程","后端","\u002Farticles\u002Fjava-virtual-threads-and-backpressure",{"title":70,"description":71,"date":72,"category":31,"tags":73,"path":77,"cover":78},"别让 Agent 直接动手：我用\"草稿-确认\"双阶段管住高风险操作","一次越权事故的完整复盘","2025-10-08",[74,75,76],"Agent 安全","工具设计","Human-in-the-loop","\u002Farticles\u002Fagent-draft-confirm-safety","\u002Fimages\u002Fcovers\u002Fagent-draft-confirm-safety.jpg",{"title":80,"description":81,"date":82,"category":31,"tags":83,"path":86,"cover":87},"用了 LangChain4j 之后，我为什么还是感觉在\"手搓\"Agent","框架的能力边界与四个撞墙瞬间","2025-09-14",[84,57,85],"Agent","架构设计","\u002Farticles\u002Flangchain4j-agent-boundaries","\u002Fimages\u002Fcovers\u002Flangchain4j-agent-boundaries.jpg",1792063306666]