<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title><![CDATA[spring的技术笔记]]></title>
    <link>https://example.com</link>
    <description><![CDATA[记录前端、后端与 AI 学习中的真实踩坑与取舍]]></description>
    <language>zh-CN</language>
    
    <item>
      <title><![CDATA[App Router 数据获取：缓存、revalidate 与 Server Actions]]></title>
      <link>https://example.com/posts/nextjs-app-router-data-fetching</link>
      <guid>https://example.com/posts/nextjs-app-router-data-fetching</guid>
      <pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[把 Next.js App Router 里的 fetch 缓存、按需再验证和 Server Actions 放在同一张决策表里，避免「默认全缓存」踩坑。]]></description>
      <category><![CDATA[前端]]></category>
    </item>
    <item>
      <title><![CDATA[RSC 心智模型：服务端边界该画在哪里]]></title>
      <link>https://example.com/posts/react-server-components-mental-model</link>
      <guid>https://example.com/posts/react-server-components-mental-model</guid>
      <pubDate>Sat, 20 Jun 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[用「序列化边界」理解 React Server Components：哪些能留在服务端，哪些必须变成客户端组件。]]></description>
      <category><![CDATA[前端]]></category>
    </item>
    <item>
      <title><![CDATA[TypeScript 类型收窄实战：从联合类型到 satisfies]]></title>
      <link>https://example.com/posts/typescript-type-narrowing-in-practice</link>
      <guid>https://example.com/posts/typescript-type-narrowing-in-practice</guid>
      <pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[用类型守卫、判别联合和 satisfies，把「运行时其实安全」变成编译器也认可的安全。]]></description>
      <category><![CDATA[前端]]></category>
    </item>
    <item>
      <title><![CDATA[Node API 设计：REST 资源边界 vs 内部 RPC]]></title>
      <link>https://example.com/posts/nodejs-api-design-rest-vs-rpc</link>
      <guid>https://example.com/posts/nodejs-api-design-rest-vs-rpc</guid>
      <pubDate>Thu, 02 Apr 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[对外 API 用资源思维，对内服务用意图清晰的 RPC；两套语义不要混在一个路由风格里硬拧。]]></description>
      <category><![CDATA[后端]]></category>
    </item>
    <item>
      <title><![CDATA[层叠层与设计 Token：主题切换不必靠 !important]]></title>
      <link>https://example.com/posts/css-cascade-layers-and-design-tokens</link>
      <guid>https://example.com/posts/css-cascade-layers-and-design-tokens</guid>
      <pubDate>Wed, 18 Mar 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[用 cascade layers 理顺样式优先级，用 CSS 变量承载墨色主题的浅/深色切换。]]></description>
      <category><![CDATA[前端]]></category>
    </item>
    <item>
      <title><![CDATA[Prompt 工程入门：约束、少样本与结构化输出]]></title>
      <link>https://example.com/posts/llm-prompt-engineering-basics</link>
      <guid>https://example.com/posts/llm-prompt-engineering-basics</guid>
      <pubDate>Tue, 10 Feb 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[把提示词当成接口契约来写：角色、边界、示例与 JSON Schema，减少胡编与格式漂移。]]></description>
      <category><![CDATA[AI 学习]]></category>
    </item>
    <item>
      <title><![CDATA[Postgres 索引：Web 应用里最常见的几张慢查询]]></title>
      <link>https://example.com/posts/postgres-indexing-for-web-apps</link>
      <guid>https://example.com/posts/postgres-indexing-for-web-apps</guid>
      <pubDate>Thu, 22 Jan 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[从列表筛选、外键关联到 EXPLAIN，梳理 B-tree 与复合索引在业务里的实际用法。]]></description>
      <category><![CDATA[后端]]></category>
    </item>
    <item>
      <title><![CDATA[RAG 管线拆解：切分、检索、重排到带引用回答]]></title>
      <link>https://example.com/posts/rag-pipeline-from-scratch</link>
      <guid>https://example.com/posts/rag-pipeline-from-scratch</guid>
      <pubDate>Fri, 05 Dec 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[从文档切分到引用生成，梳理一条可调试的 RAG 流水线，并指导你在哪一层做评测。]]></description>
      <category><![CDATA[AI 学习]]></category>
    </item>
    <item>
      <title><![CDATA[登录态取舍：Session Cookie 与 JWT 怎么选]]></title>
      <link>https://example.com/posts/auth-session-jwt-tradeoffs</link>
      <guid>https://example.com/posts/auth-session-jwt-tradeoffs</guid>
      <pubDate>Fri, 14 Nov 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[从吊销、刷新、CSRF 与跨服务调用四个角度，比较 Session 与 JWT，给出 Web 应用默认建议。]]></description>
      <category><![CDATA[后端]]></category>
    </item>
    <item>
      <title><![CDATA[Redis 缓存模式：Cache-Aside 与三大经典故障]]></title>
      <link>https://example.com/posts/redis-caching-patterns</link>
      <guid>https://example.com/posts/redis-caching-patterns</guid>
      <pubDate>Wed, 03 Sep 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[用 Cache-Aside 落地读写路径，并准备击穿、穿透、雪崩的防护清单。]]></description>
      <category><![CDATA[后端]]></category>
    </item>
    <item>
      <title><![CDATA[微调还是 RAG：成本、时效与知识边界]]></title>
      <link>https://example.com/posts/fine-tuning-vs-rag-when-to-use</link>
      <guid>https://example.com/posts/fine-tuning-vs-rag-when-to-use</guid>
      <pubDate>Sat, 16 Aug 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[用一张决策表区分风格/格式问题与知识更新问题，避免一上来就微调。]]></description>
      <category><![CDATA[AI 学习]]></category>
    </item>
    <item>
      <title><![CDATA[AI 编程助手工作流：规格、实现与 diff 评审]]></title>
      <link>https://example.com/posts/ai-coding-assistants-workflow</link>
      <guid>https://example.com/posts/ai-coding-assistants-workflow</guid>
      <pubDate>Thu, 28 Nov 2024 00:00:00 GMT</pubDate>
      <description><![CDATA[把 AI 辅助编码嵌进可复查的流程：先写验收标准，再生成改动，最后做人审 diff，减少幻觉代码入库。]]></description>
      <category><![CDATA[工程与实践]]></category>
    </item>
  </channel>
</rss>
