<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>编码Log · CODE × LOG</title><description>编程 · 架构 · 随笔 —— 一名工程师的技术手记</description><link>http://localhost:4321/</link><language>zh-CN</language><item><title>双向代数效应：一种统一异常、Promise 与生成器的新编程抽象</title><link>http://localhost:4321/posts/bidirectional-algebraic-effects/</link><guid isPermaLink="true">http://localhost:4321/posts/bidirectional-algebraic-effects/</guid><description>滑铁卢大学助理教授 Yizhou Zhang 在 SPLASH 2020 上提出的双向代数效应（bidirectional algebraic effects）：一种能涵盖现有控制流模式、支持双向控制转移，并能静态保证&quot;所有已声明效应都被处理、且不会被错误处理&quot;的类型化抽象。</description><pubDate>Sun, 18 Oct 2026 00:00:00 GMT</pubDate><category>编程</category><category>代数效应</category><category>编程语言</category><category>控制流</category><category>翻译</category></item><item><title>如何编译模式匹配：从 match 到决策树</title><link>http://localhost:4321/posts/how-to-compile-pattern-matching/</link><guid isPermaLink="true">http://localhost:4321/posts/how-to-compile-pattern-matching/</guid><description>Jules Jacobs 的一篇小笔记，讲清楚如何把 ML 风格的模式匹配编译成不做冗余测试的决策树——子问题分解、变量测试下沉，以及用启发式避免代码爆炸。</description><pubDate>Sun, 18 Oct 2026 00:00:00 GMT</pubDate><category>编程</category><category>模式匹配</category><category>编译器</category><category>函数式编程</category><category>翻译</category></item><item><title>类比 CSS 来学习 rust eframe 布局</title><link>http://localhost:4321/posts/eframe-egui-layout-for-frontend/</link><guid isPermaLink="true">http://localhost:4321/posts/eframe-egui-layout-for-frontend/</guid><description>egui eframe 的布局 ，几乎都能对应到 flex、grid 和固定定位。从前端的角度讲解 eframe = &quot;0.36&quot; 的布局 API。</description><pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate><category>前端</category><category>Rust</category><category>egui</category></item><item><title>Agent 压缩上下文时，最贵的那一次请求</title><link>http://localhost:4321/posts/agent-compaction-prompt-cache/</link><guid isPermaLink="true">http://localhost:4321/posts/agent-compaction-prompt-cache/</guid><description>prompt cache 是前缀匹配，压缩请求一旦换了 tools 或 system，就等于把十几万 token 按原价重读一遍。翻完九个 agent 的源码后，这里是一份能直接照做的清单。</description><pubDate>Sat, 10 Oct 2026 00:00:00 GMT</pubDate><category>编程</category><category>Prompt Cache</category><category>LLM</category><category>上下文压缩</category></item><item><title>从单体到微服务：一次架构拆分的得与失</title><link>http://localhost:4321/posts/monolith-to-microservices/</link><guid isPermaLink="true">http://localhost:4321/posts/monolith-to-microservices/</guid><description>拆分不是目的，边界才是。记录一次真实项目中服务拆分的决策过程与复盘。</description><pubDate>Wed, 12 Mar 2025 00:00:00 GMT</pubDate><category>架构</category><category>微服务</category></item><item><title>Rust 所有权机制：写给被借用检查器折磨的你</title><link>http://localhost:4321/posts/rust-ownership/</link><guid isPermaLink="true">http://localhost:4321/posts/rust-ownership/</guid><description>从内存模型出发理解 ownership 与 lifetime，让编译器从对手变成队友。</description><pubDate>Fri, 28 Feb 2025 00:00:00 GMT</pubDate><category>编程</category><category>Rust</category></item><item><title>用 Astro 搭建一个 0 JS 负担的内容站</title><link>http://localhost:4321/posts/astro-zero-js/</link><guid isPermaLink="true">http://localhost:4321/posts/astro-zero-js/</guid><description>Islands 架构如何做到默认零 JS？从构建原理到部署优化的完整实践。</description><pubDate>Sun, 09 Feb 2025 00:00:00 GMT</pubDate><category>前端</category><category>Astro</category></item><item><title>数据库索引设计的七条军规</title><link>http://localhost:4321/posts/mysql-index-rules/</link><guid isPermaLink="true">http://localhost:4321/posts/mysql-index-rules/</guid><description>B+ 树、最左前缀与覆盖索引：从慢查询日志里总结出的设计准则。</description><pubDate>Fri, 17 Jan 2025 00:00:00 GMT</pubDate><category>后端</category><category>MySQL</category></item><item><title>我给团队做 Code Review 的 checklist</title><link>http://localhost:4321/posts/code-review-checklist/</link><guid isPermaLink="true">http://localhost:4321/posts/code-review-checklist/</guid><description>可读性优先于技巧。一份在团队里跑了两年的评审清单。</description><pubDate>Fri, 03 Jan 2025 00:00:00 GMT</pubDate><category>随笔</category><category>工程文化</category></item><item><title>领域驱动设计在中台的落地误区</title><link>http://localhost:4321/posts/ddd-pitfalls/</link><guid isPermaLink="true">http://localhost:4321/posts/ddd-pitfalls/</guid><description>限界上下文不是组织架构图。聊聊 DDD 落地时最常见的三个认知偏差。</description><pubDate>Mon, 05 Aug 2024 00:00:00 GMT</pubDate><category>架构</category><category>DDD</category><category>中台</category></item><item><title>我如何做技术选型：一张决策清单</title><link>http://localhost:4321/posts/tech-selection/</link><guid isPermaLink="true">http://localhost:4321/posts/tech-selection/</guid><description>技术选型的本质不是选最好的，而是选&quot;输得起&quot;的。一张可以直接抄的决策清单。</description><pubDate>Thu, 14 Mar 2024 00:00:00 GMT</pubDate><category>随笔</category><category>工程文化</category></item><item><title>把 If 上推，把 For 下推</title><link>http://localhost:4321/posts/push-ifs-up-fors-down/</link><guid isPermaLink="true">http://localhost:4321/posts/push-ifs-up-fors-down/</guid><description>两条朴素的编码经验法则：把条件判断推向调用方，把批处理留在被调用方——前者收敛控制流，后者摊薄成本。</description><pubDate>Wed, 15 Nov 2023 00:00:00 GMT</pubDate><category>编程</category><category>性能优化</category><category>重构</category></item><item><title>从零设计一个短链服务</title><link>http://localhost:4321/posts/short-url-service/</link><guid isPermaLink="true">http://localhost:4321/posts/short-url-service/</guid><description>发号器、302 跳转、缓存与防刷：一个经典系统设计题的完整推演。</description><pubDate>Mon, 02 Oct 2023 00:00:00 GMT</pubDate><category>架构</category><category>系统设计</category></item><item><title>写代码这五年，我删掉最多的东西</title><link>http://localhost:4321/posts/five-years-deleting-code/</link><guid isPermaLink="true">http://localhost:4321/posts/five-years-deleting-code/</guid><description>好代码是删出来的。五年里我删掉的四样东西，比写下的任何东西都值钱。</description><pubDate>Thu, 18 May 2023 00:00:00 GMT</pubDate><category>随笔</category><category>工程文化</category></item></channel></rss>