<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>简希博客</title>
    <link>https://climberzbm.cn</link>
    <description>个人技术博客，记录学习与成长</description>
    <language>zh-CN</language>
    <atom:link href="https://climberzbm.cn/rss" rel="self" type="application/rss+xml"/>
    
    <item>
      <title>Node.js 工程化深水区：配置加载、错误边界与依赖反转的实战范式</title>
      <link>https://climberzbm.cn/posts/node-js-工程化深水区-配置加载-错误边界与依赖反转的实战范式-1778328099499</link>
      <description>探讨 Node.js 生产级工程化实践，聚焦配置类型安全、集中式错误拦截与依赖反转架构。通过正反例对比，解析如何规避硬编码与紧耦合，构建高可维护性、易测试的企业级应用。</description>
      <pubDate>Sat, 09 May 2026 12:01:39 GMT</pubDate>
      <guid>https://climberzbm.cn/posts/node-js-工程化深水区-配置加载-错误边界与依赖反转的实战范式-1778328099499</guid>
    </item>
    
    <item>
      <title>TypeScript 驱动的 ChatGPT 流式响应架构：从类型安全到函数调用</title>
      <link>https://climberzbm.cn/posts/typescript-驱动的-chatgpt-流式响应架构-从类型安全到函数调用-1778241724373</link>
      <description>探讨在 ChatGPT API 集成中如何利用 TypeScript 构建类型安全的流式响应与函数调用架构。通过严格的泛型约束、SSE 数据流类型推导及 Zod 模式校验，消除大模型交互中的 any 依赖，提升前端工程健壮性。</description>
      <pubDate>Fri, 08 May 2026 12:02:04 GMT</pubDate>
      <guid>https://climberzbm.cn/posts/typescript-驱动的-chatgpt-流式响应架构-从类型安全到函数调用-1778241724373</guid>
    </item>
    
    <item>
      <title>Vite 模式下的 TypeScript：从类型校验缺失到零运行时损耗的架构实践</title>
      <link>https://climberzbm.cn/posts/vite-模式下的-typescript-从类型校验缺失到零运行时损耗的架构实践-1778158925984</link>
      <description>深入探讨 Vite 环境下 TypeScript 的运行机制，剖析开发期类型校验缺失的隐患，通过正反例对比掌握 import type、isolatedModules 及构建优化策略，实现类型安全与极致性能的统一。</description>
      <pubDate>Thu, 07 May 2026 13:02:05 GMT</pubDate>
      <guid>https://climberzbm.cn/posts/vite-模式下的-typescript-从类型校验缺失到零运行时损耗的架构实践-1778158925984</guid>
    </item>
    
    <item>
      <title>Vue 中 watch 与 computed 的使用边界</title>
      <link>https://climberzbm.cn/posts/vue-中-watch-与-computed-的使用边界-1777454718734</link>
      <description>watch 和 computed 都能响应数据变化，但一个用于派生值，一个用于副作用。真正的问题不在 API 名字，而在于边界一旦混用，代码很快就会失控。下面直接用代码说明。</description>
      <pubDate>Wed, 29 Apr 2026 09:25:18 GMT</pubDate>
      <guid>https://climberzbm.cn/posts/vue-中-watch-与-computed-的使用边界-1777454718734</guid>
    </item>
    
    <item>
      <title>Vite HMR 热更新：从模块图到边界替换的底层机制</title>
      <link>https://climberzbm.cn/posts/vite-hmr-热更新-从模块图到边界替换的底层机制-1777252600822</link>
      <description>Vite 的 HMR 为什么能做到毫秒级更新？本文从模块依赖图构建、HMR Boundary 边界判定、热更新传播算法三个维度，深入剖析 Vite 热更新的底层实现原理，对比 Webpack HMR 的架构差异，并给出 HMR 失效时的排查思路。</description>
      <pubDate>Mon, 27 Apr 2026 01:16:40 GMT</pubDate>
      <guid>https://climberzbm.cn/posts/vite-hmr-热更新-从模块图到边界替换的底层机制-1777252600822</guid>
    </item>
    
    <item>
      <title>React Fiber 架构与并发调度：从同步阻塞到可中断渲染</title>
      <link>https://climberzbm.cn/posts/react-fiber-架构与并发调度-从同步阻塞到可中断渲染-1777118592701</link>
      <description>React Fiber 架构将同步递归渲染重构为可中断的链表遍历，配合 Lane 位掩码优先级模型和双缓冲机制，实现了并发调度。本文从 Fiber 数据结构、工作循环、优先级调度到 useTransition/useDeferredValue 的实现原理进行源码级拆解，并附性能数据与常见误区分析。</description>
      <pubDate>Sat, 25 Apr 2026 12:03:12 GMT</pubDate>
      <guid>https://climberzbm.cn/posts/react-fiber-架构与并发调度-从同步阻塞到可中断渲染-1777118592701</guid>
    </item>
    
    <item>
      <title>从字节到像素：浏览器渲染管线的全链路深度解析</title>
      <link>https://climberzbm.cn/posts/从字节到像素-浏览器渲染管线的全链路深度解析-1776945821013</link>
      <description>从网络请求拿到第一块字节开始，逐阶段拆解浏览器渲染管线六大核心阶段——解析、样式计算、布局、分层、绘制、合成，深入底层机制与性能陷阱，建立从宏观架构到微观优化的完整认知体系。</description>
      <pubDate>Thu, 23 Apr 2026 12:03:41 GMT</pubDate>
      <guid>https://climberzbm.cn/posts/从字节到像素-浏览器渲染管线的全链路深度解析-1776945821013</guid>
    </item>
    
    <item>
      <title>浏览器渲染管线：从字节到像素的全流程深度解析</title>
      <link>https://climberzbm.cn/posts/浏览器渲染管线-从字节到像素的全流程深度解析-1776859486309</link>
      <description>从HTML字节流到GPU光栅化，拆解Chromium渲染管线的每个阶段：DOM构建与预扫描器、CSS级联与样式计算、布局与格式化上下文、绘制指令生成、合成层与GPU加速动画，以及隐式合成层陷阱。含性能优化代码示例与架构图。</description>
      <pubDate>Wed, 22 Apr 2026 12:04:46 GMT</pubDate>
      <guid>https://climberzbm.cn/posts/浏览器渲染管线-从字节到像素的全流程深度解析-1776859486309</guid>
    </item>
    
    <item>
      <title>V8 隐藏类与内联缓存：JavaScript 性能优化的底层密码</title>
      <link>https://climberzbm.cn/posts/v8-隐藏类与内联缓存-javascript-性能优化的底层密码-1776822787776</link>
      <description>深入解析V8引擎的隐藏类和内联缓存机制，揭示JavaScript对象属性访问的底层优化原理。从隐藏类转换链、IC三态模型到TurboFan优化策略，配合d8调试实战和性能基准测试，帮你写出V8真正喜欢的代码。</description>
      <pubDate>Wed, 22 Apr 2026 01:53:07 GMT</pubDate>
      <guid>https://climberzbm.cn/posts/v8-隐藏类与内联缓存-javascript-性能优化的底层密码-1776822787776</guid>
    </item>
    
    <item>
      <title>useEffect 的陷阱与救赎：一个资深 React 开发者的踩坑实录</title>
      <link>https://climberzbm.cn/posts/useeffect-的陷阱与救赎-一个资深-react-开发者的踩坑实录-1775826461197</link>
      <description></description>
      <pubDate>Fri, 10 Apr 2026 13:07:41 GMT</pubDate>
      <guid>https://climberzbm.cn/posts/useeffect-的陷阱与救赎-一个资深-react-开发者的踩坑实录-1775826461197</guid>
    </item>
    
    <item>
      <title>从 Express 到 Koa：为什么大厂都在用洋葱模型重构后端？</title>
      <link>https://climberzbm.cn/posts/从-express-到-koa-为什么大厂都在用洋葱模型重构后端--1775790887389</link>
      <description></description>
      <pubDate>Fri, 10 Apr 2026 03:14:47 GMT</pubDate>
      <guid>https://climberzbm.cn/posts/从-express-到-koa-为什么大厂都在用洋葱模型重构后端--1775790887389</guid>
    </item>
    
    <item>
      <title>Vue 3 组合式 API 实战：从 Options API 迁移到 Composition API 的完整指南</title>
      <link>https://climberzbm.cn/posts/vue-3-组合式-api-实战-从-options-api-迁移到-composition-api-的完整指南-1775698411224</link>
      <description></description>
      <pubDate>Thu, 09 Apr 2026 01:33:31 GMT</pubDate>
      <guid>https://climberzbm.cn/posts/vue-3-组合式-api-实战-从-options-api-迁移到-composition-api-的完整指南-1775698411224</guid>
    </item>
    
    <item>
      <title>PostgreSQL 性能优化实战：从慢查询到毫秒级响应</title>
      <link>https://climberzbm.cn/posts/postgresql-性能优化实战-从慢查询到毫秒级响应-1775610586004</link>
      <description></description>
      <pubDate>Wed, 08 Apr 2026 01:09:46 GMT</pubDate>
      <guid>https://climberzbm.cn/posts/postgresql-性能优化实战-从慢查询到毫秒级响应-1775610586004</guid>
    </item>
    
    <item>
      <title>Next.js App Router 实战：让你的 React 项目快到飞起的 10 个核心技巧</title>
      <link>https://climberzbm.cn/posts/next-js-app-router-实战-让你的-react-项目快到飞起的-10-个核心技巧-1775523698021</link>
      <description></description>
      <pubDate>Tue, 07 Apr 2026 01:01:38 GMT</pubDate>
      <guid>https://climberzbm.cn/posts/next-js-app-router-实战-让你的-react-项目快到飞起的-10-个核心技巧-1775523698021</guid>
    </item>
    
    <item>
      <title>从零设计一个插件化系统：架构思路与落地实践</title>
      <link>https://climberzbm.cn/posts/从零设计一个插件化系统-架构思路与落地实践-1775438747439</link>
      <description></description>
      <pubDate>Mon, 06 Apr 2026 01:25:47 GMT</pubDate>
      <guid>https://climberzbm.cn/posts/从零设计一个插件化系统-架构思路与落地实践-1775438747439</guid>
    </item>
    
    <item>
      <title>我让前端项目的 Docker 镜像从 1GB 瘦身到 50MB</title>
      <link>https://climberzbm.cn/posts/我让前端项目的-docker-镜像从-1gb-瘦身到-50mb-1775438737901</link>
      <description></description>
      <pubDate>Mon, 06 Apr 2026 01:25:37 GMT</pubDate>
      <guid>https://climberzbm.cn/posts/我让前端项目的-docker-镜像从-1gb-瘦身到-50mb-1775438737901</guid>
    </item>
    
    <item>
      <title>用 TypeScript 类型体操打造零运行时错误的 API 客户端</title>
      <link>https://climberzbm.cn/posts/用-typescript-类型体操打造零运行时错误的-api-客户端-1775048554505</link>
      <description></description>
      <pubDate>Wed, 01 Apr 2026 13:02:53 GMT</pubDate>
      <guid>https://climberzbm.cn/posts/用-typescript-类型体操打造零运行时错误的-api-客户端-1775048554505</guid>
    </item>
    
    <item>
      <title>TypeScript 高级类型编程：用 infer 和模板字面量打造类型安全的 API 层</title>
      <link>https://climberzbm.cn/posts/typescript-高级类型编程-用-infer-和模板字面量打造类型安全的-api-层-1775004945325</link>
      <description></description>
      <pubDate>Wed, 01 Apr 2026 00:56:03 GMT</pubDate>
      <guid>https://climberzbm.cn/posts/typescript-高级类型编程-用-infer-和模板字面量打造类型安全的-api-层-1775004945325</guid>
    </item>
    
    <item>
      <title>TypeScript 类型体操：掌握 8 个实战级高级类型技巧</title>
      <link>https://climberzbm.cn/posts/typescript-类型体操-掌握-8-个实战级高级类型技巧-1774789300505</link>
      <description></description>
      <pubDate>Mon, 30 Mar 2026 09:24:26 GMT</pubDate>
      <guid>https://climberzbm.cn/posts/typescript-类型体操-掌握-8-个实战级高级类型技巧-1774789300505</guid>
    </item>
    
    <item>
      <title>Node.js 内存管理深度解析：从 V8 垃圾回收到生产环境优化</title>
      <link>https://climberzbm.cn/posts/node-js-内存管理深度解析-从-v8-垃圾回收到生产环境优化-1774834002450</link>
      <description></description>
      <pubDate>Mon, 30 Mar 2026 01:26:42 GMT</pubDate>
      <guid>https://climberzbm.cn/posts/node-js-内存管理深度解析-从-v8-垃圾回收到生产环境优化-1774834002450</guid>
    </item>
    
    <item>
      <title>TypeScript 类型体操实战：手把手实现 DeepReadonly、DeepPartial 和类型安全的事件系统</title>
      <link>https://climberzbm.cn/posts/typescript-类型体操实战-手把手实现-deepreadonly-deeppartial-和类型安全的事件系统-1774616515958</link>
      <description></description>
      <pubDate>Fri, 27 Mar 2026 13:01:55 GMT</pubDate>
      <guid>https://climberzbm.cn/posts/typescript-类型体操实战-手把手实现-deepreadonly-deeppartial-和类型安全的事件系统-1774616515958</guid>
    </item>
    
    <item>
      <title>TypeScript 类型体操实战：手把手实现 DeepPartial 和 DeepRequired</title>
      <link>https://climberzbm.cn/posts/typescript-类型体操实战-手把手实现-deeppartial-和-deeprequired-1774530156151</link>
      <description></description>
      <pubDate>Thu, 26 Mar 2026 13:02:36 GMT</pubDate>
      <guid>https://climberzbm.cn/posts/typescript-类型体操实战-手把手实现-deeppartial-和-deeprequired-1774530156151</guid>
    </item>
    
    <item>
      <title>JavaScript Promise 完全指南：从原理到手写实现</title>
      <link>https://climberzbm.cn/posts/javascript-promise-完全指南-从原理到手写实现-1774410460414</link>
      <description>Promise 是 JavaScript 异步编程的核心。本文从规范出发，深入理解 Promise 的运行机制，并手写一个符合 Promise/A+ 规范的实现。</description>
      <pubDate>Wed, 25 Mar 2026 03:47:40 GMT</pubDate>
      <guid>https://climberzbm.cn/posts/javascript-promise-完全指南-从原理到手写实现-1774410460414</guid>
    </item>
    
    <item>
      <title>Vue3 组合式 API 实战：从入门到精通的完整指南</title>
      <link>https://climberzbm.cn/posts/vue3-组合式-api-实战-从入门到精通的完整指南-1774152119546</link>
      <description>深入探讨 Vue3 组合式 API 的核心概念、响应式系统、生命周期钩子，通过用户管理实战案例展示 Composable 最佳实践，解答常见问题。</description>
      <pubDate>Sun, 22 Mar 2026 04:01:59 GMT</pubDate>
      <guid>https://climberzbm.cn/posts/vue3-组合式-api-实战-从入门到精通的完整指南-1774152119546</guid>
    </item>
    
    <item>
      <title>AI 革命：前端开发者如何借力大模型实现效率翻倍</title>
      <link>https://climberzbm.cn/posts/ai-革命-前端开发者如何借力大模型实现效率翻倍-1774065686287</link>
      <description>深入探讨如何在前端开发中高效利用大语言模型，从代码生成、智能审查到测试自动化，全面提升开发效率。掌握提示词工程、人机协作策略，拥抱 AI 时代的开发新范式。</description>
      <pubDate>Sat, 21 Mar 2026 04:01:26 GMT</pubDate>
      <guid>https://climberzbm.cn/posts/ai-革命-前端开发者如何借力大模型实现效率翻倍-1774065686287</guid>
    </item>
    
    <item>
      <title>TypeScript 高级类型体操：从入门到实战的完整指南</title>
      <link>https://climberzbm.cn/posts/typescript-高级类型体操-从入门到实战的完整指南-1773979297787</link>
      <description>深入讲解 TypeScript 泛型约束、条件类型、映射类型等高级特性，通过 API 封装、表单生成、事件系统三个实战案例，助你掌握类型体操技巧。</description>
      <pubDate>Fri, 20 Mar 2026 04:01:37 GMT</pubDate>
      <guid>https://climberzbm.cn/posts/typescript-高级类型体操-从入门到实战的完整指南-1773979297787</guid>
    </item>
    
    <item>
      <title>从零构建 AI Agent：深入理解 ReAct 模式与工具调用机制</title>
      <link>https://climberzbm.cn/posts/从零构建-ai-agent-深入理解-react-模式与工具调用机制-1773877522718</link>
      <description>深入剖析 AI Agent 的核心机制——ReAct 模式，手把手教你从零构建具备工具调用能力的 Agent，包含完整代码实现和最佳实践。</description>
      <pubDate>Wed, 18 Mar 2026 23:45:22 GMT</pubDate>
      <guid>https://climberzbm.cn/posts/从零构建-ai-agent-深入理解-react-模式与工具调用机制-1773877522718</guid>
    </item>
    
    <item>
      <title>UniApp 跨端开发实战：一套代码多端运行的最佳实践指南</title>
      <link>https://climberzbm.cn/posts/uniapp-跨端开发实战-一套代码多端运行的最佳实践指南-1773821404319</link>
      <description>深入探讨 UniApp 跨端开发的最佳实践，从架构设计到性能优化，从条件编译到分包加载，帮助你构建高质量的跨端应用，实现一套代码多端运行。</description>
      <pubDate>Wed, 18 Mar 2026 08:10:04 GMT</pubDate>
      <guid>https://climberzbm.cn/posts/uniapp-跨端开发实战-一套代码多端运行的最佳实践指南-1773821404319</guid>
    </item>
    
    <item>
      <title>欢迎来到我的博客</title>
      <link>https://climberzbm.cn/posts/welcome-to-my-blog</link>
      <description>欢迎来到我的个人技术博客，这里将记录我的学习和成长。</description>
      <pubDate>Tue, 17 Mar 2026 13:08:50 GMT</pubDate>
      <guid>https://climberzbm.cn/posts/welcome-to-my-blog</guid>
    </item>
    
  </channel>
</rss>