<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>来两杯美式</title><description>持续分享关于 Agent Runtime、RAG、以及长期记忆系统的代码实践与架构思考。</description><link>https://evo8.cn/</link><item><title>MCP 爆炸之后，Agent 怎么从一堆工具里选对那一个</title><link>https://evo8.cn/posts/mcp-tool-selection-funnel/</link><guid isPermaLink="true">https://evo8.cn/posts/mcp-tool-selection-funnel/</guid><description>MCP 工具数量快速增长后，Agent 工具调用的难点从接入能力变成筛选能力。本文拆解静态过滤、动态匹配、候选池 Top-K、模型决策、参数约束和执行兜底，说明如何设计一套可扩展的工具选择漏斗。</description><pubDate>Wed, 02 Sep 2026 02:00:00 GMT</pubDate></item><item><title>MCP Client 升级 2026-07-28：服务端能留兼容窗口，我们偏不兼容旧协议</title><link>https://evo8.cn/posts/mcp-2026-07-28-client-upgrade-practice/</link><guid isPermaLink="true">https://evo8.cn/posts/mcp-2026-07-28-client-upgrade-practice/</guid><description>本文复盘一次企业内部 MCP Client 升级到 2026-07-28 的实践：如何固定协议版本、接入 Streamable HTTP、按用户隔离连接缓存，并处理工具同步、调用错误和重连恢复。</description><pubDate>Tue, 01 Sep 2026 05:20:00 GMT</pubDate></item><item><title>MCP Server 升级 2026-07-28：不是换依赖，而是重画协议边界</title><link>https://evo8.cn/posts/mcp-2026-07-28-nextjs-upgrade-practice/</link><guid isPermaLink="true">https://evo8.cn/posts/mcp-2026-07-28-nextjs-upgrade-practice/</guid><description>本文复盘一次 Next.js MCP Server 升级到 MCP 2026-07-28 的真实实践：如何从会话式兼容实现迁到无状态协议，并处理双协议路由、认证上下文、OAuth 元数据和客户端兼容。</description><pubDate>Mon, 31 Aug 2026 05:00:00 GMT</pubDate></item><item><title>Agent 评测工程化（九）：把一次性评测变成持续优化体系</title><link>https://evo8.cn/posts/agent-eval-9-continuous-quality-loop/</link><guid isPermaLink="true">https://evo8.cn/posts/agent-eval-9-continuous-quality-loop/</guid><description>Agent 评测的长期价值不是生成一次报告，而是沉淀规则、样本、问题簇、验收案例和版本对比能力。本文讲如何把黑盒评测接入发布前回归、上线后抽样和 Rubric 迭代。</description><pubDate>Fri, 28 Aug 2026 02:00:00 GMT</pubDate></item><item><title>Agent 评测工程化（八）：不用消息队列，也能跑长任务</title><link>https://evo8.cn/posts/agent-eval-8-long-running-eval-tasks/</link><guid isPermaLink="true">https://evo8.cn/posts/agent-eval-8-long-running-eval-tasks/</guid><description>批量 Agent 评测是典型长任务，但中等吞吐场景不一定先上消息队列。本文讲如何用数据库任务表、原子领取、阶段状态、行级诊断、覆盖率和失败恢复支撑 Rubric 评测任务。</description><pubDate>Thu, 27 Aug 2026 02:00:00 GMT</pubDate></item><item><title>Agent Skills 最佳实践：从评测、结构拆分到安全审查</title><link>https://evo8.cn/posts/agent-skills-3-best-practices/</link><guid isPermaLink="true">https://evo8.cn/posts/agent-skills-3-best-practices/</guid><description>本文整理 Anthropic 对 Agent Skills 的开发和评估建议，介绍如何从真实任务出发构建 Skill，如何做渐进式拆分，以及如何控制代码执行带来的风险。</description><pubDate>Thu, 20 Aug 2026 03:50:00 GMT</pubDate></item><item><title>Agent 评测工程化（七）：从评分报表到 PM 决策工作台</title><link>https://evo8.cn/posts/agent-eval-7-pm-decision-workbench/</link><guid isPermaLink="true">https://evo8.cn/posts/agent-eval-7-pm-decision-workbench/</guid><description>Agent 评测报告不能只展示分数和图表，还要帮助 PM 判断是否健康、问题在哪、怎么优化。本文讲评分分布、规则遵循率、红线报告、证据下钻、行动项和人工决策的报告设计。</description><pubDate>Thu, 20 Aug 2026 02:00:00 GMT</pubDate></item><item><title>AI Native 不是工具升级，而是组织重写</title><link>https://evo8.cn/posts/ai-native-not-tool-upgrade-but-org-rewrite/</link><guid isPermaLink="true">https://evo8.cn/posts/ai-native-not-tool-upgrade-but-org-rewrite/</guid><description>解读朴谷咨询《AI Native 不是工具升级，而是组织重写》报告：AI 转型的瓶颈不在技术而在组织，AI 是放大镜而非矫正器，决策权让渡才是深水区，并附工程视角的补充与两点保留意见。</description><pubDate>Tue, 18 Aug 2026 02:00:00 GMT</pubDate></item><item><title>Agent Skills 设计模式：用文件夹给 Agent 装上专业能力</title><link>https://evo8.cn/posts/agent-skills-2-design-pattern/</link><guid isPermaLink="true">https://evo8.cn/posts/agent-skills-2-design-pattern/</guid><description>本文学习 Anthropic 工程文章中 Agent Skills 的设计模式，解释 SKILL.md、渐进式披露、上下文加载和脚本执行如何共同组成可扩展的 Agent 能力系统。</description><pubDate>Sat, 15 Aug 2026 03:40:00 GMT</pubDate></item><item><title>DeepSeek Harness：把 Agent 宿主变成可组合的基础设施，企业能拿它做什么</title><link>https://evo8.cn/posts/deepseek-harness-enterprise-analysis/</link><guid isPermaLink="true">https://evo8.cn/posts/deepseek-harness-enterprise-analysis/</guid><description>DeepSeek 于 2026 年 8 月开源了 Agent 执行编排框架 DeepSeek Harness：Cordis 内核 + 一切皆插件 + 全量可追溯的会话日志 + 四种运行模式。本文拆解它的架构设计，并逐一分析企业场景能落地什么：私有化编码助手、内部能力插件化、审计合规、模型选型评测，以及当前阶段的风险边界。</description><pubDate>Sat, 15 Aug 2026 02:00:00 GMT</pubDate></item><item><title>AI 背下了所有关于猫的知识，却没摸过一只猫</title><link>https://evo8.cn/posts/human-value-in-ai-era/</link><guid isPermaLink="true">https://evo8.cn/posts/human-value-in-ai-era/</guid><description>AI 能把 32 种疾病里的 28 种诊断得比人类医生更好，却不知道抱一只猫是什么感受。默会知识写不进语料库，中文屋里没有人懂中文——本文用认知科学拆解 AI 与人的原理性边界，谈 AI 时代人的价值：体验、判断与连接。</description><pubDate>Wed, 12 Aug 2026 02:00:00 GMT</pubDate></item><item><title>Anthropic 发布 Agent Skills：AI Agent 的能力该如何被打包</title><link>https://evo8.cn/posts/agent-skills-1-anthropic-skills-release/</link><guid isPermaLink="true">https://evo8.cn/posts/agent-skills-1-anthropic-skills-release/</guid><description>本文学习 Anthropic 发布 Agent Skills 的产品文章，梳理 Skills 的定义、工作方式、核心价值、产品入口和安全提醒。</description><pubDate>Tue, 11 Aug 2026 03:30:00 GMT</pubDate></item><item><title>MCP 2026-07-28 改了什么：从有状态会话到无状态核心</title><link>https://evo8.cn/posts/mcp-2026-07-28-stateless-core/</link><guid isPermaLink="true">https://evo8.cn/posts/mcp-2026-07-28-stateless-core/</guid><description>MCP 2026-07-28 完成史上最大架构升级：废除握手与协议层 Session，转向无状态核心，并引入 Header 路由、TTL 缓存、MRTR 多轮往返与 OAuth 2.1 加固。本文梳理核心变更与各自解决的工程痛点。</description><pubDate>Wed, 05 Aug 2026 02:00:00 GMT</pubDate></item><item><title>SEO 之后是 GEO：当搜索变成「跟 AI 对话」，品牌怎么被看见</title><link>https://evo8.cn/posts/generative-search-optimization-geo-veo-aeo/</link><guid isPermaLink="true">https://evo8.cn/posts/generative-search-optimization-geo-veo-aeo/</guid><description>消费者正在从「看买家评论」转向「直接问 AI 买哪个」。这种变化催生了一门新生意：生成式搜索引擎优化 GEO，以及更进一步的 VEO、AEO。品牌若不能被 AI 收录和推荐，就会在下一代搜索里隐身。</description><pubDate>Tue, 04 Aug 2026 02:00:00 GMT</pubDate></item><item><title>Agent 评测工程化（六）：评测前，先把 Agent 输出拆开</title><link>https://evo8.cn/posts/agent-eval-6-output-parsing-context/</link><guid isPermaLink="true">https://evo8.cn/posts/agent-eval-6-output-parsing-context/</guid><description>真实 Agent 输出往往不是一段纯文本，而是混有多轮上下文、思考痕迹、正式答案、卡片和推荐问题。本文讲黑盒评测前如何还原会话、解析输出结构，并避免把不可评分内容误算进质量结论。</description><pubDate>Mon, 03 Aug 2026 03:00:00 GMT</pubDate></item><item><title>Agent 评测工程化（五）：让 LLM-as-judge 稳定输出结构化结果</title><link>https://evo8.cn/posts/agent-eval-5-structured-judge-output/</link><guid isPermaLink="true">https://evo8.cn/posts/agent-eval-5-structured-judge-output/</guid><description>LLM 可以判断 Agent 回复是否符合规则，但不能把协议边界交给 prompt。本文讲如何用严格 JSON Schema、服务端校验、扁平输出、规则补齐、一次修复和失败隔离，让评测结果稳定入库。</description><pubDate>Mon, 03 Aug 2026 02:00:00 GMT</pubDate></item><item><title>Agent 评测工程化（四）：红线、一票否决与 1-5 分</title><link>https://evo8.cn/posts/agent-eval-4-scoring-red-lines/</link><guid isPermaLink="true">https://evo8.cn/posts/agent-eval-4-scoring-red-lines/</guid><description>Agent 评测里的分数不能只是模型主观判断。本文讲如何设计 1-5 分评分体系、红线一票否决、规则命中分、referenceBasis 和规则遵循率，让每个低分都能回溯到具体质量要求。</description><pubDate>Mon, 03 Aug 2026 01:00:00 GMT</pubDate></item><item><title>企业 AI 落地：先问 Why/What/How，再谈规模化</title><link>https://evo8.cn/posts/ai-adoption-why-what-how/</link><guid isPermaLink="true">https://evo8.cn/posts/ai-adoption-why-what-how/</guid><description>七成到八成的 AI 试点项目永远停在试点阶段，根因不是技术，而是流程。硅谷创投教父 Steven Hoffman 给出的解法是：不追求完美计划、不穷尽用例、从 Why/What/How 三问出发、小处着手选可衡量 ROI 的场景。本文拆解这套落地方法论。</description><pubDate>Fri, 24 Jul 2026 02:00:00 GMT</pubDate></item><item><title>Agent 评测工程化（三）：从低分样本到问题簇</title><link>https://evo8.cn/posts/agent-eval-3-problem-clustering/</link><guid isPermaLink="true">https://evo8.cn/posts/agent-eval-3-problem-clustering/</guid><description>逐条评分只是 Agent 评测的原材料，真正能推动修复的是问题簇。本文讲如何按意图和规则聚合低分样本，设计红线、主问题、观察区，计算优先级并生成可验收的优化行动项。</description><pubDate>Mon, 20 Jul 2026 02:00:00 GMT</pubDate></item><item><title>Agent 评测工程化（二）：Rubric 不是 Prompt，而是可执行的质量协议</title><link>https://evo8.cn/posts/agent-eval-2-rubric-engineering/</link><guid isPermaLink="true">https://evo8.cn/posts/agent-eval-2-rubric-engineering/</guid><description>Agent 评测不能只把专家规则塞进 prompt。本文基于真实黑盒评测平台实践，讲如何把领域标准工程化为 Rubric：规则 ID、意图体系、红线、可观测性、版本快照和结构化校验。</description><pubDate>Sun, 19 Jul 2026 02:00:00 GMT</pubDate></item><item><title>Agent 评测工程化（一）：为什么不能只看平均分</title><link>https://evo8.cn/posts/agent-eval-1-beyond-average-score/</link><guid isPermaLink="true">https://evo8.cn/posts/agent-eval-1-beyond-average-score/</guid><description>Agent 评测如果只看平均分，很容易掩盖低频高危问题，也无法指导团队改造。本文基于真实黑盒评测平台实践，讲如何把质量评估拆成健康度、红线风险、规则遵循率和优化优先级。</description><pubDate>Sun, 19 Jul 2026 01:00:00 GMT</pubDate></item><item><title>AI 是不是泡沫，根本不重要</title><link>https://evo8.cn/posts/ai-bubble-volatility-vs-empowerment/</link><guid isPermaLink="true">https://evo8.cn/posts/ai-bubble-volatility-vs-empowerment/</guid><description>OpenAI 估值 5000 亿美元，四大科技巨头 2026 年资本开支合计超 7000 亿，一半投资人担心这是泡沫。但卡洛塔·佩雷斯的技术革命史表明：泡沫是基础设施的融资机制，破裂清算的是投机者，留下的是技术。本文谈企业真正该关心的判断。</description><pubDate>Wed, 15 Jul 2026 02:00:00 GMT</pubDate></item><item><title>企业 AI 推不动的四个认知误区：降本、技术、底座与数据</title><link>https://evo8.cn/posts/ai-adoption-cognitive-misconceptions/</link><guid isPermaLink="true">https://evo8.cn/posts/ai-adoption-cognitive-misconceptions/</guid><description>很多企业 AI 落地推不动，卡的不是技术而是认知。本文拆解四个最常见的认知误区：把 AI 当降本工具、当纯技术问题、当要重投入的基建、当大数据工程，逐一说明错在哪，以及正确的出发点应该是什么。</description><pubDate>Fri, 10 Jul 2026 02:00:00 GMT</pubDate></item><item><title>AI Agent：从工具到同事，中间隔着一层「自主性」</title><link>https://evo8.cn/posts/ai-agent-tool-to-colleague/</link><guid isPermaLink="true">https://evo8.cn/posts/ai-agent-tool-to-colleague/</guid><description>聊天机器人回答你的问题，AI Agent 却能接下一个目标、自己拆解规划、跨系统执行。「设定目标」四个字，划出了这条分界线。本文讲 Agent 与聊天机器人的本质区别，以及它为什么值得被当作同事而非工具。</description><pubDate>Sun, 05 Jul 2026 02:00:00 GMT</pubDate></item><item><title>企业 AI 落地的成熟度分层：L1 到 L4，你的组织在哪一层</title><link>https://evo8.cn/posts/ai-adoption-maturity-l1-l4/</link><guid isPermaLink="true">https://evo8.cn/posts/ai-adoption-maturity-l1-l4/</guid><description>企业 AI 落地常被误判成「有没有在用 AI」。本文引入 L1 到 L4 四层成熟度模型，拆解岗位级、场景级、产品增强与原生 AI 产品的本质区别，帮你看清组织当前所处层级，以及 L1 到 L2 这道最难跨的鸿沟。</description><pubDate>Sun, 28 Jun 2026 02:00:00 GMT</pubDate></item><item><title>走向 AI Native：原生 AI 产品与垂直壁垒，企业转型的终点</title><link>https://evo8.cn/posts/ai-native-product-organization/</link><guid isPermaLink="true">https://evo8.cn/posts/ai-native-product-organization/</guid><description>企业 AI 转型的终点不是「用上 AI 工具」，而是成为 AI Native 组织。本文拆解从「产品+AI」到「原生 AI 产品」的本质跃迁，说明垂直化如何建立护城河，并给出组织从工具使用者走向 AI 原生的落地路径。</description><pubDate>Thu, 25 Jun 2026 02:00:00 GMT</pubDate></item><item><title>AI 组织转型：为什么「全员用 AI」和「通用方案」都是陷阱</title><link>https://evo8.cn/posts/ai-organization-transformation/</link><guid isPermaLink="true">https://evo8.cn/posts/ai-organization-transformation/</guid><description>企业做 AI 组织转型，最容易掉进「全员用 AI」和「行业级通用方案」两个陷阱。本文拆解执行层面的四个误区，说明为什么组织转型要看端到端流程的流动性、按「有效性—完备性—严谨性」的顺序推进，而不是追求单点提效。</description><pubDate>Sun, 21 Jun 2026 02:00:00 GMT</pubDate></item><item><title>Agent 刚才干了什么：审计、调用日志与敏感数据豁免</title><link>https://evo8.cn/posts/agent-platform-3-audit-and-call-logs/</link><guid isPermaLink="true">https://evo8.cn/posts/agent-platform-3-audit-and-call-logs/</guid><description>把系统交给 Agent 之后，你迟早要回答「它昨天用我的身份做了什么」。本文讲两条日志流的分工：mutation 自动审计的约定式设计、调用日志里的实际使用人、skipResultData 与预签名 URL 脱敏这些「不记什么」的决策，以及 dashboard 的 ready/partial/unavailable 降级。</description><pubDate>Fri, 19 Jun 2026 02:00:00 GMT</pubDate></item><item><title>定时是 Agent 平台的另一半：Trigger/Action Registry 与调度原语分层</title><link>https://evo8.cn/posts/agent-platform-2-automation-scheduler/</link><guid isPermaLink="true">https://evo8.cn/posts/agent-platform-2-automation-scheduler/</guid><description>会话式交互只覆盖用户在场的场景，用户不在场时事情怎么按时发生？本文讲把两个调度烟囱重构成通用自动化引擎的过程：Trigger/Action 双注册表、Run 快照语义、Redis 锁只是性能优化、幂等三档与 UNKNOWN 状态，以及设计文档里写了但落地时砍掉的东西。</description><pubDate>Fri, 12 Jun 2026 02:00:00 GMT</pubDate></item><item><title>一个系统，两种访客：给浏览器和 Agent 设计同一套身份体系</title><link>https://evo8.cn/posts/agent-platform-1-dual-channel-identity/</link><guid isPermaLink="true">https://evo8.cn/posts/agent-platform-1-dual-channel-identity/</guid><description>Agent 平台成熟后，浏览器不再是唯一访客：人类带 Session Cookie，Agent 带 API Key，OAuth 客户端带 JWT。本文讲一个入口解析四种 AuthMode、Key 为什么优先于 Session、Token 的哈希与密文双列存储、两层身份缓存的一致性窗口，以及默认拒绝与无超级 Key 的克制。</description><pubDate>Sat, 06 Jun 2026 02:00:00 GMT</pubDate></item><item><title>精选数据与垂直 AI：AI 时代的护城河在哪</title><link>https://evo8.cn/posts/curated-data-and-vertical-ai/</link><guid isPermaLink="true">https://evo8.cn/posts/curated-data-and-vertical-ai/</guid><description>数据不是越多越好。当大模型能力趋于同质化，真正拉开差距的是「精选数据」——干净、可信、目标明确的数据集，以及扎根具体行业的垂直 AI。本文谈数据从「量」到「质」的转向，以及垂直场景为什么是当下最值得押注的赛道。</description><pubDate>Fri, 05 Jun 2026 02:00:00 GMT</pubDate></item><item><title>让用户自定义 Agent 能力，而不打开注入的后门</title><link>https://evo8.cn/posts/agent-skill-thin-shell-4-user-capability-security/</link><guid isPermaLink="true">https://evo8.cn/posts/agent-skill-thin-shell-4-user-capability-security/</guid><description>允许用户写自由 Markdown 协议等于给 prompt injection 开制度化通道。本文讲用户自定义能力的结构化 workflow 设计：四道防线、平台不代理本地工具的边界、对话式创建流程，以及它与托管外部工作流路线的对比。</description><pubDate>Sat, 30 May 2026 02:00:00 GMT</pubDate></item><item><title>四套版本号：把 Agent Skill 的版本管理挪回服务端之后</title><link>https://evo8.cn/posts/agent-skill-thin-shell-3-versioning/</link><guid isPermaLink="true">https://evo8.cn/posts/agent-skill-thin-shell-3-versioning/</guid><description>薄壳 Skill、MCP 工具集、领域协议、用户自定义能力各有各的变化节奏，一套版本号管不过来。本文讲四套版本号各管什么、何时升级、客户端如何感知，以及「协议版本变更对用户零成本」是怎么做到的。</description><pubDate>Fri, 29 May 2026 02:00:00 GMT</pubDate></item><item><title>能力目录与协议下发：把接口设计和控制流一起交给 Agent</title><link>https://evo8.cn/posts/agent-skill-thin-shell-2-catalog-protocol/</link><guid isPermaLink="true">https://evo8.cn/posts/agent-skill-thin-shell-2-catalog-protocol/</guid><description>能力目录工具为什么零参数？目录条目里的 protocolTool 和 protocolInput 是干什么的？协议本体为什么用 Markdown 写？本文拆解动态下发协议的两个 MCP 工具的接口设计，以及身份过滤、防探测、跨能力引用这些容易被忽略的细节。</description><pubDate>Sat, 16 May 2026 02:00:00 GMT</pubDate></item><item><title>Agent Skill 是快照，快照会腐烂：我把业务流程全部搬到了服务端</title><link>https://evo8.cn/posts/agent-skill-thin-shell-1-problem-architecture/</link><guid isPermaLink="true">https://evo8.cn/posts/agent-skill-thin-shell-1-problem-architecture/</guid><description>Agent Skill 的默认形态是一份写死流程的快照，改流程就要重发包，客户端留存的旧副本还会被 LLM 凭记忆执行。本文讲清这套痛点，以及我们如何把 Skill 拆成 51 行薄壳 + 服务端能力目录 + 按会话下发的领域协议。</description><pubDate>Sun, 10 May 2026 02:00:00 GMT</pubDate></item><item><title>大模型 vs 小模型，以及一场关于电价的算力战争</title><link>https://evo8.cn/posts/llm-fundamentals-13-small-model-and-compute/</link><guid isPermaLink="true">https://evo8.cn/posts/llm-fundamentals-13-small-model-and-compute/</guid><description>大模型不是唯一答案：小语言模型在离线、隐私和垂直场景里有不可替代的生存空间。而决定 AI 成本的，除了芯片，还有一个常被忽略的变量——电价。本文拆解大小模型的分工，以及中国在算力成本上的结构性优势。</description><pubDate>Fri, 08 May 2026 02:00:00 GMT</pubDate></item><item><title>生态 &gt; 模型：大模型竞争的本质不是模型本身</title><link>https://evo8.cn/posts/llm-fundamentals-12-ecosystem-over-model/</link><guid isPermaLink="true">https://evo8.cn/posts/llm-fundamentals-12-ecosystem-over-model/</guid><description>大模型之间的能力差异正在收敛，OpenAI、谷歌、微软真正比拼的不是谁的模型更强，而是谁能围绕模型构建起完整生态。本文拆解「生态大于模型」背后的逻辑，以及这对企业选型和布局意味着什么。</description><pubDate>Wed, 15 Apr 2026 02:00:00 GMT</pubDate></item><item><title>给生产 Agent 做体检（六）：从诊断明细到 PM 能用的报告——评估结果的产品化</title><link>https://evo8.cn/posts/agent-diagnosis-6-pm-report-design/</link><guid isPermaLink="true">https://evo8.cn/posts/agent-diagnosis-6-pm-report-design/</guid><description>诊断结果若只停留在工程师视角的明细列表，产品经理就看不懂、动不了。本文复盘报告信息架构的三次迭代：三问叙事、显式健康规则、首页只建议不拍板，以及覆盖率先行与证据下钻的可追溯闭环。</description><pubDate>Fri, 10 Apr 2026 02:00:00 GMT</pubDate></item><item><title>给生产 Agent 做体检（五）：不要消息队列——基于数据库的任务编排与可靠性</title><link>https://evo8.cn/posts/agent-diagnosis-5-db-task-orchestration/</link><guid isPermaLink="true">https://evo8.cn/posts/agent-diagnosis-5-db-task-orchestration/</guid><description>长时任务不一定要上消息队列。本文介绍基于 PostgreSQL 事务的任务编排：CAS 原子领取、内嵌 Worker、心跳租约恢复、受控并发与任务归属约束，以及什么时候才真正需要 MQ。</description><pubDate>Wed, 08 Apr 2026 02:00:00 GMT</pubDate></item><item><title>给生产 Agent 做体检（四）：LLM 输出不完美怎么办——归一化、一次修复与失败隔离</title><link>https://evo8.cn/posts/agent-diagnosis-4-llm-output-resilience/</link><guid isPermaLink="true">https://evo8.cn/posts/agent-diagnosis-4-llm-output-resilience/</guid><description>再严格的输出协议也会有偶发偏差，一条坏输出不该放倒整个诊断批次。本文介绍有限归一化、Zod 严格校验、一次修复与失败隔离的四层兜底，以及 stage 与 status 分离、换模型与成本参数的实战经验。</description><pubDate>Sun, 05 Apr 2026 02:00:00 GMT</pubDate></item><item><title>给生产 Agent 做体检（三）：让 LLM 稳定输出结构化诊断——严格 JSON Schema 实践</title><link>https://evo8.cn/posts/agent-diagnosis-3-strict-structured-output/</link><guid isPermaLink="true">https://evo8.cn/posts/agent-diagnosis-3-strict-structured-output/</guid><description>结构化输出的可靠性不能靠 prompt 求来。本文记录一次从 json_object 升级到严格 JSON Schema 的完整实践：双 Schema 单一来源、prompt 职责重划、行级归并与 Zod strict 防线。</description><pubDate>Sat, 04 Apr 2026 02:00:00 GMT</pubDate></item><item><title>给生产 Agent 做体检（二）：诊断之前，先定义人口——数据质检与风险筛选</title><link>https://evo8.cn/posts/agent-diagnosis-2-data-quality-risk-screening/</link><guid isPermaLink="true">https://evo8.cn/posts/agent-diagnosis-2-data-quality-risk-screening/</guid><description>在让 LLM 诊断生产 Agent 对话之前，先回答三个问题：哪些对话算数、哪些值得花一次 LLM 调用、报告口径怎么对齐。本文讲数据质检、Session 化、确定性规则诊断与候选筛选的完整设计。</description><pubDate>Thu, 02 Apr 2026 06:00:00 GMT</pubDate></item><item><title>给生产 Agent 做体检（一）：只用对话文本的黑盒诊断工作流</title><link>https://evo8.cn/posts/agent-diagnosis-1-overview/</link><guid isPermaLink="true">https://evo8.cn/posts/agent-diagnosis-1-overview/</guid><description>生产 Agent 常拿不到内部链路日志，评估只能退回黑盒。本篇介绍一条只用 query 和 answer 的端到端诊断流水线：数据质检、风险筛选、批量 LLM 逐条诊断、问题聚类到优化事项与报告，并预告系列后续五篇。</description><pubDate>Thu, 02 Apr 2026 02:00:00 GMT</pubDate></item><item><title>单点跑通之后，怎么把 Agent 能力沉淀成全公司可复用</title><link>https://evo8.cn/posts/legacy-agent-integration-3-governance/</link><guid isPermaLink="true">https://evo8.cn/posts/legacy-agent-integration-3-governance/</guid><description>单点跑通之后，最容易栽在两件事上：把治理寄托在提示词上，给试点塞进过多战略期待。讲清三层治理职责的划分、接入便宜治理占大头的工作量分布，以及从试点到平台化到规模化的三阶段推进。</description><pubDate>Wed, 25 Mar 2026 04:00:00 GMT</pubDate></item><item><title>存量系统 Agent 化，物理上到底怎么「接」</title><link>https://evo8.cn/posts/legacy-agent-integration-2-connect/</link><guid isPermaLink="true">https://evo8.cn/posts/legacy-agent-integration-2-connect/</guid><description>Agent 物理上怎么够到存量系统？讲清三类技术接入方式（API/RPC 挂载、UI 自动化胶水、数据层事件驱动）怎么选，以及从识别场景到试点评估的六步接入法。</description><pubDate>Sun, 22 Mar 2026 03:00:00 GMT</pubDate></item><item><title>把存量系统交给 Agent，先想清楚 API、Skill、MCP 各是什么</title><link>https://evo8.cn/posts/legacy-agent-integration-1-mental-model/</link><guid isPermaLink="true">https://evo8.cn/posts/legacy-agent-integration-1-mental-model/</guid><description>把存量系统交给 Agent，多数团队第一反应是改接口、上 MCP——这其实是个误区。本文讲清 API、Skill、MCP 三层各是什么角色，并给出 Skill+脚本、仅 MCP、Skill+MCP 三条改造路径的判断表。</description><pubDate>Sat, 21 Mar 2026 02:00:00 GMT</pubDate></item><item><title>RAG 答非所问？从索引到生成，打通最后一公里</title><link>https://evo8.cn/posts/rag-optimization-panorama-2-indexing-generation/</link><guid isPermaLink="true">https://evo8.cn/posts/rag-optimization-panorama-2-indexing-generation/</guid><description>上篇讲了查询侧的优化，本篇进入 RAG 核心链路：分块策略、RAPTOR、Embedding 选型、混合检索、ReRank、Self-RAG、CRAG，以及场景化选型指南、评估体系和性能优化清单。</description><pubDate>Thu, 19 Mar 2026 02:00:00 GMT</pubDate></item><item><title>RAG 检索不准？先别换模型，把问题问对再说</title><link>https://evo8.cn/posts/rag-optimization-6-stages-overview/</link><guid isPermaLink="true">https://evo8.cn/posts/rag-optimization-6-stages-overview/</guid><description>RAG 效果上不去，问题往往不在模型，而在你没有优化查询。本文拆解查询转换、路由和查询构建三个阶段，覆盖多查询重写、问题分解、HyDE、动态路由、自检索等策略，附完整 Prompt 模板和代码示例。</description><pubDate>Sun, 15 Mar 2026 02:00:00 GMT</pubDate></item><item><title>企业级 RAG 怎么落地？不只是向量检索和大模型（附完整源码）</title><link>https://evo8.cn/posts/enterprise-rag-beyond-vector-search/</link><guid isPermaLink="true">https://evo8.cn/posts/enterprise-rag-beyond-vector-search/</guid><description>企业级 RAG 落地不能只做向量检索，还要考虑知识治理、切片策略、元数据、混合检索、权限过滤、拒答机制、评估体系和运营闭环。</description><pubDate>Wed, 11 Mar 2026 02:00:00 GMT</pubDate></item><item><title>RAG 为什么回答流程问题会漏步骤？原因和改进方案（附完整源码）</title><link>https://evo8.cn/posts/why-rag-misses-process-steps/</link><guid isPermaLink="true">https://evo8.cn/posts/why-rag-misses-process-steps/</guid><description>RAG 回答流程类问题时容易漏步骤，根因是 chunk 切片只保证局部相关，无法还原完整流程。本文说明流程类 RAG 的问题、案例和双层上下文改进方案。</description><pubDate>Tue, 10 Mar 2026 02:00:00 GMT</pubDate></item><item><title>我手搓了一个 AI Agent 记忆框架，才发现“长期记忆”不是存聊天记录</title><link>https://evo8.cn/posts/ai-agent-long-term-memory-system/</link><guid isPermaLink="true">https://evo8.cn/posts/ai-agent-long-term-memory-system/</guid><description>AI Agent 的长期记忆不能只是保存聊天记录。更稳的做法是把长期有效的信息拆成原子记忆条目，通过向量检索、全文检索、LLM 裁判、去重和短事务提交，让记忆可检索、可更新、可审计。</description><pubDate>Sun, 01 Feb 2026 02:00:00 GMT</pubDate></item><item><title>别再把聊天记录当记忆了：AI Agent 的四种记忆到底怎么分？</title><link>https://evo8.cn/posts/ai-agent-memory-types-short-term-task-project-long-term/</link><guid isPermaLink="true">https://evo8.cn/posts/ai-agent-memory-types-short-term-task-project-long-term/</guid><description>AI Agent 的记忆不是简单保存聊天记录，而是由短期记忆、任务记忆、项目记忆和长期用户记忆组成的上下文系统。本文用通俗方式解释不同记忆的生命周期、适用场景和写入边界。</description><pubDate>Fri, 30 Jan 2026 02:00:00 GMT</pubDate></item><item><title>MCP 工具权限码怎么设计？read、write、dangerous 三层模型（附完整源码）</title><link>https://evo8.cn/posts/mcp-permission-code-read-write-dangerous/</link><guid isPermaLink="true">https://evo8.cn/posts/mcp-permission-code-read-write-dangerous/</guid><description>MCP 工具权限码不要只写一个 mcp:tool，而要按动作风险拆成 read、write、dangerous。本文说明权限码结构、鉴权流程和高风险确认设计。</description><pubDate>Mon, 22 Dec 2025 02:00:00 GMT</pubDate></item><item><title>MCP 权限怎么分级？只读、可操作和高风险动作（附完整源码）</title><link>https://evo8.cn/posts/mcp-permission-levels-read-operate-risky-actions/</link><guid isPermaLink="true">https://evo8.cn/posts/mcp-permission-levels-read-operate-risky-actions/</guid><description>MCP 权限设计不能只按工具集授权，而要按动作后果分成只读、可操作和高风险动作。本文用 Agent 调用工具的真实风险解释 MCP 权限分级方法。</description><pubDate>Sat, 20 Dec 2025 02:00:00 GMT</pubDate></item><item><title>Git 知识系列（八）：多 Remote 双向同步</title><link>https://evo8.cn/posts/git-multiple-remotes-sync/</link><guid isPermaLink="true">https://evo8.cn/posts/git-multiple-remotes-sync/</guid><description>在单个本地仓库中配置多个远程仓库，实现与上游原仓库双向同步的完整攻略：Fork、upstream 配置、拉取合并、分支管理策略。</description><pubDate>Tue, 28 Oct 2025 02:00:00 GMT</pubDate></item><item><title>Git 知识系列（七）：Submodule 操作指南</title><link>https://evo8.cn/posts/git-submodule-guide/</link><guid isPermaLink="true">https://evo8.cn/posts/git-submodule-guide/</guid><description>submodule 操作的核心指令，供 AI 编码工具直接执行：添加、克隆后初始化、更新、两层提交规则、常见问题与命令速查。</description><pubDate>Mon, 20 Oct 2025 02:00:00 GMT</pubDate></item><item><title>自建 SearXNG + MCP：给 AI 工具接入可控的网页搜索</title><link>https://evo8.cn/posts/searxng-mcp-self-hosted-search/</link><guid isPermaLink="true">https://evo8.cn/posts/searxng-mcp-self-hosted-search/</guid><description>使用 SearXNG 官方 Compose 模板和 mcp-searxng 为 Claude Code、Cursor、VS Code 等 MCP 客户端接入自托管搜索。包含 JSON API、客户端配置、隐私边界、代理与网页读取的安全注意事项。</description><pubDate>Tue, 01 Apr 2025 01:00:00 GMT</pubDate></item><item><title>SSE 已被 MCP 判为 legacy：存量服务怎么迁、新服务怎么选</title><link>https://evo8.cn/posts/mcp-stack-sse-vs-streamable-http/</link><guid isPermaLink="true">https://evo8.cn/posts/mcp-stack-sse-vs-streamable-http/</guid><description>MCP 官方已将 SSE 传输判为 legacy，仅向后兼容，新部署应使用 Streamable HTTP。本文区分旧式 HTTP+SSE、2025 会话式 Streamable HTTP 与 2026 无状态协议，讲清存量服务如何安全迁移、新服务如何选型。</description><pubDate>Sat, 22 Mar 2025 08:09:08 GMT</pubDate></item><item><title>MCP Server 选型决策树：从语言到审计，六个维度一次说清</title><link>https://evo8.cn/posts/mcp-stack-why-two-servers-differ/</link><guid isPermaLink="true">https://evo8.cn/posts/mcp-stack-why-two-servers-differ/</guid><description>MCP Server 选型不是 Python 还是 Node 的语言之争，而是场景之争。本文用同期落地的两个 MCP Server，从语言框架、SDK 版本、传输、认证、状态、可观测性六个维度，讲清选型背后的场景权衡与决策框架。</description><pubDate>Thu, 20 Mar 2025 08:06:08 GMT</pubDate></item><item><title>当 MCP Server 要&quot;嵌进&quot;对外平台：Node.js + 官方 SDK + API Key 的选型逻辑</title><link>https://evo8.cn/posts/mcp-stack-nodejs-nextjs/</link><guid isPermaLink="true">https://evo8.cn/posts/mcp-stack-nodejs-nextjs/</guid><description>对外多租户的 MCP Server 怎么搭：协议为什么选 MCP 而非 REST、如何区分 2025 会话式传输与 2026 无状态协议、API Key+Scope 怎么做细粒度认证，以及审计日志如何可靠落盘。</description><pubDate>Sun, 16 Feb 2025 08:08:08 GMT</pubDate></item><item><title>当 MCP Server 只是&quot;翻译&quot;现成能力：FastMCP + Mem0 + Redis 的选型逻辑</title><link>https://evo8.cn/posts/mcp-stack-python-fastmcp/</link><guid isPermaLink="true">https://evo8.cn/posts/mcp-stack-python-fastmcp/</guid><description>当一个 MCP Server 的核心是把企业现成能力翻译成协议，选型逻辑就清晰了：FastMCP 吃协议层、Mem0+Redis 复用现有基建、OpenAI 兼容接口降低迁移成本、Docker+uv 稳定部署。本文讲清这套&quot;翻译型&quot;栈每一环的取舍。</description><pubDate>Wed, 12 Feb 2025 08:07:08 GMT</pubDate></item><item><title>RAG 实战：核心组件、调优与问题排查</title><link>https://evo8.cn/posts/rag-fundamentals-3-practice/</link><guid isPermaLink="true">https://evo8.cn/posts/rag-fundamentals-3-practice/</guid><description>搭建 RAG 系统需要哪些组件？文本怎么切分？Prompt 怎么写？出问题了怎么排查？本文从实战角度给出 RAG 的组件清单、分块策略指南、Prompt 模板设计，以及一套问题诊断表，帮你从零搭建可用的 RAG 系统。</description><pubDate>Mon, 26 Aug 2024 01:00:00 GMT</pubDate></item><item><title>RAG 核心原理：检索、向量与嵌入——计算机如何理解语义</title><link>https://evo8.cn/posts/rag-fundamentals-2-vector-embedding/</link><guid isPermaLink="true">https://evo8.cn/posts/rag-fundamentals-2-vector-embedding/</guid><description>RAG 的核心魔法是将文字变成向量，然后通过向量相似度找到相关知识。本文用猫品种识别的类比，从一维到多维，通俗讲解向量、Embedding 嵌入模型和向量数据库这三个 RAG 基石概念。</description><pubDate>Fri, 23 Aug 2024 01:00:00 GMT</pubDate></item><item><title>RAG 入门：为什么大模型需要查资料再回答</title><link>https://evo8.cn/posts/rag-fundamentals-1-intro/</link><guid isPermaLink="true">https://evo8.cn/posts/rag-fundamentals-1-intro/</guid><description>大模型虽然强大，但会一本正经地胡说八道（幻觉）、知识停留在训练截止日期。RAG（检索增强生成）是解决这些问题的首选方案。本文用通俗类比讲清 RAG 是什么、为什么需要它，以及与纯 LLM 和微调的对比。</description><pubDate>Tue, 20 Aug 2024 01:00:00 GMT</pubDate></item><item><title>Prompt Engineering 高阶技巧与全景总结</title><link>https://evo8.cn/posts/advanced-prompting-techniques-summary/</link><guid isPermaLink="true">https://evo8.cn/posts/advanced-prompting-techniques-summary/</guid><description>掌握知识生成提示（让 AI 先备课再回答）和自我修正与反思（让 AI 做自己的审稿人）两大高阶技巧。全面回顾 Prompt Engineering 从入门到进阶的完整方法论体系，附常见应用场景技巧组合速查表，帮你将 Prompt Engineering 从知识转化为能力。</description><pubDate>Sun, 18 Aug 2024 01:00:00 GMT</pubDate></item><item><title>复杂任务拆解：像项目经理一样驾驭 AI</title><link>https://evo8.cn/posts/task-decomposition-prompting/</link><guid isPermaLink="true">https://evo8.cn/posts/task-decomposition-prompting/</guid><description>面对复杂项目，把所有要求塞进一个 Prompt 通常效果不佳。本文介绍复杂任务拆解（Task Decomposition）方法论，通过智能手环线上发布会完整案例，演示如何将宏大目标拆分成一系列可执行的子任务，逐步引导 AI 产出高质量方案。同时辨析任务拆解与思维树（ToT）的本质差异。</description><pubDate>Thu, 15 Aug 2024 01:00:00 GMT</pubDate></item><item><title>思维树（ToT）：从线性推理到多分支探索</title><link>https://evo8.cn/posts/tree-of-thoughts-prompting/</link><guid isPermaLink="true">https://evo8.cn/posts/tree-of-thoughts-prompting/</guid><description>思维树（Tree of Thoughts）将多步推理建模为候选状态的搜索与评估。本文用书店引流案例讲解其“生成、评估、扩展、剪枝”思想，并区分研究中的 ToT 与日常多方案决策工作流。</description><pubDate>Tue, 13 Aug 2024 01:00:00 GMT</pubDate></item><item><title>思维链（CoT）：让 AI 学会一步步思考</title><link>https://evo8.cn/posts/chain-of-thought-prompting/</link><guid isPermaLink="true">https://evo8.cn/posts/chain-of-thought-prompting/</guid><description>思维链（Chain of Thought）是一种通过中间步骤组织多步推理的提示方法。本文讲解 CoT 的适用边界、零样本与少样本用法，以及如何在实际任务中通过验证提高可靠性。</description><pubDate>Sun, 11 Aug 2024 01:00:00 GMT</pubDate></item><item><title>做 AI 助手，最怕一上来就建知识库</title><link>https://evo8.cn/posts/ai-assistant-demo-before-knowledge-base/</link><guid isPermaLink="true">https://evo8.cn/posts/ai-assistant-demo-before-knowledge-base/</guid><description>很多 AI 助手项目一开始就做重了：还没验证用户会不会真的用、会问什么、材料能不能支撑回答，就已经把自己推进一套完整的知识库平台建设里。更稳的做法是先用最小可行 Demo 跑通业务闭环，再决定是否补 RAG 与知识库基建。</description><pubDate>Sat, 10 Aug 2024 02:00:00 GMT</pubDate></item><item><title>Prompt 实用技巧与趣味实践：分隔符、条件检查与分步指令</title><link>https://evo8.cn/posts/prompt-practical-tips/</link><guid isPermaLink="true">https://evo8.cn/posts/prompt-practical-tips/</guid><description>掌握三个让 Prompt 更稳健的实用技巧：使用分隔符隔离指令与数据、要求模型检查前置条件、通过分步指令完成复杂任务。附赠 AI 佛祖和翻车类比等趣味案例，在轻松中理解 Prompt 的创造力和边界。</description><pubDate>Thu, 08 Aug 2024 01:00:00 GMT</pubDate></item><item><title>提示词安全攻防全解析：越狱、注入与信息泄露</title><link>https://evo8.cn/posts/prompt-attacks-and-defense/</link><guid isPermaLink="true">https://evo8.cn/posts/prompt-attacks-and-defense/</guid><description>Prompt 不仅是你操控 AI 的工具，也可能成为攻击者的武器。本文系统梳理五大提示词攻击类型——越狱攻击、提示词注入、角色扮演攻击、敏感信息泄露和分步式攻击，并给出实用的防范措施，帮你建立 AI 安全的第一道防线。</description><pubDate>Tue, 06 Aug 2024 01:00:00 GMT</pubDate></item><item><title>零样本与少样本提示：AI 提示的两大基础技巧</title><link>https://evo8.cn/posts/zero-shot-few-shot-prompting/</link><guid isPermaLink="true">https://evo8.cn/posts/zero-shot-few-shot-prompting/</guid><description>掌握零样本提示（Zero-shot）和少样本提示（Few-shot）两种基础技巧，理解各自适用场景和核心原理。通过情感分类、产品文案等实战案例，学会如何用给范例的方式让 AI 的输出精准度大幅提升。</description><pubDate>Sun, 04 Aug 2024 01:00:00 GMT</pubDate></item><item><title>Prompt Engineering 入门：与 AI 高效协作的第一课</title><link>https://evo8.cn/posts/prompt-engineering-intro/</link><guid isPermaLink="true">https://evo8.cn/posts/prompt-engineering-intro/</guid><description>Prompt Engineering（提示词工程）是 AI 时代每个人的必修课。本文从什么是 Prompt、什么是 Prompt Engineering 讲起，深入拆解四大核心要素——角色、指令、上下文、输出格式，并通过完整案例演示如何从模糊指令优化为精准提示词，帮你快速掌握与 LLM 高效对话的底层方法论。</description><pubDate>Fri, 02 Aug 2024 01:00:00 GMT</pubDate></item><item><title>LLM 工作原理（四）：延迟、成本与幻觉——工程落地三大挑战</title><link>https://evo8.cn/posts/llm-fundamentals-4-engineering-challenges/</link><guid isPermaLink="true">https://evo8.cn/posts/llm-fundamentals-4-engineering-challenges/</guid><description>LLM 能力虽强，工程落地却面临延迟、成本和幻觉三大现实挑战。本文从实用角度出发，介绍每个问题的成因和应对策略——缓存、流式输出、模型分级、RAG 等，帮助你用工程思维驾驭 LLM。</description><pubDate>Thu, 01 Aug 2024 01:00:00 GMT</pubDate></item><item><title>LLM 工作原理（三）：推理与采样策略——AI 如何选择下一个词</title><link>https://evo8.cn/posts/llm-fundamentals-3-inference-sampling/</link><guid isPermaLink="true">https://evo8.cn/posts/llm-fundamentals-3-inference-sampling/</guid><description>LLM 预测下一个 token 时，面对的是一个概率分布而非唯一答案。如何从这个分布中做选择，决定了 AI 是严谨保守还是天马行空。本文通俗讲解贪心解码、温度采样、Top-K 和 Top-P 四种核心策略及其适用场景。</description><pubDate>Tue, 30 Jul 2024 01:00:00 GMT</pubDate></item><item><title>LLM 工作原理（二）：Transformer 与自注意力机制</title><link>https://evo8.cn/posts/llm-fundamentals-2-transformer/</link><guid isPermaLink="true">https://evo8.cn/posts/llm-fundamentals-2-transformer/</guid><description>Transformer 是大模型时代的奠基性技术，没有它就没有今天的 ChatGPT。本文从 RNN 的痛点出发，用通俗比喻讲解自注意力机制（Self-Attention）如何让 AI 同时关注整句话的所有词，并简要介绍编码器-解码器架构。</description><pubDate>Sat, 27 Jul 2024 01:00:00 GMT</pubDate></item><item><title>LLM 工作原理（一）：从预测下一个字开始</title><link>https://evo8.cn/posts/llm-fundamentals-1-predict-next-token/</link><guid isPermaLink="true">https://evo8.cn/posts/llm-fundamentals-1-predict-next-token/</guid><description>许多自回归 LLM 以预测下一个 token 为基础训练目标，并在生成时逐 token 解码。本文用接龙游戏解释这一机制，同时说明它不能单独概括模型的全部能力。</description><pubDate>Wed, 24 Jul 2024 01:00:00 GMT</pubDate></item><item><title>React 核心（17）：TanStack Query 缓存机制详解</title><link>https://evo8.cn/posts/react-17-query-cache/</link><guid isPermaLink="true">https://evo8.cn/posts/react-17-query-cache/</guid><description>TanStack Query v5 缓存生命周期、staleTime/gcTime 机制、SWR 策略、Mutation 缓存联动、缓存控制 API 差异与常见误区</description><pubDate>Tue, 23 Jul 2024 02:00:00 GMT</pubDate></item><item><title>React 核心（16）：TanStack Query 入门指南</title><link>https://evo8.cn/posts/react-16-query-intro/</link><guid isPermaLink="true">https://evo8.cn/posts/react-16-query-intro/</guid><description>从零掌握 TanStack Query v5——核心概念、useQuery/useMutation 用法、placeholderData 翻页、Query Key 设计、staleTime/gcTime 生命周期、常见陷阱与竞品对比</description><pubDate>Sat, 13 Jul 2024 02:00:00 GMT</pubDate></item><item><title>React 核心（15）：Suspense 机制详解</title><link>https://evo8.cn/posts/react-15-suspense/</link><guid isPermaLink="true">https://evo8.cn/posts/react-15-suspense/</guid><description>React Suspense 机制详解——从客户端懒加载到服务端流式渲染，覆盖 React.lazy、use()、Streaming SSR 与 Selective Hydration</description><pubDate>Wed, 03 Jul 2024 02:00:00 GMT</pubDate></item><item><title>React 核心（14）：React 18 并发特性</title><link>https://evo8.cn/posts/react-14-react18-concurrency/</link><guid isPermaLink="true">https://evo8.cn/posts/react-14-react18-concurrency/</guid><description>React 18 核心架构升级——并发渲染、Automatic Batching、useTransition、useDeferredValue 的原理与实战</description><pubDate>Sun, 23 Jun 2024 02:00:00 GMT</pubDate></item><item><title>React 核心（13）：React 渲染机制深入——Fiber 与调度</title><link>https://evo8.cn/posts/react-13-fiber-scheduling/</link><guid isPermaLink="true">https://evo8.cn/posts/react-13-fiber-scheduling/</guid><description>从 Stack Reconciler 到 Fiber 架构——理解 React 渲染的两阶段模型、双缓冲机制、时间切片与优先级调度</description><pubDate>Mon, 17 Jun 2024 02:00:00 GMT</pubDate></item><item><title>React 核心（12）：表单与受控/非受控组件</title><link>https://evo8.cn/posts/react-12-controlled-forms/</link><guid isPermaLink="true">https://evo8.cn/posts/react-12-controlled-forms/</guid><description>React 表单处理的核心概念——受控组件 vs 非受控组件的区别、选择策略与实战模式</description><pubDate>Sun, 09 Jun 2024 02:00:00 GMT</pubDate></item><item><title>React 核心（11）：Key 与列表渲染</title><link>https://evo8.cn/posts/react-11-key-and-list/</link><guid isPermaLink="true">https://evo8.cn/posts/react-11-key-and-list/</guid><description>React 列表渲染的核心机制——理解 key 的本质、为什么不用 index、正确选择 key 与常见陷阱</description><pubDate>Wed, 05 Jun 2024 02:00:00 GMT</pubDate></item><item><title>React 核心（10）：自定义 Hook 设计</title><link>https://evo8.cn/posts/react-10-custom-hooks/</link><guid isPermaLink="true">https://evo8.cn/posts/react-10-custom-hooks/</guid><description>React 逻辑复用的核心范式——从 useState/useEffect 到自定义 Hook，掌握设计原则、经典模式与常见错误</description><pubDate>Sat, 01 Jun 2024 02:00:00 GMT</pubDate></item><item><title>React 核心（9）：Hooks 规则与闭包陷阱</title><link>https://evo8.cn/posts/react-9-hooks-rules/</link><guid isPermaLink="true">https://evo8.cn/posts/react-9-hooks-rules/</guid><description>React Hook 的底层约束与最常见 Bug——理解调用顺序机制、闭包陷阱成因与解决方案</description><pubDate>Sun, 26 May 2024 02:00:00 GMT</pubDate></item><item><title>React 核心（8）：useCallback 与 useMemo</title><link>https://evo8.cn/posts/react-8-usecallback-usememo/</link><guid isPermaLink="true">https://evo8.cn/posts/react-8-usecallback-usememo/</guid><description>React 性能优化的两个缓存 Hook——掌握引用稳定性的本质、何时使用/何时不使用、与 React.memo 的配合模式</description><pubDate>Mon, 20 May 2024 02:00:00 GMT</pubDate></item><item><title>React 核心（7）：Context API 与状态共享</title><link>https://evo8.cn/posts/react-7-usecontext-guide/</link><guid isPermaLink="true">https://evo8.cn/posts/react-7-usecontext-guide/</guid><description>React 内置的状态共享方案——告别 Props 逐层传递，掌握 createContext/useContext 用法、实战模式与性能陷阱</description><pubDate>Fri, 10 May 2024 02:00:00 GMT</pubDate></item><item><title>React 核心（6）：useRef 完全指南</title><link>https://evo8.cn/posts/react-6-useref-guide/</link><guid isPermaLink="true">https://evo8.cn/posts/react-6-useref-guide/</guid><description>React 引用 Hook 的核心 API——跨渲染持久引用，掌握 DOM 操作、可变值存储与 useState 的本质区别</description><pubDate>Tue, 07 May 2024 02:00:00 GMT</pubDate></item><item><title>React 核心（5）：useEffect 完全指南</title><link>https://evo8.cn/posts/react-5-useeffect-guide/</link><guid isPermaLink="true">https://evo8.cn/posts/react-5-useeffect-guide/</guid><description>React 副作用 Hook 的核心 API——给组件添加「做事」能力，掌握依赖数组、清理函数、常见模式与易错陷阱</description><pubDate>Sat, 27 Apr 2024 02:00:00 GMT</pubDate></item><item><title>React 核心（4）：useState 完全指南</title><link>https://evo8.cn/posts/react-4-usestate-guide/</link><guid isPermaLink="true">https://evo8.cn/posts/react-4-usestate-guide/</guid><description>React 状态 Hook 的核心 API——给组件添加记忆，掌握值更新机制、常见用法模式与易错点</description><pubDate>Sun, 21 Apr 2024 02:00:00 GMT</pubDate></item><item><title>React 核心（3）：Props 完全指南</title><link>https://evo8.cn/posts/react-3-props-guide/</link><guid isPermaLink="true">https://evo8.cn/posts/react-3-props-guide/</guid><description>深入理解 React 中的数据流动机制，掌握 Props 的传递、children、回调通信与常见陷阱</description><pubDate>Tue, 16 Apr 2024 02:00:00 GMT</pubDate></item><item><title>React 核心（2）：声明式与 React 的实现机制</title><link>https://evo8.cn/posts/react-2-declarative-rendering/</link><guid isPermaLink="true">https://evo8.cn/posts/react-2-declarative-rendering/</guid><description>从编程思维差异出发，理解声明式的本质——Virtual DOM、Diff 算法、状态驱动渲染三层基础设施如何让「描述结果」替代「指挥过程」，以及 useQuery 如何在此机制上实现数据获取的声明式</description><pubDate>Sat, 06 Apr 2024 02:00:00 GMT</pubDate></item><item><title>React 核心（1）：React 组件与函数的本质区别</title><link>https://evo8.cn/posts/react-1-component-and-function/</link><guid isPermaLink="true">https://evo8.cn/posts/react-1-component-and-function/</guid><description>深入理解 React 组件的心智模型，掌握组件与普通函数的四大区别</description><pubDate>Tue, 02 Apr 2024 02:00:00 GMT</pubDate></item><item><title>突破 JVM 物理边界：高性能网络 I/O 与底层零拷贝机制</title><link>https://evo8.cn/posts/jvm-zero-copy-network-io/</link><guid isPermaLink="true">https://evo8.cn/posts/jvm-zero-copy-network-io/</guid><description>穿透 JVM 边界，深入 Linux 内核零拷贝、mmap、sendfile 机制，结合 Netty、Kafka、RocketMQ 的实战应用，讲透高性能网络 I/O 的实现原理。</description><pubDate>Mon, 23 Oct 2023 02:00:00 GMT</pubDate></item><item><title>Java并发模型交锋：Netty响应式 vs 虚拟线程</title><link>https://evo8.cn/posts/java-concurrency-netty-vs-virtual-threads/</link><guid isPermaLink="true">https://evo8.cn/posts/java-concurrency-netty-vs-virtual-threads/</guid><description>深度拆解 Java 并发模型从 Netty 异步响应式到 Java 21 虚拟线程的演进逻辑，对比响应式编程的心智枷锁与虚拟线程的挂起/挂载机制，并给出现代架构选型建议。</description><pubDate>Wed, 18 Oct 2023 02:00:00 GMT</pubDate></item><item><title>Python 知识系列（八）：企业级开发场景最佳实践</title><link>https://evo8.cn/posts/python-7-enterprise-best-practices/</link><guid isPermaLink="true">https://evo8.cn/posts/python-7-enterprise-best-practices/</guid><description>面向生产环境：讲解配置与环境变量管理（.env + config.py）、手动依赖注入与控制反转、dependency-injector 容器，以及在 Flask 等 Web 框架中的集成。</description><pubDate>Wed, 22 Mar 2023 02:00:00 GMT</pubDate></item><item><title>Python 知识系列（七）：虚拟环境与依赖管理</title><link>https://evo8.cn/posts/python-6-virtual-env-and-dependencies/</link><guid isPermaLink="true">https://evo8.cn/posts/python-6-virtual-env-and-dependencies/</guid><description>从全局 site-packages 的痛点出发，系统讲解 venv + pip + requirements.txt 原生方案与 uv 最佳实践，并对比 Poetry、pyenv、Conda 及 Conda+uv 组合使用。</description><pubDate>Thu, 16 Mar 2023 02:00:00 GMT</pubDate></item><item><title>Python 知识系列（六）：异步编程</title><link>https://evo8.cn/posts/python-5-async-programming/</link><guid isPermaLink="true">https://evo8.cn/posts/python-5-async-programming/</guid><description>对比同步与异步编程，理解事件循环、协程与 Task，掌握 async/await 与 asyncio API；涵盖并发限制、异常处理、Web 服务并发模型选型与 aiohttp/aiofiles/asyncpg 实战。</description><pubDate>Thu, 09 Mar 2023 02:00:00 GMT</pubDate></item><item><title>Python 知识系列（五）：模块和包</title><link>https://evo8.cn/posts/python-4-modules-and-packages/</link><guid isPermaLink="true">https://evo8.cn/posts/python-4-modules-and-packages/</guid><description>讲清模块、包与 import 机制，以及 if __name__ == &apos;__main__&apos; 的妙用；覆盖 Web 应用/微服务/AI 后端的包结构最佳实践、绝对导入规范、__init__.py 包 API 设计与循环导入规避。</description><pubDate>Sat, 04 Mar 2023 02:00:00 GMT</pubDate></item><item><title>Python 知识系列（四）：装饰器详解</title><link>https://evo8.cn/posts/python-3-decorators/</link><guid isPermaLink="true">https://evo8.cn/posts/python-3-decorators/</guid><description>从装饰器与 Java 注解的异同讲起，深入闭包原理、@ 语法糖、带参数装饰器、functools.wraps、类装饰器与装饰器链，并给出日志/性能/权限三大实战案例。</description><pubDate>Sat, 25 Feb 2023 02:00:00 GMT</pubDate></item><item><title>Python 知识系列（三）：从 0 开始理解函数</title><link>https://evo8.cn/posts/python-2-functions/</link><guid isPermaLink="true">https://evo8.cn/posts/python-2-functions/</guid><description>以问题驱动的方式讲解函数定义、位置/关键字/默认参数、*args 与 **kwargs、返回值，以及函数作为一等公民的四大特性与变量作用域。</description><pubDate>Sun, 19 Feb 2023 02:00:00 GMT</pubDate></item><item><title>Python 知识系列（二）：面向对象编程</title><link>https://evo8.cn/posts/python-1-oop/</link><guid isPermaLink="true">https://evo8.cn/posts/python-1-oop/</guid><description>详解类与实例、__init__ 初始化方法、实例/类属性、实例/类/静态方法、属性访问限制、继承与多态、魔术方法，并延伸到 LangChain LCEL 的实战应用。</description><pubDate>Tue, 14 Feb 2023 02:00:00 GMT</pubDate></item><item><title>Python 知识系列（一）：极简核心语法</title><link>https://evo8.cn/posts/python-0-core-syntax/</link><guid isPermaLink="true">https://evo8.cn/posts/python-0-core-syntax/</guid><description>从 Hello World 出发，覆盖注释、变量与基本数据类型、运算符、常用数据结构（列表/字典）、流程控制、函数与高频内置函数，快速搭建 Python 语法基础。</description><pubDate>Fri, 10 Feb 2023 02:00:00 GMT</pubDate></item><item><title>身份安全三要素（AAA）：认证、授权与审计</title><link>https://evo8.cn/posts/identity-security-aaa/</link><guid isPermaLink="true">https://evo8.cn/posts/identity-security-aaa/</guid><description>从身份安全的三个 A（Authentication / Authorization / Audit）出发，详解认证三要素（你知道什么 / 你拥有什么 / 你是什么）、多因素认证、访问控制三大原则与 MAC/RBAC/OAuth 授权模型。</description><pubDate>Thu, 27 Oct 2022 01:30:00 GMT</pubDate></item><item><title>前端核心（四）：React 必备 TS 语法速查</title><link>https://evo8.cn/posts/frontend-ts-essentials/</link><guid isPermaLink="true">https://evo8.cn/posts/frontend-ts-essentials/</guid><description>写 React 每天都会遇到的 TypeScript 语法：类型注解、接口、可选属性、联合类型、泛型、类型断言、工具类型、函数类型与 as const，均配 React 实战用法。</description><pubDate>Fri, 15 Jul 2022 02:00:00 GMT</pubDate></item><item><title>前端核心（三）：Promise 与异步编程详解</title><link>https://evo8.cn/posts/frontend-promise/</link><guid isPermaLink="true">https://evo8.cn/posts/frontend-promise/</guid><description>从回调地狱到 Promise 再到 async/await 的演进，覆盖三大状态、链式调用返回值规则、六大静态方法、事件循环宏/微任务机制与经典面试题。</description><pubDate>Sun, 10 Jul 2022 02:00:00 GMT</pubDate></item><item><title>前端核心（二）：React 必备 JS 语法速查</title><link>https://evo8.cn/posts/frontend-js-essentials/</link><guid isPermaLink="true">https://evo8.cn/posts/frontend-js-essentials/</guid><description>写 React 每天都会遇到的 ES6+ 语法：解构赋值、箭头函数、展开运算符、可选链、空值合并、短路求值、模板字符串、async/await 与数组方法，均配 React 实战用法。</description><pubDate>Wed, 06 Jul 2022 02:00:00 GMT</pubDate></item><item><title>前端核心（一）：DOM 入门</title><link>https://evo8.cn/posts/frontend-dom/</link><guid isPermaLink="true">https://evo8.cn/posts/frontend-dom/</guid><description>面向 T3/React 开发者的精简版 DOM 教程：节点类型、查找与修改元素的常用 API、事件机制与冒泡原理，以及学 DOM 对 React 开发的意义。</description><pubDate>Sat, 02 Jul 2022 02:00:00 GMT</pubDate></item><item><title>CSS 基础（七）：响应式设计与媒体查询</title><link>https://evo8.cn/posts/css-responsive/</link><guid isPermaLink="true">https://evo8.cn/posts/css-responsive/</guid><description>响应式设计让你的页面在手机、平板、桌面都能良好显示。学会媒体查询和 Tailwind 的响应式前缀，就能实现一个 HTML 适配所有屏幕的现代布局。</description><pubDate>Mon, 27 Jun 2022 02:00:00 GMT</pubDate></item><item><title>CSS 基础（六）：Grid 网格布局</title><link>https://evo8.cn/posts/css-grid/</link><guid isPermaLink="true">https://evo8.cn/posts/css-grid/</guid><description>如果说 Flex 是排队，Grid 就是摆棋。Grid 是二维布局系统，能同时控制行和列，适合构建整个页面布局、相册、仪表盘等复杂界面。</description><pubDate>Wed, 22 Jun 2022 02:00:00 GMT</pubDate></item><item><title>CSS 基础（五）：Flex 弹性布局</title><link>https://evo8.cn/posts/css-flexbox/</link><guid isPermaLink="true">https://evo8.cn/posts/css-flexbox/</guid><description>Flexbox 是 CSS 最常用的布局方式之一，专门解决一维布局问题。学会它，你就能轻松搞定导航栏、列表、卡片等常见组件的排列与对齐。</description><pubDate>Fri, 17 Jun 2022 02:00:00 GMT</pubDate></item><item><title>CSS 基础（四）：定位</title><link>https://evo8.cn/posts/css-position/</link><guid isPermaLink="true">https://evo8.cn/posts/css-position/</guid><description>static/relative/absolute/fixed/sticky 五种定位方式全解、relative+absolute 黄金搭档、高频踩坑避坑指南及 T3 项目实战代码片段。</description><pubDate>Mon, 13 Jun 2022 02:00:00 GMT</pubDate></item><item><title>CSS 基础（三）：浮动</title><link>https://evo8.cn/posts/css-float/</link><guid isPermaLink="true">https://evo8.cn/posts/css-float/</guid><description>浮动的核心概念、排队比喻、父元素高度塌陷问题及三种解决方案，并讲清为什么现代布局已用 Flexbox 替代浮动。</description><pubDate>Wed, 08 Jun 2022 02:00:00 GMT</pubDate></item><item><title>CSS 基础（二）：盒模型</title><link>https://evo8.cn/posts/css-box-model/</link><guid isPermaLink="true">https://evo8.cn/posts/css-box-model/</guid><description>用快递盒比喻讲透 content/padding/border/margin 四层结构，对比 content-box 与 border-box 两种尺寸计算规则及 Tailwind 对应写法。</description><pubDate>Sat, 04 Jun 2022 02:00:00 GMT</pubDate></item><item><title>CSS 基础（一）：元素类型与 display 属性</title><link>https://evo8.cn/posts/css-display/</link><guid isPermaLink="true">https://evo8.cn/posts/css-display/</guid><description>块级、行内、行内块三种元素类型的核心区别与嵌套规则，配 Tailwind 对应工具类，讲透 display 属性的本质。</description><pubDate>Wed, 01 Jun 2022 02:00:00 GMT</pubDate></item><item><title>拜占庭将军问题：两忠一叛、口信与签名消息之解</title><link>https://evo8.cn/posts/byzantine-generals-problem/</link><guid isPermaLink="true">https://evo8.cn/posts/byzantine-generals-problem/</guid><description>从莱斯利·兰伯特的拜占庭将军问题出发，讲清拜占庭容错（BFT）与故障容错（CFT）的区别、共识与一致性的概念辨析、两忠一叛难题，以及口信消息型（3m+1 结论）与签名消息型两种解决方案。</description><pubDate>Thu, 19 May 2022 01:30:00 GMT</pubDate></item><item><title>微服务限流与容错：雪崩效应、熔断器与三种限流算法</title><link>https://evo8.cn/posts/microservice-rate-limit-fault-tolerance/</link><guid isPermaLink="true">https://evo8.cn/posts/microservice-rate-limit-fault-tolerance/</guid><description>微服务架构下如何应对级联故障？本文讲清雪崩效应的成因、三种容错方案（超时、舱壁隔离、断路器），以及令牌桶、漏桶、滑动窗口三种限流算法的原理与对比，配示意图。</description><pubDate>Sun, 20 Feb 2022 01:30:00 GMT</pubDate></item><item><title>VitePress 动态渲染全栈落地方案</title><link>https://evo8.cn/posts/fullstack-11-vitepress-dynamic-render/</link><guid isPermaLink="true">https://evo8.cn/posts/fullstack-11-vitepress-dynamic-render/</guid><description>客户端运行时动态拉取 Markdown 并保留 VitePress 原生样式与代码高亮的完整方案，含动态路由模板与后端接口规范。</description><pubDate>Wed, 24 Feb 2021 02:00:00 GMT</pubDate></item><item><title>AI 驱动动态看板架构指南</title><link>https://evo8.cn/posts/fullstack-10-ai-dashboard/</link><guid isPermaLink="true">https://evo8.cn/posts/fullstack-10-ai-dashboard/</guid><description>基于 Next.js App Router + Vercel AI SDK + Recharts 构建 Generative UI 的技术架构与落地实现。</description><pubDate>Fri, 19 Feb 2021 02:00:00 GMT</pubDate></item><item><title>Vercel AI SDK 自定义 OpenAI 模型接入</title><link>https://evo8.cn/posts/fullstack-9-vercel-ai-sdk/</link><guid isPermaLink="true">https://evo8.cn/posts/fullstack-9-vercel-ai-sdk/</guid><description>Next.js + T3 Stack 中使用 AI SDK 接入自定义 OpenAI 兼容模型（DeepSeek、千帆等）的完整指南。</description><pubDate>Mon, 15 Feb 2021 02:00:00 GMT</pubDate></item><item><title>Web 多主题架构最佳实践</title><link>https://evo8.cn/posts/fullstack-8-web-theme-architecture/</link><guid isPermaLink="true">https://evo8.cn/posts/fullstack-8-web-theme-architecture/</guid><description>Next.js + Tailwind v4 + OKLCH + shadcn/ui 四层主题架构设计：从色彩空间到组件令牌的完整方案。</description><pubDate>Wed, 10 Feb 2021 02:00:00 GMT</pubDate></item><item><title>CORS 与 Web 安全实战白皮书</title><link>https://evo8.cn/posts/fullstack-7-cors-web-security/</link><guid isPermaLink="true">https://evo8.cn/posts/fullstack-7-cors-web-security/</guid><description>前端跨域底层逻辑、Nginx 生产级配置、Cookie 跨域排雷与 CSRF 防御体系的完整实战指南。</description><pubDate>Sat, 06 Feb 2021 02:00:00 GMT</pubDate></item><item><title>Next.js 子域名、反向代理与分享链路最佳实践</title><link>https://evo8.cn/posts/fullstack-6-nextjs-subdomain-proxy/</link><guid isPermaLink="true">https://evo8.cn/posts/fullstack-6-nextjs-subdomain-proxy/</guid><description>基于 Next.js + Nginx 的多租户子域名架构、反向代理配置与分享链路设计的生产级实践。</description><pubDate>Mon, 01 Feb 2021 02:00:00 GMT</pubDate></item><item><title>T3 Stack 会话认证指南</title><link>https://evo8.cn/posts/fullstack-5-t3-session-auth/</link><guid isPermaLink="true">https://evo8.cn/posts/fullstack-5-t3-session-auth/</guid><description>NextAuth 会话管理与 T3 Stack 身份验证最佳实践：session 读取、上下文传递与 SSR/SSG 处理。</description><pubDate>Thu, 28 Jan 2021 02:00:00 GMT</pubDate></item><item><title>Auth Guard 与 tRPC 中间件</title><link>https://evo8.cn/posts/fullstack-4-auth-guard-trpc-middleware/</link><guid isPermaLink="true">https://evo8.cn/posts/fullstack-4-auth-guard-trpc-middleware/</guid><description>前端路由守卫与后端 API 保护的实现机制：Next.js middleware 与 tRPC procedure middleware 的实战结合。</description><pubDate>Sat, 23 Jan 2021 02:00:00 GMT</pubDate></item><item><title>Web 会话与身份验证完整指南</title><link>https://evo8.cn/posts/fullstack-3-web-session-auth/</link><guid isPermaLink="true">https://evo8.cn/posts/fullstack-3-web-session-auth/</guid><description>从零理解 Cookie、Session、JWT 和身份验证，含 NextAuth 配置详解与跨域共享方案。</description><pubDate>Tue, 19 Jan 2021 02:00:00 GMT</pubDate></item><item><title>Next.js 并行路由完全指南</title><link>https://evo8.cn/posts/fullstack-2-nextjs-parallel-routes/</link><guid isPermaLink="true">https://evo8.cn/posts/fullstack-2-nextjs-parallel-routes/</guid><description>详解 App Router 并行路由和拦截路由的匹配规则、组合用法及 T3 项目最佳实践。</description><pubDate>Thu, 14 Jan 2021 02:00:00 GMT</pubDate></item><item><title>T3 Stack 开发规范</title><link>https://evo8.cn/posts/fullstack-1-t3-stack-guide/</link><guid isPermaLink="true">https://evo8.cn/posts/fullstack-1-t3-stack-guide/</guid><description>T3 Stack 项目开发的完整规范指南：技术栈选型、项目结构、核心约定与实战落地。</description><pubDate>Sun, 10 Jan 2021 02:00:00 GMT</pubDate></item><item><title>设计模式之迭代器模式：不暴露内部实现，顺序访问集合</title><link>https://evo8.cn/posts/iterator-pattern/</link><guid isPermaLink="true">https://evo8.cn/posts/iterator-pattern/</guid><description>提供一种方法顺序访问一个集合的各个对象，而不暴露该对象的内部实现。讲清迭代器模式为何让客户端不依赖集合底层结构、Iterator 接口的三个核心方法、Java 集合框架中 ArrayList/LinkedList 迭代器的应用。</description><pubDate>Sun, 30 Aug 2020 01:30:00 GMT</pubDate></item><item><title>设计模式之状态模式：状态变，行为变</title><link>https://evo8.cn/posts/state-pattern/</link><guid isPermaLink="true">https://evo8.cn/posts/state-pattern/</guid><description>允许一个对象在其内部状态改变时改变它的行为。讲清状态模式与策略模式的区别、状态转换逻辑如何分散到 State 子类中，以订单状态流转为例，展示如何用状态类消除大段 if-else 状态机代码。</description><pubDate>Sun, 16 Aug 2020 01:30:00 GMT</pubDate></item><item><title>Docker 集群演进史：Swarm → Compose → Kubernetes</title><link>https://evo8.cn/posts/docker-cluster-evolution/</link><guid isPermaLink="true">https://evo8.cn/posts/docker-cluster-evolution/</guid><description>从 2014 年 Docker Swarm 的初生、到 Compose 的单机王者、再到 Kubernetes 一统江湖——容器编排 10 年的演化故事，以及它对 AI 应用架构的深远影响。</description><pubDate>Sat, 15 Aug 2020 01:30:00 GMT</pubDate></item><item><title>Docker Compose 多容器编排：从命令到声明式</title><link>https://evo8.cn/posts/docker-compose-orchestration/</link><guid isPermaLink="true">https://evo8.cn/posts/docker-compose-orchestration/</guid><description>把一组 `docker run` 命令浓缩进一份 `docker-compose.yml`：Services / Networks / Volumes 三大顶级键、build 与 image、environment 与 secrets、健康检查、水平扩展，以及何时该升级到 Kubernetes。</description><pubDate>Fri, 07 Aug 2020 01:30:00 GMT</pubDate></item><item><title>设计模式之责任链模式：请求逐级传递，动态组合处理者</title><link>https://evo8.cn/posts/chain-of-responsibility-pattern/</link><guid isPermaLink="true">https://evo8.cn/posts/chain-of-responsibility-pattern/</guid><description>为请求创建一个接收此请求对象的链，使请求的发送者和处理者解耦，可动态组合处理者。以课程发布的多级审核为例，讲清抽象审批者/具体审批人的链式结构，以及 FilterChain 等经典应用与性能代价。</description><pubDate>Sun, 02 Aug 2020 01:30:00 GMT</pubDate></item><item><title>Maxwell 数据初始化：maxwell-bootstrap 全量同步实践</title><link>https://evo8.cn/posts/maxwell-bootstrap/</link><guid isPermaLink="true">https://evo8.cn/posts/maxwell-bootstrap/</guid><description>Maxwell 基于 binlog 做增量同步，但存量数据怎么办？本文介绍 maxwell-bootstrap 工具的完整用法：参数说明、实验流程、bootstrap-start/bootstrap-insert/bootstrap-complete 三阶段、sync 与 async 模式区别、手动触发与崩溃恢复。</description><pubDate>Fri, 31 Jul 2020 01:30:00 GMT</pubDate></item><item><title>Docker 数据持久化与网络：Volume 与容器间通信</title><link>https://evo8.cn/posts/docker-data-and-network/</link><guid isPermaLink="true">https://evo8.cn/posts/docker-data-and-network/</guid><description>容器是短暂无状态的，数据怎么不丢？容器之间怎么对话？这一篇拆解 Docker Volume（命名卷/绑定挂载/共享卷）与 Docker Network（默认网络/自定义网络/服务发现）。</description><pubDate>Thu, 30 Jul 2020 01:30:00 GMT</pubDate></item><item><title>Docker 核心概念与安装：镜像、容器、仓库、Dockerfile</title><link>https://evo8.cn/posts/docker-core-concepts/</link><guid isPermaLink="true">https://evo8.cn/posts/docker-core-concepts/</guid><description>拆解 Docker 四大核心概念（镜像/容器/仓库/Dockerfile），完成环境安装与镜像加速配置，动手写第一个 Dockerfile 并跑通 FastAPI 模型服务。</description><pubDate>Wed, 22 Jul 2020 01:30:00 GMT</pubDate></item><item><title>设计模式之观察者模式：一对多依赖，状态变更自动通知</title><link>https://evo8.cn/posts/observer-pattern/</link><guid isPermaLink="true">https://evo8.cn/posts/observer-pattern/</guid><description>定义对象之间的一对多依赖，当主题对象变化时所有观察者都收到通知并更新。以课程被提问、老师接收通知为例，讲清 Observable/Observer 的实现、观察者与主题的抽象耦合、广播通信能力。</description><pubDate>Sun, 19 Jul 2020 01:30:00 GMT</pubDate></item><item><title>Docker 入门：为什么容器化是 AI 时代的必备技能</title><link>https://evo8.cn/posts/docker-introduction/</link><guid isPermaLink="true">https://evo8.cn/posts/docker-introduction/</guid><description>从「在我机器上能跑」到「一次构建，处处运行」，理解 Docker 解决的真实问题，以及它对 AI 应用研发的革命性意义。</description><pubDate>Wed, 15 Jul 2020 01:30:00 GMT</pubDate></item><item><title>设计模式之模板方法模式：固定骨架，可变步骤</title><link>https://evo8.cn/posts/template-method-pattern/</link><guid isPermaLink="true">https://evo8.cn/posts/template-method-pattern/</guid><description>定义一个算法的骨架，一次性实现算法不变的部分，允许子类为一个或多个步骤提供实现。以制作课程为例，讲清模板方法、具体方法、钩子方法、抽象方法四种构成要素，以及模板方法的扩展性与复用性。</description><pubDate>Sun, 05 Jul 2020 01:30:00 GMT</pubDate></item><item><title>设计模式之策略模式：算法家族，自由切换</title><link>https://evo8.cn/posts/strategy-pattern/</link><guid isPermaLink="true">https://evo8.cn/posts/strategy-pattern/</guid><description>定义算法家族，分别封装起来，让它们之间可以相互替换，使算法的变化不影响使用算法的用户。以促销策略为例，讲清策略接口/具体策略/策略工厂的结构，以及 Comparator 等经典应用。</description><pubDate>Sun, 21 Jun 2020 01:30:00 GMT</pubDate></item><item><title>DDD 复杂业务系统设计（总结）：从领域到微服务，一张图看懂 DDD 落地全流程</title><link>https://evo8.cn/posts/ddd-complex-system-summary/</link><guid isPermaLink="true">https://evo8.cn/posts/ddd-complex-system-summary/</guid><description>DDD 复杂业务系统设计 10 篇系列总结：完整脉络地图（三层视角/落地路径/成熟度/核心心法）、关键概念速查、落地分阶段、10 条避坑指南、推荐书单。</description><pubDate>Wed, 10 Jun 2020 08:00:00 GMT</pubDate></item><item><title>设计模式之享元模式：共享细粒度对象，降低内存占用</title><link>https://evo8.cn/posts/flyweight-pattern/</link><guid isPermaLink="true">https://evo8.cn/posts/flyweight-pattern/</guid><description>运用共享技术有效支持大量细粒度的对象，减少对象数量从而改善应用结构。讲清享元模式的内部状态与外部状态、Map 缓存复用实现、连接池等经典场景，以及线程安全与逻辑复杂化两大难点。</description><pubDate>Sun, 07 Jun 2020 01:30:00 GMT</pubDate></item><item><title>DDD 复杂业务系统设计（十）：从战略到微服务，一张图跑通 DDD+中台+微服务</title><link>https://evo8.cn/posts/ddd-complex-system-10/</link><guid isPermaLink="true">https://evo8.cn/posts/ddd-complex-system-10/</guid><description>讲清楚 DDD、中台、微服务三者的协作模式，以及中台建模的 5 步法。</description><pubDate>Wed, 27 May 2020 07:00:00 GMT</pubDate></item><item><title>设计模式之外观模式：统一门面，简化子系统调用</title><link>https://evo8.cn/posts/facade-pattern/</link><guid isPermaLink="true">https://evo8.cn/posts/facade-pattern/</guid><description>提供一个统一的接口来访问子系统的一群接口。讲清外观模式在子系统复杂化时的价值、四个优点（简化调用/减少依赖/划分层次/符合迪米特法则）、两个缺点，以及门面对象聚合子系统的实现方式。</description><pubDate>Sun, 24 May 2020 01:30:00 GMT</pubDate></item><item><title>DDD 复杂业务系统设计（九）：中台，在线教育平台到底应该共享什么</title><link>https://evo8.cn/posts/ddd-complex-system-9/</link><guid isPermaLink="true">https://evo8.cn/posts/ddd-complex-system-9/</guid><description>讲清楚中台和平台的关系，业务中台/数据中台的区别，以及前中后台如何协同。</description><pubDate>Mon, 11 May 2020 02:00:00 GMT</pubDate></item><item><title>设计模式之代理模式：静态代理与 JDK 动态代理</title><link>https://evo8.cn/posts/proxy-pattern/</link><guid isPermaLink="true">https://evo8.cn/posts/proxy-pattern/</guid><description>为其他对象提供一种代理以控制对这个对象的访问。讲清代理模式的角色结构与优缺点，深入 JDK 动态代理的底层原理（$Proxy0 继承 Proxy、InvocationHandler.invoke 调用链），以及如何用 JVM 参数导出生成的代理类。</description><pubDate>Sun, 10 May 2020 01:30:00 GMT</pubDate></item><item><title>设计模式之装饰者模式：动态增强，比继承更有弹性</title><link>https://evo8.cn/posts/decorator-pattern/</link><guid isPermaLink="true">https://evo8.cn/posts/decorator-pattern/</guid><description>在不改变原有对象的基础上将功能附加到对象上，提供比继承更有弹性的替代方案。以煎饼摊加蛋为例，讲清抽象组件/具体组件/抽象装饰者/具体装饰者的角色结构，以及装饰者的动态叠加与撤销能力。</description><pubDate>Sun, 26 Apr 2020 01:30:00 GMT</pubDate></item><item><title>DDD 复杂业务系统设计（八）：整洁架构 vs 六边形架构 vs DDD 分层，我选哪一种</title><link>https://evo8.cn/posts/ddd-complex-system-8/</link><guid isPermaLink="true">https://evo8.cn/posts/ddd-complex-system-8/</guid><description>对比三种主流架构模型，分析它们的共性，给出实操选型建议。</description><pubDate>Wed, 22 Apr 2020 06:00:00 GMT</pubDate></item><item><title>设计模式之桥接模式：抽象与实现分离，各自独立变化</title><link>https://evo8.cn/posts/bridge-pattern/</link><guid isPermaLink="true">https://evo8.cn/posts/bridge-pattern/</guid><description>将抽象部分与具体实现部分分离，使它们都可以独立变化。以银行与账户两个独立变化维度为例，讲清如何用组合替代继承、识别系统中的两个变化维度，以及桥接模式对开闭原则和合成复用原则的体现。</description><pubDate>Sun, 12 Apr 2020 01:30:00 GMT</pubDate></item><item><title>DDD 复杂业务系统设计（七）：分层架构，你的“业务代码”应该待在哪一层</title><link>https://evo8.cn/posts/ddd-complex-system-7/</link><guid isPermaLink="true">https://evo8.cn/posts/ddd-complex-system-7/</guid><description>讲清楚 DDD 四层架构的职责划分、严格分层原则、三层架构如何演进到 DDD 分层。</description><pubDate>Wed, 08 Apr 2020 01:00:00 GMT</pubDate></item><item><title>设计模式之适配器模式：让不兼容的接口协同工作</title><link>https://evo8.cn/posts/adapter-pattern/</link><guid isPermaLink="true">https://evo8.cn/posts/adapter-pattern/</guid><description>将一个类的接口转换成客户期望的另一个接口，使原本不兼容的接口可以一起工作。以 220V 交流电转 5V 直流的电源适配器为例，讲清对象适配器与类适配器的实现区别、适用场景与优缺点。</description><pubDate>Sun, 29 Mar 2020 01:30:00 GMT</pubDate></item><item><title>DDD 复杂业务系统设计（六）：领域事件，让“作业提交”自动触发批改进度</title><link>https://evo8.cn/posts/ddd-complex-system-6/</link><guid isPermaLink="true">https://evo8.cn/posts/ddd-complex-system-6/</guid><description>讲清楚领域事件的概念、识别方法、跨聚合/跨服务的事件机制，以及事件总线的实现。</description><pubDate>Wed, 25 Mar 2020 03:00:00 GMT</pubDate></item><item><title>TCP 与 UDP：三次握手、四次挥手、SYN 攻击与选型</title><link>https://evo8.cn/posts/tcp-and-udp-protocol/</link><guid isPermaLink="true">https://evo8.cn/posts/tcp-and-udp-protocol/</guid><description>OSI 七层与 TCP/IP 四层模型、TCP 三次握手/四次挥手状态机（含 SYN_RCVD/TIME_WAIT 等 11 个状态）、为何是三次而非两次、SYN 洪泛攻击与四种防御、2MSL 等待原因，并补全 UDP 协议特性与 TCP/UDP 选型矩阵（DNS/视频流/游戏分别该用哪个）。</description><pubDate>Mon, 23 Mar 2020 01:30:00 GMT</pubDate></item><item><title>设计模式之建造者模式：复杂对象的组装艺术</title><link>https://evo8.cn/posts/builder-pattern/</link><guid isPermaLink="true">https://evo8.cn/posts/builder-pattern/</guid><description>将一个复杂对象的构建与表示分离，让同样的构建过程可以创建不同的表示。对比建造者与工厂模式的本质区别，拆解 Computer 链式 Builder 的实现，讲解 Director/Builder 角色分工、Lombok @Builder、StringBuilder 等经典应用。</description><pubDate>Sun, 15 Mar 2020 01:30:00 GMT</pubDate></item><item><title>DDD 复杂业务系统设计（五）：聚合与聚合根，一个“选课单”应该装多少东西</title><link>https://evo8.cn/posts/ddd-complex-system-5/</link><guid isPermaLink="true">https://evo8.cn/posts/ddd-complex-system-5/</guid><description>讲清楚聚合、聚合根的概念，5 步设计法，以及设计小聚合的实战原则。</description><pubDate>Wed, 11 Mar 2020 02:30:00 GMT</pubDate></item><item><title>设计模式之工厂模式：简单工厂、工厂方法与抽象工厂</title><link>https://evo8.cn/posts/factory-pattern/</link><guid isPermaLink="true">https://evo8.cn/posts/factory-pattern/</guid><description>以慕课网课程（Video/Article）为例，讲清简单工厂、工厂方法、抽象工厂三种模式的区别：如何创建对象、如何符合开闭原则、如何用产品族避免类爆炸，以及各自的优缺点与适用场景。</description><pubDate>Sun, 01 Mar 2020 01:30:00 GMT</pubDate></item><item><title>DDD 复杂业务系统设计（四）：实体与值对象，把“学员”和“地址”放进代码的两种姿势</title><link>https://evo8.cn/posts/ddd-complex-system-4/</link><guid isPermaLink="true">https://evo8.cn/posts/ddd-complex-system-4/</guid><description>讲清楚 DDD 中实体和值对象的区别，以及它们在业务/代码/运行/数据库四个阶段的形态。</description><pubDate>Wed, 26 Feb 2020 07:30:00 GMT</pubDate></item><item><title>ZooKeeper 原理与实践：数据模型、Watcher 与 ZAB 协议</title><link>https://evo8.cn/posts/zookeeper-core-concepts/</link><guid isPermaLink="true">https://evo8.cn/posts/zookeeper-core-concepts/</guid><description>从分布式协调的痛点出发，讲清 ZooKeeper 的树形数据模型、节点类型与版本号乐观锁、Session 会话机制、基础命令、一次性 Watcher，以及保证数据一致性的 ZAB 原子广播协议与崩溃恢复流程。</description><pubDate>Mon, 24 Feb 2020 01:30:00 GMT</pubDate></item><item><title>设计模式之原型模式，及深浅拷贝</title><link>https://evo8.cn/posts/prototype-pattern-deep-shallow-copy/</link><guid isPermaLink="true">https://evo8.cn/posts/prototype-pattern-deep-shallow-copy/</guid><description>介绍原型模式的使用场景与实现原理，分析浅拷贝与深拷贝的区别，以及ArrayList的clone实现细节。</description><pubDate>Sat, 22 Feb 2020 00:00:00 GMT</pubDate></item><item><title>Linux 命令大全：SSH 免登录、查找、防火墙与运维必会命令</title><link>https://evo8.cn/posts/linux-command-cheatsheet/</link><guid isPermaLink="true">https://evo8.cn/posts/linux-command-cheatsheet/</guid><description>2020 年整理的 Linux 命令速查：SSH 免登录与主机名、find/grep/sed 查找、组合命令、CentOS 7 防火墙、磁盘内存、开机启动与 systemctl、ImageMagick 图片批处理。</description><pubDate>Fri, 21 Feb 2020 01:30:00 GMT</pubDate></item><item><title>软件设计原则：SOLID + KISS / YAGNI / LOD 全景</title><link>https://evo8.cn/posts/software-design-principles/</link><guid isPermaLink="true">https://evo8.cn/posts/software-design-principles/</guid><description>SOLID 五大原则（SRP/OCP/LSP/ISP/DIP）+ KISS/YAGNI/LOD 三大辅助原则，每个原则配 Java 反例与正例代码、Spring/Tomcat/MyBatis 真实落地案例，并讨论原则间的冲突与取舍。</description><pubDate>Sat, 15 Feb 2020 01:30:00 GMT</pubDate></item><item><title>DDD 复杂业务系统设计（三）：限界上下文，为什么“课程”在教务和市场是两种东西</title><link>https://evo8.cn/posts/ddd-complex-system-3/</link><guid isPermaLink="true">https://evo8.cn/posts/ddd-complex-system-3/</guid><description>讲清楚通用语言、限界上下文的概念，以及为什么它直接决定微服务的边界。</description><pubDate>Mon, 10 Feb 2020 06:00:00 GMT</pubDate></item><item><title>DDD 复杂业务系统设计（二）：领域与子域，把“学校/课程/学员”拆成三件事再说</title><link>https://evo8.cn/posts/ddd-complex-system-2/</link><guid isPermaLink="true">https://evo8.cn/posts/ddd-complex-system-2/</guid><description>讲清楚领域、子域、核心域、通用域、支撑域的区别，配在线教育 SaaS 案例。</description><pubDate>Wed, 22 Jan 2020 02:00:00 GMT</pubDate></item><item><title>DDD 复杂业务系统设计（一）：为什么从“领域”开始，比从“数据库”开始更靠谱</title><link>https://evo8.cn/posts/ddd-complex-system-1/</link><guid isPermaLink="true">https://evo8.cn/posts/ddd-complex-system-1/</guid><description>从传统开发痛点出发，讲清楚为什么复杂 SaaS 必须先做领域设计，再谈微服务拆分。</description><pubDate>Wed, 08 Jan 2020 01:30:00 GMT</pubDate></item><item><title>分布式事务五种方案：消息驱动 / XA / TCC / 本地消息表 / Saga</title><link>https://evo8.cn/posts/distributed-transaction-patterns/</link><guid isPermaLink="true">https://evo8.cn/posts/distributed-transaction-patterns/</guid><description>微服务下的事务一致性全景：CAP 与 BASE 理论、五种主流方案的取舍（可靠消息最终一致、XA 两阶段强一致、TCC 补偿、本地消息表、Saga 长事务），含 TM/RM 交互图与 TccMethod 接口定义，并对比 Seata 三种模式（AT/TCC/Saga）。</description><pubDate>Mon, 30 Dec 2019 01:30:00 GMT</pubDate></item><item><title>CAP 与 BASE：分布式系统的理论基石</title><link>https://evo8.cn/posts/cap-and-base-theory/</link><guid isPermaLink="true">https://evo8.cn/posts/cap-and-base-theory/</guid><description>CAP 定理（一致性/可用性/分区容错三选二，P 必选所以实际 CP vs AP）、一致性三级（强/弱/最终）、BASE 理论（基本可用/软状态/最终一致性），附注册中心选型实战：ZooKeeper CP、Eureka AP、Nacos 双模式。</description><pubDate>Mon, 23 Dec 2019 01:30:00 GMT</pubDate></item><item><title>Nginx：高性能原理与常用配置（负载均衡 / 跨域 / 防盗链）</title><link>https://evo8.cn/posts/nginx-basics-and-config/</link><guid isPermaLink="true">https://evo8.cn/posts/nginx-basics-and-config/</guid><description>Nginx 为什么性能高——惊群效应的解决、epoll 异步非阻塞事件模型、master-worker 架构；附 worker_connections、sendfile、gzip、location root/alias、upstream 负载均衡（weight/max_conns/backup）、CORS 跨域、防盗链 valid_referers 的实战配置。</description><pubDate>Mon, 16 Dec 2019 01:30:00 GMT</pubDate></item><item><title>MySQL 知识系列（九）：CASE 语句、乐观锁与悲观锁实战</title><link>https://evo8.cn/posts/mysql-case-and-locks/</link><guid isPermaLink="true">https://evo8.cn/posts/mysql-case-and-locks/</guid><description>用一条 UPDATE 实现多字段分支更新的 CASE WHEN 写法、悲观锁（SELECT FOR UPDATE / LOCK IN SHARE MODE）、乐观锁（版本号/时间戳 + 重试）、秒杀库存扣减的 3 种并发方案对比、锁选型决策树（读响应度/读写比/冲突率）。</description><pubDate>Fri, 25 Oct 2019 12:00:00 GMT</pubDate></item><item><title>MySQL 知识系列（八）：SQL 调优（二）—— 索引设计与调优工具</title><link>https://evo8.cn/posts/mysql-tuning-index-design/</link><guid isPermaLink="true">https://evo8.cn/posts/mysql-tuning-index-design/</guid><description>最左前缀原则的底层原理、联合索引顺序 3 大黄金法则、覆盖索引实战、函数操作导致索引失效案例、COUNT(*) vs COUNT(1) vs COUNT(列)、慢查询日志分析、mysqldumpslow 与 pt-query-digest 工具实战。</description><pubDate>Wed, 16 Oct 2019 07:00:00 GMT</pubDate></item><item><title>MySQL 知识系列（七）：SQL 调优（一）—— EXPLAIN 执行计划</title><link>https://evo8.cn/posts/mysql-tuning-explain/</link><guid isPermaLink="true">https://evo8.cn/posts/mysql-tuning-explain/</guid><description>EXPLAIN 各字段详解（table/type/possible_keys/key/key_len/ref/rows/Extra）、type 性能 7 档（system/const/eq_ref/ref/range/index/ALL）、Extra 关键字（Using filesort/temporary/index）、ORDER BY 索引排序原理与 limit 深分页优化、松散索引扫描（MySQL 8 突破最左前缀）。</description><pubDate>Mon, 07 Oct 2019 02:00:00 GMT</pubDate></item><item><title>Redis 知识系列（四）：集群与缓存架构</title><link>https://evo8.cn/posts/redis-cluster-and-cache-architecture/</link><guid isPermaLink="true">https://evo8.cn/posts/redis-cluster-and-cache-architecture/</guid><description>数据分布算法（节点取余/一致性哈希/虚拟槽）、Redis Cluster 集群的 meet/指派槽/伸缩/客户端路由、分布式锁的实现演进、四大缓存问题（穿透/雪崩/无底洞/热点 key）。</description><pubDate>Sun, 06 Oct 2019 05:00:00 GMT</pubDate></item><item><title>MySQL 知识系列（六）：SQL 注入、版本特性与容量评估</title><link>https://evo8.cn/posts/mysql-injection-version-and-tuning/</link><guid isPermaLink="true">https://evo8.cn/posts/mysql-injection-version-and-tuning/</guid><description>SQL 注入原理与 PreparedStatement 防护、MySQL 8.0 关键新特性（窗口函数/直方图/caching_sha2_password）、三大发行版（MySQL/Percona/MariaDB）对比、版本升级方法论、数据类型与全文索引选型。</description><pubDate>Fri, 27 Sep 2019 21:00:00 GMT</pubDate></item><item><title>Redis 知识系列（三）：持久化与高可用</title><link>https://evo8.cn/posts/redis-persistence-and-high-availability/</link><guid isPermaLink="true">https://evo8.cn/posts/redis-persistence-and-high-availability/</guid><description>RDB 与 AOF 持久化原理、RDB-AOF 混合模式、AOF 阻塞机制、主从复制的全量/增量同步、复制风暴治理、Sentinel 哨兵架构与故障迁移。</description><pubDate>Fri, 27 Sep 2019 03:00:00 GMT</pubDate></item><item><title>MySQL 知识系列（五）：隔离级别、Spring 事务与查询流程</title><link>https://evo8.cn/posts/mysql-isolation-and-spring-transaction/</link><guid isPermaLink="true">https://evo8.cn/posts/mysql-isolation-and-spring-transaction/</guid><description>四种事务隔离级别（RU/RC/RR/SR）特性对比、Spring 7 种事务传播机制实战解读、多数据源 ChainedTransactionManager 链式事务原理、查询请求完整处理流程与查询缓存细节。</description><pubDate>Wed, 18 Sep 2019 19:00:00 GMT</pubDate></item><item><title>Redis 知识系列（二）：高效使用</title><link>https://evo8.cn/posts/redis-efficient-usage/</link><guid isPermaLink="true">https://evo8.cn/posts/redis-efficient-usage/</guid><description>常用命令与 INFO 详解、事务与 Lua 的取舍、批量与 Pipeline 优化、异步队列、连接池调优、慢查询实战定位。</description><pubDate>Tue, 17 Sep 2019 02:00:00 GMT</pubDate></item><item><title>MySQL 知识系列（四）：日志系统：redo log、undo log、binlog</title><link>https://evo8.cn/posts/mysql-log-system/</link><guid isPermaLink="true">https://evo8.cn/posts/mysql-log-system/</guid><description>InnoDB redo log（崩溃恢复，物理日志）+ undo log（事务回滚/MVCC，逻辑日志）+ MySQL Server binlog（主从复制，归档日志）的工作机制、刷盘策略与两阶段提交原理。</description><pubDate>Tue, 10 Sep 2019 14:00:00 GMT</pubDate></item><item><title>Redis 知识系列（一）：数据结构与单机原理</title><link>https://evo8.cn/posts/redis-data-structures-and-principles/</link><guid isPermaLink="true">https://evo8.cn/posts/redis-data-structures-and-principles/</guid><description>从 Redis 为什么快讲起，覆盖 9 种数据类型与底层实现、键过期机制、内存淘汰策略、bigkey 治理，以及与 Memcached 的核心差异。</description><pubDate>Sun, 08 Sep 2019 02:00:00 GMT</pubDate></item><item><title>MySQL 知识系列（三）：锁机制与并发控制</title><link>https://evo8.cn/posts/mysql-lock-and-mvcc/</link><guid isPermaLink="true">https://evo8.cn/posts/mysql-lock-and-mvcc/</guid><description>从全局锁 FTWRL 到表级 lock tables/MDL 锁、再到行级 S/X 锁、MVCC 多版本并发控制原理、Next-Key Lock 与间隙锁如何解决 RR 隔离级别下的幻读。</description><pubDate>Sun, 01 Sep 2019 10:00:00 GMT</pubDate></item><item><title>MySQL 知识系列（二）：索引结构与查询原理</title><link>https://evo8.cn/posts/mysql-index-structure-and-principle/</link><guid isPermaLink="true">https://evo8.cn/posts/mysql-index-structure-and-principle/</guid><description>从哈希/平衡二叉树/B 树一路演进到 B+ 树、InnoDB 聚簇索引与辅助索引的回表机制、MyISAM 非聚簇索引对比、Btree 索引的 4 大使用限制。</description><pubDate>Fri, 23 Aug 2019 05:00:00 GMT</pubDate></item><item><title>MySQL 知识系列（一）：整体架构与存储引擎</title><link>https://evo8.cn/posts/mysql-architecture-and-storage-engine/</link><guid isPermaLink="true">https://evo8.cn/posts/mysql-architecture-and-storage-engine/</guid><description>从客户端到文件系统的四层架构、SQL 语句执行流程（连接器→分析器→优化器→执行器）、MyISAM/InnoDB/CSV/Archive/Memory 五大存储引擎对比、InnoDB 事务实现基础（redo/undo log）。</description><pubDate>Thu, 15 Aug 2019 02:00:00 GMT</pubDate></item><item><title>Filter、Interceptor 与 Aspect：三个请求拦截层次详解</title><link>https://evo8.cn/posts/filter-interceptor-aspect/</link><guid isPermaLink="true">https://evo8.cn/posts/filter-interceptor-aspect/</guid><description>从 Servlet 容器到 Spring MVC 再到 AOP 代理，梳理 Filter、Interceptor、Aspect 三种拦截机制的执行时机、实现方式与选型建议，配完整可运行的 Spring Boot 示例。</description><pubDate>Sun, 27 Jan 2019 01:30:00 GMT</pubDate></item><item><title>Dubbo 服务拆分与架构设计：子系统划分的四大原则</title><link>https://evo8.cn/posts/dubbo-architecture-and-service-design/</link><guid isPermaLink="true">https://evo8.cn/posts/dubbo-architecture-and-service-design/</guid><description>分布式改造的核心是服务怎么拆。从数据库、依赖、链路、事务四个维度讲清子系统划分的四大原则，附服务接口设计与版本管理的最佳实践。</description><pubDate>Sun, 05 Aug 2018 02:30:00 GMT</pubDate></item><item><title>Dubbo 集群容错：架构、五种模式与服务暴露</title><link>https://evo8.cn/posts/dubbo-cluster-fault-tolerance/</link><guid isPermaLink="true">https://evo8.cn/posts/dubbo-cluster-fault-tolerance/</guid><description>拆解 Dubbo 集群容错的完整调用链（Cluster → Directory → Router → LoadBalance → Invoker），详述 Failover/Failfast/Failsafe/Failback/Forking 五种容错模式，以及服务暴露原理。</description><pubDate>Mon, 30 Jul 2018 07:30:00 GMT</pubDate></item><item><title>Dubbo 负载均衡：四种策略与源码分析</title><link>https://evo8.cn/posts/dubbo-load-balance/</link><guid isPermaLink="true">https://evo8.cn/posts/dubbo-load-balance/</guid><description>深入 Dubbo 四种负载均衡策略：按权重随机 Random、轮询 RoundRobin、最少活跃数 LeastActive、一致性哈希，配源码逐行分析算法实现。</description><pubDate>Fri, 27 Jul 2018 05:30:00 GMT</pubDate></item><item><title>Dubbo 注册中心与直连调试：只订阅、只注册、多注册中心</title><link>https://evo8.cn/posts/dubbo-registry-and-direct-connect/</link><guid isPermaLink="true">https://evo8.cn/posts/dubbo-registry-and-direct-connect/</guid><description>开发调试阶段连接服务的四种玩法：直连服务者、只订阅不注册、只注册不订阅、多注册中心。附 Spring Boot 与 XML 两种配置示例和典型场景。</description><pubDate>Tue, 24 Jul 2018 03:30:00 GMT</pubDate></item><item><title>Dubbo 入门：什么是 RPC 与服务治理？</title><link>https://evo8.cn/posts/dubbo-introduction/</link><guid isPermaLink="true">https://evo8.cn/posts/dubbo-introduction/</guid><description>从分布式系统拆分的痛点出发，讲清 Dubbo 是什么、RPC 远程调用的基本原理、Dubbo 能解决什么问题，以及它与 HTTP 接口、Spring Cloud 的区别。</description><pubDate>Wed, 18 Jul 2018 01:30:00 GMT</pubDate></item><item><title>Kafka（下）：消费者、消息有序性、命令与集群搭建</title><link>https://evo8.cn/posts/kafka-consumer-and-ops/</link><guid isPermaLink="true">https://evo8.cn/posts/kafka-consumer-and-ops/</guid><description>Kafka 实战收尾：Consumer Group 机制、单 partition 有序与业务级有序（key+offset）、消息重复消费三大原因、本地启动与 CLI 命令、集群搭建与 leader/replicas/isr 字段解读、设计一个 MQ 该考虑什么。</description><pubDate>Thu, 07 Jun 2018 01:30:00 GMT</pubDate></item><item><title>Kafka（中）：吞吐量为什么这么大——日志、零拷贝、批量</title><link>https://evo8.cn/posts/kafka-high-throughput/</link><guid isPermaLink="true">https://evo8.cn/posts/kafka-high-throughput/</guid><description>Kafka 高吞吐四大支柱：日志顺序读写（磁盘顺序 IO 接近内存）、partition 并行、批量发送 + 数据压缩、sendfile 零拷贝（4 步→2 步）；附 segment/index/log 稀疏索引原理与 transferTo 流程。</description><pubDate>Thu, 24 May 2018 01:30:00 GMT</pubDate></item><item><title>Kafka（上）：特性、应用场景与消息传递保障</title><link>https://evo8.cn/posts/kafka-overview/</link><guid isPermaLink="true">https://evo8.cn/posts/kafka-overview/</guid><description>Kafka 入门：分布式流处理平台定位、四大典型场景（日志/流式/消息/监控）、消息传递三种语义（最多一次/至少一次/只有一次）、acks 配置 0/1/all 三档对比、与 RabbitMQ 的定位差异。</description><pubDate>Thu, 10 May 2018 01:30:00 GMT</pubDate></item><item><title>消息队列（末）：RabbitMQ 集群与高可用四种模式</title><link>https://evo8.cn/posts/rabbitmq-cluster-and-ha/</link><guid isPermaLink="true">https://evo8.cn/posts/rabbitmq-cluster-and-ha/</guid><description>RabbitMQ 高可用全景：普通集群（元数据共享、消息单点）、镜像队列（master/slave 同步、最强 HA）、Warren 主备模式、Shovel 远程模式；附 master 选举与消息有序性原理。</description><pubDate>Thu, 19 Apr 2018 01:30:00 GMT</pubDate></item><item><title>消息队列（下）：Spring Boot 集成 RabbitMQ 实战</title><link>https://evo8.cn/posts/rabbitmq-spring-integration/</link><guid isPermaLink="true">https://evo8.cn/posts/rabbitmq-spring-integration/</guid><description>Spring Boot 整合 RabbitMQ 全解：application.yml 配置（prefetch/acknowledge-mode/concurrency/publisher-confirms）、生产者 ConfirmCallback 与 ReturnCallback、消费者 @RabbitListener + @QueueBinding 声明、手动 ACK、路由键模式匹配（aaa.* vs aaa.#）。</description><pubDate>Thu, 05 Apr 2018 01:30:00 GMT</pubDate></item><item><title>消息队列（中）：RabbitMQ 安装与命令速查</title><link>https://evo8.cn/posts/rabbitmq-install-and-commands/</link><guid isPermaLink="true">https://evo8.cn/posts/rabbitmq-install-and-commands/</guid><description>RabbitMQ 实战第一篇：Erlang 环境准备、RabbitMQ 安装、web 监控与消息跟踪插件启用、rabbitmqctl 用户/队列/交换机命令速查、配置文件位置与初始化。</description><pubDate>Thu, 22 Mar 2018 01:30:00 GMT</pubDate></item><item><title>消息队列开篇：为什么用 MQ + 主流选型对比</title><link>https://evo8.cn/posts/rabbitmq-overview/</link><guid isPermaLink="true">https://evo8.cn/posts/rabbitmq-overview/</guid><description>MQ 三大核心价值（解耦、异步、削峰填谷）与四大主流选型（ActiveMQ / RabbitMQ / RocketMQ / Kafka）横评；从 AMQP 协议的 Exchange/Queue/Binding 三大模型入门 RabbitMQ。</description><pubDate>Thu, 08 Mar 2018 01:30:00 GMT</pubDate></item><item><title>堆内存区域全景：Eden/Survivor/Old + PermGen/Metaspace 演进</title><link>https://evo8.cn/posts/gc-memory-regions/</link><guid isPermaLink="true">https://evo8.cn/posts/gc-memory-regions/</guid><description>JVM 堆内存区域总览：Eden + Survivor + Old 三区协作、TLAB 线程本地分配、Tenuring Threshold 晋升机制；PermGen 到 Metaspace 的演进及 CCS/CodeCache 等非堆区。</description><pubDate>Tue, 05 Dec 2017 01:30:00 GMT</pubDate></item><item><title>垃圾收集器大阅兵：Serial/ParNew/Parallel/CMS/G1</title><link>https://evo8.cn/posts/gc-collectors/</link><guid isPermaLink="true">https://evo8.cn/posts/gc-collectors/</guid><description>HotSpot 七大垃圾收集器全景：Serial 单线程、ParNew 多线程、Parallel Scavenge 吞吐量优先、CMS 停顿最短、G1 整体标记-整理+局部复制。CMS 四阶段详解与 G1 时代前瞻。</description><pubDate>Sat, 25 Nov 2017 01:30:00 GMT</pubDate></item><item><title>垃圾收集算法三板斧：标记-清除、复制、标记-整理</title><link>https://evo8.cn/posts/gc-algorithms/</link><guid isPermaLink="true">https://evo8.cn/posts/gc-algorithms/</guid><description>三大经典垃圾收集算法解析：标记-清除（Mark-Sweep，效率+碎片问题）、复制算法（Copying，HotSpot 新生代 8:1:1）、标记-整理（Mark-Compact，老年代标配，STW 移动对象）。</description><pubDate>Thu, 16 Nov 2017 01:30:00 GMT</pubDate></item><item><title>GC 怎么判断对象「该死了」：引用计数 vs 可达性分析</title><link>https://evo8.cn/posts/gc-object-liveness/</link><guid isPermaLink="true">https://evo8.cn/posts/gc-object-liveness/</guid><description>两种主流对象存活判定算法：引用计数法（Python/Perl/PHP，实现简单但无法处理循环引用）与可达性分析算法（Java/C#，从 GC Roots 出发追踪引用链）。</description><pubDate>Tue, 07 Nov 2017 01:30:00 GMT</pubDate></item><item><title>GC 调优入门：参数、工具与参考值</title><link>https://evo8.cn/posts/gc-tuning-and-tools/</link><guid isPermaLink="true">https://evo8.cn/posts/gc-tuning-and-tools/</guid><description>GC 调优第一课：PrintGCDetails 等日志参数、gceasy/gcviewer 工具、jstat 命令行分析、YoungGC/FullGC 频率与时长的合理参考值。</description><pubDate>Mon, 30 Oct 2017 01:30:00 GMT</pubDate></item><item><title>一文拿下 JVM（锁篇）：synchronized 锁的升级与三种锁对比</title><link>https://evo8.cn/posts/jvm-lock-optimization/</link><guid isPermaLink="true">https://evo8.cn/posts/jvm-lock-optimization/</guid><description>synchronized 锁的完整升级路径：对象头 Mark Word → 偏向锁 → 轻量级锁（自旋 / 自适应自旋）→ 重量级锁 Monitor，附 synchronized / ReentrantLock / ReentrantReadWriteLock 对比。</description><pubDate>Tue, 03 Oct 2017 01:30:00 GMT</pubDate></item><item><title>一文拿下 JVM（终章）：对象创建的 7 个步骤</title><link>https://evo8.cn/posts/jvm-object-allocation/</link><guid isPermaLink="true">https://evo8.cn/posts/jvm-object-allocation/</guid><description>一个 new Object() 在 JVM 内部经历的 7 步流程：类加载检查、TLAB 分配、指针碰撞、空闲列表、内存零值、对象头设置、init 方法。</description><pubDate>Sat, 23 Sep 2017 01:30:00 GMT</pubDate></item><item><title>一文拿下 JVM（番外）：OOM 排查与 MAT / JVisualVM 实战</title><link>https://evo8.cn/posts/jvm-oom-and-tools/</link><guid isPermaLink="true">https://evo8.cn/posts/jvm-oom-and-tools/</guid><description>线上 OOM 怎么救：自动导出 heap dump、jmap 手动导出、MAT 看对象数量与 GC Roots、JVisualVM 远程监控与 CPU/内存抽样。</description><pubDate>Wed, 13 Sep 2017 01:30:00 GMT</pubDate></item><item><title>一文拿下 JVM（下）：逃逸分析与代码优化</title><link>https://evo8.cn/posts/jvm-escape-analysis/</link><guid isPermaLink="true">https://evo8.cn/posts/jvm-escape-analysis/</guid><description>JVM 逃逸分析全解：方法逃逸、线程逃逸、栈上分配、标量替换、同步消除四大优化手段，附 JDK 1.8 实测数据对比。</description><pubDate>Sun, 03 Sep 2017 01:30:00 GMT</pubDate></item><item><title>一文拿下 JVM（中）：参数配置与常用命令</title><link>https://evo8.cn/posts/jvm-params-and-commands/</link><guid isPermaLink="true">https://evo8.cn/posts/jvm-params-and-commands/</guid><description>JVM 参数配置速查：-Xms/-Xmx/-Xss/-Xmn 含义、Metaspace 与 PermGen 区别、jps/jinfo/jstat/jmap/jstack 五大常用命令实战。</description><pubDate>Thu, 24 Aug 2017 01:30:00 GMT</pubDate></item><item><title>一文拿下 JVM（上）：内存区域全景</title><link>https://evo8.cn/posts/jvm-overview/</link><guid isPermaLink="true">https://evo8.cn/posts/jvm-overview/</guid><description>JVM 内存区域总览：堆、虚拟机栈、本地方法栈、程序计数器、方法区五大模块，从栈帧到局部变量表到操作数栈的完整解析。</description><pubDate>Tue, 15 Aug 2017 01:30:00 GMT</pubDate></item><item><title>mac 系统的 IntelliJ IDEA 快捷键大全</title><link>https://evo8.cn/posts/idea-shortcuts-mac/</link><guid isPermaLink="true">https://evo8.cn/posts/idea-shortcuts-mac/</guid><description>macOS 下 IntelliJ IDEA 全键盘操作手册：编辑、导航、搜索替换、重构、调试、Postfix 模板一网打尽，按 ⌘ / ⌥ / ⌃ / ⇧ 四个修饰键归类速查。</description><pubDate>Sun, 30 Jul 2017 01:30:00 GMT</pubDate></item><item><title>Maven 入门到精通：依赖管理、生命周期与多模块项目</title><link>https://evo8.cn/posts/maven-introduction/</link><guid isPermaLink="true">https://evo8.cn/posts/maven-introduction/</guid><description>从 Maven 解决了什么开始，系统讲透 POM、依赖、生命周期、插件、多模块、Profile、版本管理与常见错误排查——一份当年发布即可直接上手的完整教程。</description><pubDate>Fri, 28 Apr 2017 01:30:00 GMT</pubDate></item><item><title>Git 知识系列（六）：仓库维护与排错</title><link>https://evo8.cn/posts/git-repo-maintenance-and-troubleshoot/</link><guid isPermaLink="true">https://evo8.cn/posts/git-repo-maintenance-and-troubleshoot/</guid><description>常见 Git 错误处理（untracked files would be overwritten）、.git 瘦身（BFG / git filter-repo）、远程分支切换、文件级历史版本恢复、cherry-pick 与 bisect 高级工具。</description><pubDate>Wed, 29 Jun 2016 21:00:00 GMT</pubDate></item><item><title>Git 知识系列（五）：标签、忽略与子模块</title><link>https://evo8.cn/posts/git-tags-ignore-submodule/</link><guid isPermaLink="true">https://evo8.cn/posts/git-tags-ignore-submodule/</guid><description>Git 标签（轻量标签 vs 附注标签）、.gitignore 配置语法、强制添加已忽略文件、子模块（submodule）的添加与更新。</description><pubDate>Mon, 20 Jun 2016 16:00:00 GMT</pubDate></item><item><title>Git 知识系列（四）：分支管理与远程协作</title><link>https://evo8.cn/posts/git-branch-management-and-remote/</link><guid isPermaLink="true">https://evo8.cn/posts/git-branch-management-and-remote/</guid><description>本地分支操作、合并策略与冲突解决、远程分支推送与删除、fetch vs pull 区别、rebase vs merge 取舍、多人协作流程、安全的强制推送 --force-with-lease。</description><pubDate>Mon, 13 Jun 2016 11:00:00 GMT</pubDate></item><item><title>Git 知识系列（三）：撤销与回退</title><link>https://evo8.cn/posts/git-undo-and-rollback/</link><guid isPermaLink="true">https://evo8.cn/posts/git-undo-and-rollback/</guid><description>reset / checkout / revert 三大撤销命令的差异、--soft / --mixed / --hard 三种模式的区别，以及 reflog 找回误删提交。</description><pubDate>Sun, 05 Jun 2016 10:00:00 GMT</pubDate></item><item><title>Git 知识系列（二）：日常工作流</title><link>https://evo8.cn/posts/git-daily-workflow/</link><guid isPermaLink="true">https://evo8.cn/posts/git-daily-workflow/</guid><description>日常最常用的 add / commit / status / diff / rm / log / reflog 命令，stash 暂存工作进度，以及彩色 log 别名配置。</description><pubDate>Sun, 29 May 2016 05:00:00 GMT</pubDate></item><item><title>Git 知识系列（一）：安装与基础配置</title><link>https://evo8.cn/posts/git-installation-and-configuration/</link><guid isPermaLink="true">https://evo8.cn/posts/git-installation-and-configuration/</guid><description>Git 初始配置（user.name / user.email / 别名 / 三作用域）、SSH 公钥认证、HTTP 凭证保存、首次推送新项目、远程仓库接收推送的开关。</description><pubDate>Sun, 22 May 2016 02:00:00 GMT</pubDate></item><item><title>IDEA 多线程debug干预线程执行顺序</title><link>https://evo8.cn/posts/idea-multithread-debug-order/</link><guid isPermaLink="true">https://evo8.cn/posts/idea-multithread-debug-order/</guid><description>介绍如何使用IDEA的线程断点模式来干预多线程执行顺序，在本地复现线上多线程问题。</description><pubDate>Sat, 23 Apr 2016 00:00:00 GMT</pubDate></item><item><title>java 中的 i++ 与 ++i 分析</title><link>https://evo8.cn/posts/java-iplusplus-vs-plusplusi-analysis/</link><guid isPermaLink="true">https://evo8.cn/posts/java-iplusplus-vs-plusplusi-analysis/</guid><description>从字节码层面分析 i++ 与 ++i 的实现差异，探讨两者在性能上是否有区别。</description><pubDate>Sun, 31 Jan 2016 00:00:00 GMT</pubDate></item><item><title>基于atomic包分析CAS原理</title><link>https://evo8.cn/posts/cas-principle-based-on-atomic-package/</link><guid isPermaLink="true">https://evo8.cn/posts/cas-principle-based-on-atomic-package/</guid><description>从AtomicInteger源码入手，分析CAS（Compare and Swap）的原理与使用，以及ABA问题和valueOffset偏移量的含义。</description><pubDate>Wed, 13 Jan 2016 00:00:00 GMT</pubDate></item><item><title>从字节码分析Java的方法重写和重载</title><link>https://evo8.cn/posts/java-override-overload-bytecode-analysis/</link><guid isPermaLink="true">https://evo8.cn/posts/java-override-overload-bytecode-analysis/</guid><description>从字节码层面分析Java方法重写（Override）的动态分派和重载（Overload）的静态分派机制，理解多态的实现原理。</description><pubDate>Wed, 30 Dec 2015 00:00:00 GMT</pubDate></item><item><title>ThreadLocal分析其弱引用和可能引起的内存泄漏</title><link>https://evo8.cn/posts/threadlocal-weak-reference-memory-leak/</link><guid isPermaLink="true">https://evo8.cn/posts/threadlocal-weak-reference-memory-leak/</guid><description>分析ThreadLocal中弱引用的设计原因、GC后的行为表现，以及线程池场景下可能引起的内存泄漏问题与解决方案。</description><pubDate>Thu, 08 Jan 2015 00:00:00 GMT</pubDate></item></channel></rss>