<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Raven</title><description>你好,我是Leo,一名软件工程师,构思绝妙的点子并将其变为现实，是我热情所在。我热衷于打造能帮助自己和他人提高效率、享受创造过程的工具。</description><link>https://liuhuanjun.top/zh/</link><item><title>让 AI 写代码前，先完成研究与计划</title><link>https://liuhuanjun.top/zh/posts/obsidian/ai-coding-research-and-plan/</link><guid isPermaLink="true">https://liuhuanjun.top/zh/posts/obsidian/ai-coding-research-and-plan/</guid><description>梳理研究、计划、文档批注和实施反馈的 AI 辅助开发流程，说明如何保留证据、控制改动范围并验证自己的理解。</description><pubDate>Fri, 09 Oct 2026 16:00:00 GMT</pubDate></item><item><title>用一个 C 小程序，看懂补码、字节序和浮点数</title><link>https://liuhuanjun.top/zh/posts/obsidian/bitview-memory-representation/</link><guid isPermaLink="true">https://liuhuanjun.top/zh/posts/obsidian/bitview-memory-representation/</guid><description>从 BitView 的整数、字节和 IEEE 754 字段输出出发，解释负数的补码、小端存储、0.1 的表示误差，以及安全观察 C 对象内存的方法。</description><pubDate>Fri, 09 Oct 2026 16:00:00 GMT</pubDate></item><item><title>隐藏页面还不够：交付配置与账号权限如何共同生效</title><link>https://liuhuanjun.top/zh/posts/obsidian/delivery-config-and-permissions/</link><guid isPermaLink="true">https://liuhuanjun.top/zh/posts/obsidian/delivery-config-and-permissions/</guid><description>用虚构订单系统说明交付配置、账号权限与数据范围的职责，梳理页面装配、指标依赖、分享访问和验证矩阵。</description><pubDate>Fri, 09 Oct 2026 16:00:00 GMT</pubDate></item><item><title>Go 并发结果为什么每次不同：从共享计数到竞态检测</title><link>https://liuhuanjun.top/zh/posts/obsidian/go-concurrency-race/</link><guid isPermaLink="true">https://liuhuanjun.top/zh/posts/obsidian/go-concurrency-race/</guid><description>从字母计数与余额增减两个例子说明 Go 的共享数据竞争，区分 WaitGroup 等待与 Mutex 互斥，并介绍 race 检测。</description><pubDate>Fri, 09 Oct 2026 16:00:00 GMT</pubDate></item><item><title>OAuth 回调遇到 hash 路由：参数为什么读不到？</title><link>https://liuhuanjun.top/zh/posts/obsidian/oauth-callback-hash-routing/</link><guid isPermaLink="true">https://liuhuanjun.top/zh/posts/obsidian/oauth-callback-hash-routing/</guid><description>用示例 URL 区分 OAuth 回调的 query 与 Vue hash 路由参数，说明初始化前的兼容处理、普通回调入口，以及授权码和 state 的处理边界。</description><pubDate>Fri, 09 Oct 2026 16:00:00 GMT</pubDate></item><item><title>PostgreSQL 导入数据后，自增主键为什么冲突？</title><link>https://liuhuanjun.top/zh/posts/obsidian/postgres-sequence-after-import/</link><guid isPermaLink="true">https://liuhuanjun.top/zh/posts/obsidian/postgres-sequence-after-import/</guid><description>解释 PostgreSQL 手动导入 ID 后的序列错位，比较 ALTER SEQUENCE RESTART 与 setval，并说明空表、并发与回滚边界。</description><pubDate>Fri, 09 Oct 2026 16:00:00 GMT</pubDate></item><item><title>连续调用三次 setState，为什么只加了一次？</title><link>https://liuhuanjun.top/zh/posts/obsidian/react-state-snapshot/</link><guid isPermaLink="true">https://liuhuanjun.top/zh/posts/obsidian/react-state-snapshot/</guid><description>用计数器说明 React state 的渲染快照、更新队列与批处理，以及函数式更新为什么能连续累加。</description><pubDate>Fri, 09 Oct 2026 16:00:00 GMT</pubDate></item><item><title>任务系统里的时间：绝对时刻、当地时间与“全天”</title><link>https://liuhuanjun.top/zh/posts/obsidian/task-time-model/</link><guid isPermaLink="true">https://liuhuanjun.top/zh/posts/obsidian/task-time-model/</guid><description>从会议、当地时间提醒和全天任务出发，区分时间语义，讨论 UTC 存储、时区标识、日历查询与待验证边界。</description><pubDate>Fri, 09 Oct 2026 16:00:00 GMT</pubDate></item><item><title>Adding new posts in AstroPaper theme</title><link>https://liuhuanjun.top/zh/posts/adding-new-posts-in-astropaper-theme/</link><guid isPermaLink="true">https://liuhuanjun.top/zh/posts/adding-new-posts-in-astropaper-theme/</guid><description>Some rules &amp; recommendations for creating or adding new posts using AstroPaper theme.</description><pubDate>Wed, 03 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Dynamic OG image generation in AstroPaper blog posts</title><link>https://liuhuanjun.top/zh/posts/dynamic-og-image-generation-in-astropaper-blog-posts/</link><guid isPermaLink="true">https://liuhuanjun.top/zh/posts/dynamic-og-image-generation-in-astropaper-blog-posts/</guid><description>New feature in AstroPaper v1.4.0, introducing dynamic OG image generation for blog posts.</description><pubDate>Wed, 03 Jun 2026 00:00:00 GMT</pubDate></item><item><title>How to configure AstroPaper theme</title><link>https://liuhuanjun.top/zh/posts/how-to-configure-astropaper-theme/</link><guid isPermaLink="true">https://liuhuanjun.top/zh/posts/how-to-configure-astropaper-theme/</guid><description>How you can make AstroPaper theme absolutely yours.</description><pubDate>Wed, 03 Jun 2026 00:00:00 GMT</pubDate></item><item><title>AstroPaper 6.0</title><link>https://liuhuanjun.top/zh/posts/astro-paper-v6/</link><guid isPermaLink="true">https://liuhuanjun.top/zh/posts/astro-paper-v6/</guid><description>AstroPaper v6: a from-scratch rewrite on Astro v6, Tailwind v4, and a new config system.</description><pubDate>Sun, 17 May 2026 07:15:45 GMT</pubDate></item><item><title>Customizing AstroPaper theme color schemes</title><link>https://liuhuanjun.top/zh/posts/customizing-astropaper-theme-color-schemes/</link><guid isPermaLink="true">https://liuhuanjun.top/zh/posts/customizing-astropaper-theme-color-schemes/</guid><description>How you can enable/disable light &amp; dark mode; and customize color schemes of AstroPaper theme.</description><pubDate>Sun, 17 May 2026 04:57:06 GMT</pubDate></item><item><title>Predefined color schemes</title><link>https://liuhuanjun.top/zh/posts/predefined-color-schemes/</link><guid isPermaLink="true">https://liuhuanjun.top/zh/posts/predefined-color-schemes/</guid><description>Some of the well-crafted, updated predefined color schemes for AstroPaper.</description><pubDate>Sat, 16 May 2026 11:29:26 GMT</pubDate></item><item><title>How to add LaTeX Equations in Astro blog posts</title><link>https://liuhuanjun.top/zh/posts/how-to-add-latex-equations-in-blog-posts/</link><guid isPermaLink="true">https://liuhuanjun.top/zh/posts/how-to-add-latex-equations-in-blog-posts/</guid><description>Learn how to add LaTeX equations in Astro blog posts using Markdown, KaTeX, and remark/rehype plugins.</description><pubDate>Sat, 22 Mar 2025 09:25:46 GMT</pubDate></item><item><title>How to integrate Giscus comments into AstroPaper</title><link>https://liuhuanjun.top/zh/posts/how-to-integrate-giscus-comments/</link><guid isPermaLink="true">https://liuhuanjun.top/zh/posts/how-to-integrate-giscus-comments/</guid><description>Comment function on a static blog hosted on GitHub Pages with Giscus.</description><pubDate>Wed, 12 Mar 2025 12:28:53 GMT</pubDate></item><item><title>AstroPaper 5.0</title><link>https://liuhuanjun.top/zh/posts/astro-paper-v5/</link><guid isPermaLink="true">https://liuhuanjun.top/zh/posts/astro-paper-v5/</guid><description>AstroPaper v5: keep the clean look, updates under the hood.</description><pubDate>Sat, 08 Mar 2025 08:18:19 GMT</pubDate></item><item><title>How to use Git Hooks to set Created and Modified Dates</title><link>https://liuhuanjun.top/zh/posts/setting-dates-via-git-hooks/</link><guid isPermaLink="true">https://liuhuanjun.top/zh/posts/setting-dates-via-git-hooks/</guid><description>How to use Git Hooks to set your Created and Modified Dates on AstroPaper</description><pubDate>Mon, 08 Jan 2024 18:59:05 GMT</pubDate></item><item><title>AstroPaper 4.0</title><link>https://liuhuanjun.top/zh/posts/astro-paper-v4/</link><guid isPermaLink="true">https://liuhuanjun.top/zh/posts/astro-paper-v4/</guid><description>AstroPaper v4: ensuring a smoother and more feature-rich blogging experience.</description><pubDate>Thu, 04 Jan 2024 09:30:41 GMT</pubDate></item><item><title>AstroPaper 3.0</title><link>https://liuhuanjun.top/zh/posts/astro-paper-v3/</link><guid isPermaLink="true">https://liuhuanjun.top/zh/posts/astro-paper-v3/</guid><description>AstroPaper Version 3: Elevating Your Web Experience with Astro v3 and Seamless View Transitions</description><pubDate>Mon, 25 Sep 2023 10:25:54 GMT</pubDate></item><item><title>How to update dependencies of AstroPaper</title><link>https://liuhuanjun.top/zh/posts/how-to-update-dependencies/</link><guid isPermaLink="true">https://liuhuanjun.top/zh/posts/how-to-update-dependencies/</guid><description>How to update project dependencies and AstroPaper template.</description><pubDate>Thu, 20 Jul 2023 15:33:05 GMT</pubDate></item><item><title>AstroPaper 2.0</title><link>https://liuhuanjun.top/zh/posts/astro-paper-2/</link><guid isPermaLink="true">https://liuhuanjun.top/zh/posts/astro-paper-2/</guid><description>AstroPaper with the enhancements of Astro v2. Type-safe markdown contents, bug fixes and better dev experience etc.</description><pubDate>Mon, 30 Jan 2023 15:57:52 GMT</pubDate></item><item><title>Tailwind Typography Plugin</title><link>https://liuhuanjun.top/zh/posts/examples/tailwind-typography/</link><guid isPermaLink="true">https://liuhuanjun.top/zh/posts/examples/tailwind-typography/</guid><description>EXAMPLE POST: About Tailwind Typography Plugin and how you can use it effectively.</description><pubDate>Tue, 05 Jul 2022 02:05:51 GMT</pubDate></item><item><title>How Do I Develop My Terminal Portfolio Website with React</title><link>https://liuhuanjun.top/zh/posts/examples/how-do-i-develop-my-terminal-portfolio-website-with-react/</link><guid isPermaLink="true">https://liuhuanjun.top/zh/posts/examples/how-do-i-develop-my-terminal-portfolio-website-with-react/</guid><description>EXAMPLE POST: Developing a terminal-like website using ReactJS, TypeScript and Styled-Components. Includes features like autocomplete, multiple themes, command hints etc.</description><pubDate>Thu, 09 Jun 2022 03:42:51 GMT</pubDate></item><item><title>How Do I Develop My Portfolio Website &amp; Blog</title><link>https://liuhuanjun.top/zh/posts/examples/how-do-i-develop-my-portfolio-and-blog/</link><guid isPermaLink="true">https://liuhuanjun.top/zh/posts/examples/how-do-i-develop-my-portfolio-and-blog/</guid><description>EXAMPLE POST: My experience about developing my first portfolio website and a blog using NextJS and a headless CMS.</description><pubDate>Fri, 25 Mar 2022 16:55:12 GMT</pubDate></item></channel></rss>