<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Dev Notes</title>
    <link>https://localhost:3000</link>
    <description>一名前端工程师的技术笔记：React、TypeScript、Node.js 与工程化实践。</description>
    <language>zh-CN</language>
    <item>
      <title>用 React Server Components 重构我的博客</title>
      <link>https://localhost:3000/blog/react-server-components</link>
      <guid>https://localhost:3000/blog/react-server-components</guid>
      <pubDate>Tue, 18 Aug 2026 00:00:00 GMT</pubDate>
      <description>把博客从客户端渲染迁移到 RSC 之后，首屏 JS 体积下降了 62%。这篇文章记录迁移过程中的取舍、踩过的坑，以及什么时候不应该用 Server Components。</description>
    </item>
    <item>
      <title>TypeScript 类型体操：从条件类型到类型推导</title>
      <link>https://localhost:3000/blog/typescript-type-gymnastics</link>
      <guid>https://localhost:3000/blog/typescript-type-gymnastics</guid>
      <pubDate>Thu, 02 Jul 2026 00:00:00 GMT</pubDate>
      <description>infer、递归条件类型、模板字面量类型看起来很唬人，但拆开之后每个都很朴素。这篇文章用几个真实场景把这些概念讲清楚。</description>
    </item>
    <item>
      <title>CSS 容器查询实战：组件级响应式设计</title>
      <link>https://localhost:3000/blog/css-container-queries</link>
      <guid>https://localhost:3000/blog/css-container-queries</guid>
      <pubDate>Thu, 21 May 2026 00:00:00 GMT</pubDate>
      <description>媒体查询关心的是视口，容器查询关心的是父元素。当卡片可能出现在侧边栏、主内容区甚至弹窗里时，只有容器查询才能真正解决问题。</description>
    </item>
    <item>
      <title>记一次 Node.js 内存泄漏排查</title>
      <link>https://localhost:3000/blog/nodejs-memory-leak</link>
      <guid>https://localhost:3000/blog/nodejs-memory-leak</guid>
      <pubDate>Mon, 09 Mar 2026 00:00:00 GMT</pubDate>
      <description>服务跑了三天就 OOM 重启。从 heap snapshot 到事件循环监控，这篇文章完整还原排查过程，以及最后发现的那行&quot;看起来毫无问题&quot;的代码。</description>
    </item>
  </channel>
</rss>
