<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/assets/atom.xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <id>https://www.weilog.me</id>
  <title>月空人</title>
  <updated>2026-04-03T09:01:34.403+00:00[UTC]</updated>
  <description>月空人的个人博客，分享技术与生活。“求则得之，舍则失之，是求有益于得也，求在我者也。求之有道，得之有命，是求无益于得也，求在外者也。”。月空是一名开源爱好者，结识了许多志同道合的朋友。这个博客记录了他在生活和技术学习中的点滴经历，充满启发与思考。网站界面简洁美观，内容丰富实用，人气互动活跃，涵盖了编程、生活、学习等多个领域，希望内容能给您好的阅读体验。</description>
  <author>
    <name>月空人</name>
    <email>whbbit@qq.com</email>
    <uri>https://www.weilog.me/</uri>
  </author>
  <link href="https://www.weilog.me/atom.xml" rel="self"></link>
  <link href="https://www.weilog.me" rel="alternate"></link>
  <language>zh-Hans</language>
  <generator uri="https://github.com/L33Z22L11/blog-v3" version="3.6.5">ZhiluBlog</generator>
  <icon>https://bitmc.uno/picgo/126662463_p2.jpg</icon>
  <logo>https://bitmc.uno/picgo/126662463_p2.jpg</logo>
  <rights>© 2026 月空人</rights>
  <subtitle>偶尔写些博客，发发牢骚</subtitle>
  <entry>
    <id>https://www.weilog.me/posts/2026/rime-setting</id>
    <title>一个不错的本地输入解决方案</title>
    <updated>2026-02-14T09:38:14Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[ <p>RIME 输入引擎 + 雾凇拼音用起来是真不错！</p> <a class="view-full" href="https://www.weilog.me/posts/2026/rime-setting" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2026/rime-setting"></link>
    <summary>RIME 输入引擎 + 雾凇拼音用起来是真不错！</summary>
    <category term="经验分享"></category>
    <published>2026-02-14T09:38:14Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2026/migrate-eslint-and-prettier-to-oxlint-and-oxfmt</id>
    <title>使用 oxlint + oxfmt 替换 ESLint + Prettier</title>
    <updated>2026-02-10T00:49:04Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[ <p>最近我将自己的 Nest 项目中的 ESLint 和 Prettier 替换为 oxlint 和 oxfmt，至今运行良好。</p> <a class="view-full" href="https://www.weilog.me/posts/2026/migrate-eslint-and-prettier-to-oxlint-and-oxfmt" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2026/migrate-eslint-and-prettier-to-oxlint-and-oxfmt"></link>
    <summary>最近我将自己的 Nest 项目中的 ESLint 和 Prettier 替换为 oxlint 和 oxfmt，至今运行良好。</summary>
    <category term="代码"></category>
    <published>2026-02-10T00:49:04Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/atomic-design-vue-or-nuxt</id>
    <title>【翻译】Vue 和 Nuxt 中的 Atomic Design</title>
    <updated>2026-02-07T15:23:50Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[<img src="https://bitmc.uno/picgo/67aef51e90a66-78.webp" alt="【翻译】Vue 和 Nuxt 中的 Atomic Design" /> <p>清晰的写作需要清晰的思考。对于编码也是有效的。启动个人项目时，将所有组件扔入一个文件夹中可能会起作用。但是随着项目的增长，尤其是在较大的团队中，这种方法会导致问题：</p> <a class="view-full" href="https://www.weilog.me/posts/2025/atomic-design-vue-or-nuxt" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/atomic-design-vue-or-nuxt"></link>
    <summary>清晰的写作需要清晰的思考。对于编码也是有效的。启动个人项目时，将所有组件扔入一个文件夹中可能会起作用。但是随着项目的增长，尤其是在较大的团队中，这种方法会导致问题：</summary>
    <category term="译"></category>
    <published>2025-02-14T07:43:50Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/building-a-pinia-plugin-for-cross-tab-state-syncing</id>
    <title>【翻译】构建 Pinia 插件进行跨标签页状态同步</title>
    <updated>2026-02-07T15:23:50Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[<img src="https://bitmc.uno/picgo/67aed7b7cb893-78.webp" alt="【翻译】构建 Pinia 插件进行跨标签页状态同步" /> <p>创建一个 Pinia 插件，使用 BroadcastChannel API 实现跨浏览器选项卡的状态同步。该插件允许您标记特定存储以进行跨 Tab 同步，并通过基于时间戳的冲突解决自动处理状态更新。</p> <a class="view-full" href="https://www.weilog.me/posts/2025/building-a-pinia-plugin-for-cross-tab-state-syncing" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/building-a-pinia-plugin-for-cross-tab-state-syncing"></link>
    <summary>创建一个 Pinia 插件，使用 BroadcastChannel API 实现跨浏览器选项卡的状态同步。该插件允许您标记特定存储以进行跨 Tab 同步，并通过基于时间戳的冲突解决自动处理状态更新。</summary>
    <category term="译"></category>
    <published>2025-02-14T03:32:59Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/frontend-testing-guide-10-essential-rules-for-naming-tests</id>
    <title>【翻译】前端测试指南：命名测试的 10 条基本规则</title>
    <updated>2026-02-07T15:23:50Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[<img src="https://bitmc.uno/picgo/Frontend%20Testing%20Guide%20-%2010%20Essential%20Rules%20for%20Naming%20Tests.jpg" alt="【翻译】前端测试指南：命名测试的 10 条基本规则" /> <p>更好的测试之路始于一些非常简单的事情。</p> <a class="view-full" href="https://www.weilog.me/posts/2025/frontend-testing-guide-10-essential-rules-for-naming-tests" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/frontend-testing-guide-10-essential-rules-for-naming-tests"></link>
    <summary>更好的测试之路始于一些非常简单的事情。</summary>
    <category term="译"></category>
    <published>2025-01-10T06:31:21Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/how-to-do-visual-regression-testing-in-vue-with-vitest</id>
    <title>【翻译】如何使用 Vitest 在 Vue 中进行视觉回归测试？</title>
    <updated>2026-02-07T15:23:50Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[ <p>在本指南中，您将学习如何使用 Vitest 为 Vue 组件设置视觉回归测试。</p> <a class="view-full" href="https://www.weilog.me/posts/2025/how-to-do-visual-regression-testing-in-vue-with-vitest" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/how-to-do-visual-regression-testing-in-vue-with-vitest"></link>
    <summary>在本指南中，您将学习如何使用 Vitest 为 Vue 组件设置视觉回归测试。</summary>
    <category term="译"></category>
    <published>2025-03-02T02:10:47Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/how-to-structure-vue-projects</id>
    <title>【翻译】如何选择 Vue 项目架构</title>
    <updated>2026-02-07T15:23:50Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[<img src="https://bitmc.uno/picgo/67aef11ea579d-78.webp" alt="【翻译】如何选择 Vue 项目架构" /> <p>这篇文章涵盖了适合不同项目规模的各种 Vue 项目结构</p> <a class="view-full" href="https://www.weilog.me/posts/2025/how-to-structure-vue-projects" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/how-to-structure-vue-projects"></link>
    <summary>这篇文章涵盖了适合不同项目规模的各种 Vue 项目结构</summary>
    <category term="译"></category>
    <published>2025-02-14T06:18:31Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/how-to-test-vue-router-components-with-testing-library-and-vitest</id>
    <title>【翻译】如何使用测试库和 Vitest 测试 Vue Router 组件</title>
    <updated>2026-02-07T15:23:50Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[ <p>本指南将向你展示如何使用真实的路由集成来测试 Vue Router 组件，并使用 mock 进行隔离组件测试。您将学习验证路由-链路交互、编程导航和导航守卫处理。</p> <a class="view-full" href="https://www.weilog.me/posts/2025/how-to-test-vue-router-components-with-testing-library-and-vitest" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/how-to-test-vue-router-components-with-testing-library-and-vitest"></link>
    <summary>本指南将向你展示如何使用真实的路由集成来测试 Vue Router 组件，并使用 mock 进行隔离组件测试。您将学习验证路由-链路交互、编程导航和导航守卫处理。</summary>
    <category term="译"></category>
    <published>2025-03-02T01:45:11Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/how-to-use-the-variant-props-pattern-in-vue</id>
    <title>【翻译】 如何在 Vue 中使用Props变体</title>
    <updated>2026-02-07T15:23:50Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[<img src="https://bitmc.uno/picgo/How-to-Use-the-Variant-Props-Pattern-in-Vue.jpg" alt="【翻译】 如何在 Vue 中使用Props变体" />  <a class="view-full" href="https://www.weilog.me/posts/2025/how-to-use-the-variant-props-pattern-in-vue" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/how-to-use-the-variant-props-pattern-in-vue"></link>
    <summary/>
    <category term="译"></category>
    <published>2025-01-06T03:24:05Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/vue3-composables-guide</id>
    <title>【翻译】Vue3 组合式API 完全指南</title>
    <updated>2026-02-07T15:23:50Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[<img src="https://bitmc.uno/picgo/vue3-composables-guide.jpg" alt="【翻译】Vue3 组合式API 完全指南" /> <p>无论您是刚刚接触 Vue 3 还是一位致力于标准化团队编码风格的经验丰富的开发人员，本指南都可以作为综合资源。</p> <a class="view-full" href="https://www.weilog.me/posts/2025/vue3-composables-guide" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/vue3-composables-guide"></link>
    <summary>无论您是刚刚接触 Vue 3 还是一位致力于标准化团队编码风格的经验丰富的开发人员，本指南都可以作为综合资源。</summary>
    <category term="译"></category>
    <published>2025-01-06T04:00:00Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/vue3-dynamic-pinia-store</id>
    <title>【翻译】Vue 3 中的动态 Pinia Store</title>
    <updated>2026-02-07T15:23:50Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[<img src="https://bitmc.uno/picgo/vue3-dynamic-pinia-store.jpg" alt="【翻译】Vue 3 中的动态 Pinia Store" /> <p>使用多个组件实例的唯一 ID 创建动态 Pinia 存储</p> <a class="view-full" href="https://www.weilog.me/posts/2025/vue3-dynamic-pinia-store" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/vue3-dynamic-pinia-store"></link>
    <summary>使用多个组件实例的唯一 ID 创建动态 Pinia 存储</summary>
    <category term="译"></category>
    <published>2025-01-10T06:14:59Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2026/zod-vs-valibot</id>
    <title>Zod 和 Valibot 的异同</title>
    <updated>2026-01-06T06:54:01Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[<img src="https://bitmc.uno/picgo/zod-vs-valibot.png" alt="Zod 和 Valibot 的异同" /> <p>本文将比较 Zod 和 Valibot 之间的区别，帮助你在选择校验库时做一点参考</p> <a class="view-full" href="https://www.weilog.me/posts/2026/zod-vs-valibot" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2026/zod-vs-valibot"></link>
    <summary>本文将比较 Zod 和 Valibot 之间的区别，帮助你在选择校验库时做一点参考</summary>
    <category term="代码"></category>
    <published>2026-01-06T06:54:01Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2026/http-status-codes-and-phrases-cheat-sheet</id>
    <title>HTTP 状态码和短语</title>
    <updated>2026-01-04T03:15:21Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[ <p>快速查询常见的 HTTP 状态码及含义</p> <a class="view-full" href="https://www.weilog.me/posts/2026/http-status-codes-and-phrases-cheat-sheet" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2026/http-status-codes-and-phrases-cheat-sheet"></link>
    <summary>快速查询常见的 HTTP 状态码及含义</summary>
    <category term="代码"></category>
    <published>2026-01-04T03:15:21Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2026/bff-in-brief</id>
    <title>BFF简述</title>
    <updated>2026-01-03T09:02:06Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[ <p>BFF 是一种常见的架构模式，用于为不同类型的前端客户端提供定制化的后端服务。</p> <a class="view-full" href="https://www.weilog.me/posts/2026/bff-in-brief" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2026/bff-in-brief"></link>
    <summary>BFF 是一种常见的架构模式，用于为不同类型的前端客户端提供定制化的后端服务。</summary>
    <category term="代码"></category>
    <published>2026-01-03T09:02:06Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/2025-year-end-summary</id>
    <title>2025年终总结</title>
    <updated>2025-12-31T07:35:20Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[ <p>2025再有几个小时就结束了。用一段模拟对话，看看今年做了什么吧！</p> <a class="view-full" href="https://www.weilog.me/posts/2025/2025-year-end-summary" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/2025-year-end-summary"></link>
    <summary>2025再有几个小时就结束了。用一段模拟对话，看看今年做了什么吧！</summary>
    <category term="生活"></category>
    <published>2025-12-31T07:35:20Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/snippets-nestjs-custom-decorators</id>
    <title>一些 Nestjs 的自定义装饰器</title>
    <updated>2025-12-31T07:05:56Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[ <p>可以直接复制使用的 Nestjs 自定义装饰器</p> <a class="view-full" href="https://www.weilog.me/posts/2025/snippets-nestjs-custom-decorators" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/snippets-nestjs-custom-decorators"></link>
    <summary>可以直接复制使用的 Nestjs 自定义装饰器</summary>
    <category term="代码"></category>
    <published>2025-12-31T07:05:56Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/snippets-nestjs-drizzle-custom-validation</id>
    <title>Nestjs + Drizzle 项目中一些常用的自定义校验</title>
    <updated>2025-12-30T09:14:59Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[ <p>可以直接复制使用的自定义校验规则</p> <a class="view-full" href="https://www.weilog.me/posts/2025/snippets-nestjs-drizzle-custom-validation" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/snippets-nestjs-drizzle-custom-validation"></link>
    <summary>可以直接复制使用的自定义校验规则</summary>
    <category term="代码"></category>
    <published>2025-12-30T09:14:59Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/fitst-experience-with-bullmq</id>
    <title>BullMQ 初体验</title>
    <updated>2025-12-29T02:36:19Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[ <p>BullMQ 是一个快速且强大的 Redis™ 后台作业处理库。</p> <a class="view-full" href="https://www.weilog.me/posts/2025/fitst-experience-with-bullmq" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/fitst-experience-with-bullmq"></link>
    <summary>BullMQ 是一个快速且强大的 Redis™ 后台作业处理库。</summary>
    <category term="代码"></category>
    <published>2025-12-29T02:36:19Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/27-year-old</id>
    <title>廿七碎笔</title>
    <updated>2025-12-25T02:24:40Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[ <p>农历生日在明天，紧挨着圣诞节。今日心血来潮，想写些文字，回看这一年。</p> <a class="view-full" href="https://www.weilog.me/posts/2025/27-year-old" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/27-year-old"></link>
    <summary>农历生日在明天，紧挨着圣诞节。今日心血来潮，想写些文字，回看这一年。</summary>
    <category term="生活"></category>
    <published>2025-12-25T02:24:40Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/uses</id>
    <title>目前所用到的设备</title>
    <updated>2025-12-25T02:18:37Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[ <p>嘿嘿，看看我用的一些设备吧！</p> <a class="view-full" href="https://www.weilog.me/posts/2025/uses" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/uses"></link>
    <summary>嘿嘿，看看我用的一些设备吧！</summary>
    <category term="生活"></category>
    <published>2025-12-12T05:58:37Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/ys-project-conclusion</id>
    <title>乙巳项目结语</title>
    <updated>2025-12-06T14:28:27Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[<img src="https://bitmc.uno/picgo/YS_cover.jpg" alt="乙巳项目结语" /> <p>亲爱的陌生人，我的第一次分享合集完结了，带着一些不完美，一些坚持，和一些想对你说的话。</p> <a class="view-full" href="https://www.weilog.me/posts/2025/ys-project-conclusion" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/ys-project-conclusion"></link>
    <summary>亲爱的陌生人，我的第一次分享合集完结了，带着一些不完美，一些坚持，和一些想对你说的话。</summary>
    <category term="成长"></category>
    <published>2025-12-06T14:28:27Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/package-recommend-ua-parser-js</id>
    <title>实用包推荐：ua-parser-js</title>
    <updated>2025-12-02T03:22:26Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[<img src="https://bitmc.uno/picgo/package-recommend-ua-parser-js.jpg" alt="实用包推荐：ua-parser-js" /> <p>用于用于检测用户的浏览器、作系统、CPU 和设备类型/型号。</p> <a class="view-full" href="https://www.weilog.me/posts/2025/package-recommend-ua-parser-js" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/package-recommend-ua-parser-js"></link>
    <summary>用于用于检测用户的浏览器、作系统、CPU 和设备类型/型号。</summary>
    <category term="代码"></category>
    <published>2025-12-02T03:22:26Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/escape-from-beijing</id>
    <title>逃离北京</title>
    <updated>2025-11-07T04:28:05Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[<img src="https://bitmc.uno/picgo/escape-from-beijing.jpg" alt="逃离北京" /> <p>北京很好，也没那么差。</p> <a class="view-full" href="https://www.weilog.me/posts/2025/escape-from-beijing" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/escape-from-beijing"></link>
    <summary>北京很好，也没那么差。</summary>
    <category term="成长"></category>
    <published>2025-03-17T12:16:05Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/typescript-performance</id>
    <title>【翻译】编写易于编译的TypeScript代码</title>
    <updated>2025-11-05T10:00:24Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[<img src="https://bitmc.uno/picgo/translate-typescript-performance.jpg" alt="【翻译】编写易于编译的TypeScript代码" /> <p>来自 TypeScript 官方的 Wiki 文章，介绍了多种提升 TypeScript 性能的实践方法。</p> <a class="view-full" href="https://www.weilog.me/posts/2025/typescript-performance" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/typescript-performance"></link>
    <summary>来自 TypeScript 官方的 Wiki 文章，介绍了多种提升 TypeScript 性能的实践方法。</summary>
    <category term="译"></category>
    <published>2025-11-05T10:00:24Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/you-should-use-shadcn-vue</id>
    <title>或许你应该看看 shadcn-vue</title>
    <updated>2025-10-07T01:56:05Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[<img src="https://bitmc.uno/picgo/maybe-you-should-use-shadcn-vue-cover.jpg" alt="或许你应该看看 shadcn-vue" /> <p>shadcn-vue在最近将input-group和button-group组件加进来了，和目前主流的一些组件库相比，缺失的组件已经很少了。</p> <a class="view-full" href="https://www.weilog.me/posts/2025/you-should-use-shadcn-vue" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/you-should-use-shadcn-vue"></link>
    <summary>shadcn-vue在最近将input-group和button-group组件加进来了，和目前主流的一些组件库相比，缺失的组件已经很少了。</summary>
    <category term="代码"></category>
    <published>2025-10-07T01:56:05Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/coderabbitai-use</id>
    <title>五分钟内免费集成 CodeRabbit 到你的项目中</title>
    <updated>2025-09-13T08:43:24Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[<img src="https://bitmc.uno/picgo/CodeRabbitAIUse01.jpg" alt="五分钟内免费集成 CodeRabbit 到你的项目中" /> <p>没有大佬帮助的话，用 AI review 代码也不错</p> <a class="view-full" href="https://www.weilog.me/posts/2025/coderabbitai-use" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/coderabbitai-use"></link>
    <summary>没有大佬帮助的话，用 AI review 代码也不错</summary>
    <category term="代码"></category>
    <published>2025-09-13T08:43:24Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/0718-life</id>
    <title>乙巳年六月廿四</title>
    <updated>2025-09-12T07:21:11Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[ <p>今天是山阴县传统庙会的日子，也是小舅舅结婚的日子。</p> <a class="view-full" href="https://www.weilog.me/posts/2025/0718-life" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/0718-life"></link>
    <summary>今天是山阴县传统庙会的日子，也是小舅舅结婚的日子。</summary>
    <category term="生活"></category>
    <published>2025-07-18T09:21:11Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/drizzle-in-monorepo</id>
    <title>利用 monorepo 在项目中共享 drizzle schema 定义和类型</title>
    <updated>2025-09-11T04:31:08Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[ <p>还蛮好用的！</p> <a class="view-full" href="https://www.weilog.me/posts/2025/drizzle-in-monorepo" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/drizzle-in-monorepo"></link>
    <summary>还蛮好用的！</summary>
    <category term="代码"></category>
    <published>2025-09-11T04:31:08Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/why-di-i-choose-drizzle-orm-in-nodejs</id>
    <title>为什么我在 Nodejs 中选择 drizzle</title>
    <updated>2025-09-02T03:09:24Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[<img src="https://bitmc.uno/picgo/why-di-i-choose-drizzle-orm-in-nodejs.png" alt="为什么我在 Nodejs 中选择 drizzle" /> <p>Prisma 很棒，但是 drizzle 更吸引我。</p> <a class="view-full" href="https://www.weilog.me/posts/2025/why-di-i-choose-drizzle-orm-in-nodejs" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/why-di-i-choose-drizzle-orm-in-nodejs"></link>
    <summary>Prisma 很棒，但是 drizzle 更吸引我。</summary>
    <category term="代码"></category>
    <published>2025-09-02T03:09:24Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/travel-guangwu-changcheng</id>
    <title>广武明长城半日游</title>
    <updated>2025-08-10T16:52:34Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[<img src="https://bitmc.uno/picgo/yueliangmen.jpg" alt="广武明长城半日游" /> <p>说起广武，下意识想到的是一双深邃的眸子，再往外就是虚焦的一张脸蛋......</p> <a class="view-full" href="https://www.weilog.me/posts/2025/travel-guangwu-changcheng" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/travel-guangwu-changcheng"></link>
    <summary>说起广武，下意识想到的是一双深邃的眸子，再往外就是虚焦的一张脸蛋......</summary>
    <category term="生活"></category>
    <published>2025-08-10T16:52:34Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/nest-config</id>
    <title>nest-config 模块的人体工学适配</title>
    <updated>2025-08-10T16:07:11Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[<img src="https://bitmc.uno/picgo/nest-config.jpg" alt="nest-config 模块的人体工学适配" /> <p>nestjs 官方的 nest-config 模块已经很好用了，但是我们有更好用的方法！</p> <a class="view-full" href="https://www.weilog.me/posts/2025/nest-config" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/nest-config"></link>
    <summary>nestjs 官方的 nest-config 模块已经很好用了，但是我们有更好用的方法！</summary>
    <category term="代码"></category>
    <published>2025-08-10T16:07:11Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/nestjs-drizzle</id>
    <title>在 Nestjs 中使用 Drizzle ORM</title>
    <updated>2025-08-10T15:40:32Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[<img src="https://bitmc.uno/picgo/use-drizzle-in-nestjs.jpg" alt="在 Nestjs 中使用 Drizzle ORM" /> <p>drizzle 是一个很好的 ORM 框架，但是它如何结合强大的 Nestjs 来使用呢？官方文档中并没有说明，我们这里做一点简单的“教程”，希望能对你有所帮助！</p> <a class="view-full" href="https://www.weilog.me/posts/2025/nestjs-drizzle" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/nestjs-drizzle"></link>
    <summary>drizzle 是一个很好的 ORM 框架，但是它如何结合强大的 Nestjs 来使用呢？官方文档中并没有说明，我们这里做一点简单的“教程”，希望能对你有所帮助！</summary>
    <category term="代码"></category>
    <published>2025-08-06T15:01:32Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/nest-captcha</id>
    <title>在 Nestjs 中使用验证码</title>
    <updated>2025-08-10T14:53:48Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[<img src="https://bitmc.uno/picgo/nest-captcha.jpg" alt="在 Nestjs 中使用验证码" /> <p>在登录时，我们需要提供一个验证码来防止攻击，这篇文章就来说明一下如何实现验证码模块。</p> <a class="view-full" href="https://www.weilog.me/posts/2025/nest-captcha" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/nest-captcha"></link>
    <summary>在登录时，我们需要提供一个验证码来防止攻击，这篇文章就来说明一下如何实现验证码模块。</summary>
    <category term="代码"></category>
    <published>2025-08-10T14:53:48Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/nestjs-scalar</id>
    <title>在 nestjs 中使用 scalar</title>
    <updated>2025-08-02T03:44:47Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[<img src="https://bitmc.uno/picgo/use-scalar-in-nestjs.jpg" alt="在 nestjs 中使用 scalar" /> <p>在 nodejs 开发 API 时，使用 swagger 生成文档很方便，但是默认的样式看起来不是特别漂亮。而 scalar 为我们提供了很好的界面。今天我们就一起把它集成到 nestjs 中。</p> <a class="view-full" href="https://www.weilog.me/posts/2025/nestjs-scalar" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/nestjs-scalar"></link>
    <summary>在 nodejs 开发 API 时，使用 swagger 生成文档很方便，但是默认的样式看起来不是特别漂亮。而 scalar 为我们提供了很好的界面。今天我们就一起把它集成到 nestjs 中。</summary>
    <category term="代码"></category>
    <published>2025-08-02T03:44:47Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2023/nuxt3-pm2-deploy-nuxt3</id>
    <title>pm2部署Nuxt3</title>
    <updated>2025-07-28T03:45:30Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[<img src="https://bitmc.uno/picgo/67a1b5c565c52-78.webp" alt="pm2部署Nuxt3" />  <a class="view-full" href="https://www.weilog.me/posts/2023/nuxt3-pm2-deploy-nuxt3" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2023/nuxt3-pm2-deploy-nuxt3"></link>
    <summary/>
    <category term="代码"></category>
    <published>2023-12-05T10:02:30Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/vue-alpha-vapor-mode</id>
    <title>Vue Vapor mode 来了</title>
    <updated>2025-07-19T09:59:31Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[<img src="https://bitmc.uno/picgo/vue-vapor-mode.png" alt="Vue Vapor mode 来了" /> <p>Vue 3.6.0-alpha.1在近几日发布了，它引入了说了很久的 Vapor Mode，今天我们一起看下为什么需要 Vapor Mode 以及目前使用它需要知道的事情。</p> <a class="view-full" href="https://www.weilog.me/posts/2025/vue-alpha-vapor-mode" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/vue-alpha-vapor-mode"></link>
    <summary>Vue 3.6.0-alpha.1在近几日发布了，它引入了说了很久的 Vapor Mode，今天我们一起看下为什么需要 Vapor Mode 以及目前使用它需要知道的事情。</summary>
    <category term="代码"></category>
    <published>2025-07-19T09:59:31Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/clean-vue-component</id>
    <title>如何写出干净的组件</title>
    <updated>2025-07-10T09:10:24Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[<img src="https://bitmc.uno/picgo/clean-vue-component.png" alt="如何写出干净的组件" /> <p>本文讲述一部分使用 Vue 的小技巧，帮助你写出更干净的组件。</p> <a class="view-full" href="https://www.weilog.me/posts/2025/clean-vue-component" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/clean-vue-component"></link>
    <summary>本文讲述一部分使用 Vue 的小技巧，帮助你写出更干净的组件。</summary>
    <category term="代码"></category>
    <published>2025-07-10T09:10:24Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/why-migrate-to-nuxt-content-v3</id>
    <title>为什么升级至 Nuxt Content v3?</title>
    <updated>2025-06-18T03:19:28Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[ <p>本站为什么呀迁移到 Nuxt Content v3</p> <a class="view-full" href="https://www.weilog.me/posts/2025/why-migrate-to-nuxt-content-v3" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/why-migrate-to-nuxt-content-v3"></link>
    <summary>本站为什么呀迁移到 Nuxt Content v3</summary>
    <category term="代码"></category>
    <published>2025-06-18T03:19:28Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/why-migrate-to-nuxt</id>
    <title>本站为什么要从 Hexo 迁移到 Nuxt</title>
    <updated>2025-06-18T02:00:00Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[<img src="https://bitmc.uno/picgo/why-migrate-to-nuxt.jpg" alt="本站为什么要从 Hexo 迁移到 Nuxt" /> <p>本文讨论一下我为什么要把博客从Hexo迁移到Nuxt</p> <a class="view-full" href="https://www.weilog.me/posts/2025/why-migrate-to-nuxt" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/why-migrate-to-nuxt"></link>
    <summary>本文讨论一下我为什么要把博客从Hexo迁移到Nuxt</summary>
    <category term="代码"></category>
    <published>2025-01-06T08:38:36Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/caddy</id>
    <title>使用 caddy 替换 nginx</title>
    <updated>2025-06-15T07:47:28Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[<img src="https://bitmc.uno/picgo/use-caddy.png" alt="使用 caddy 替换 nginx" /> <p>你是否还在为配置 Nginx 而烦恼？是否还在为 SSL 证书的续期而头疼？Caddy 是一个现代化的 Web 服务器，它可以自动处理 HTTPS 和反向代理等任务，让你专注于开发而不是服务器配置。</p> <a class="view-full" href="https://www.weilog.me/posts/2025/caddy" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/caddy"></link>
    <summary>你是否还在为配置 Nginx 而烦恼？是否还在为 SSL 证书的续期而头疼？Caddy 是一个现代化的 Web 服务器，它可以自动处理 HTTPS 和反向代理等任务，让你专注于开发而不是服务器配置。</summary>
    <category term="代码"></category>
    <published>2025-06-15T07:47:28Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/how-use-typed-vue-router</id>
    <title>如何使用 Vue Router 的类型化路由</title>
    <updated>2025-06-12T08:23:42Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[<img src="https://bitmc.uno/picgo/vue-router-typed-router-cover.png" alt="如何使用 Vue Router 的类型化路由" /> <p>现在你可以使用 Vue Router 的类型化路由来增强你的 Vue 应用的类型安全性和可维护性。</p> <a class="view-full" href="https://www.weilog.me/posts/2025/how-use-typed-vue-router" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/how-use-typed-vue-router"></link>
    <summary>现在你可以使用 Vue Router 的类型化路由来增强你的 Vue 应用的类型安全性和可维护性。</summary>
    <category term="代码"></category>
    <published>2025-06-12T08:23:42Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/tailwindcss-v4-compatibility-processing</id>
    <title>tailwindcss-v4 兼容性处理</title>
    <updated>2025-06-07T11:28:44Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[<img src="https://bitmc.uno/picgo/tailwindcss-v4-OKLCH-postcss.png" alt="tailwindcss-v4 兼容性处理" /> <p>tailwindcss v4版本使用了 OKLCH 色彩空间，旧版的浏览器兼容性不是很好，如何解决这个问题呢？</p> <a class="view-full" href="https://www.weilog.me/posts/2025/tailwindcss-v4-compatibility-processing" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/tailwindcss-v4-compatibility-processing"></link>
    <summary>tailwindcss v4版本使用了 OKLCH 色彩空间，旧版的浏览器兼容性不是很好，如何解决这个问题呢？</summary>
    <category term="代码"></category>
    <published>2025-06-07T11:28:44Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/shadcn-vue-admin-100-star</id>
    <title>shadcn-vue-admin 100星留念</title>
    <updated>2025-06-07T04:18:16Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[<img src="https://bitmc.uno/picgo/shadcn-vue-admin-100-star.png" alt="shadcn-vue-admin 100星留念" /> <p>shadcn-vue 已经 100 个星了！！！🥳 从2024年12月12日开始在 Github 上发布此仓库已经半年时间了！我想，这 100 个星对于我自己来说是一个大的突破。</p> <a class="view-full" href="https://www.weilog.me/posts/2025/shadcn-vue-admin-100-star" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/shadcn-vue-admin-100-star"></link>
    <summary>shadcn-vue 已经 100 个星了！！！🥳 从2024年12月12日开始在 Github 上发布此仓库已经半年时间了！我想，这 100 个星对于我自己来说是一个大的突破。</summary>
    <category term="成长"></category>
    <published>2025-06-07T04:18:16Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/domain-driven-design-with-nuxt-layers</id>
    <title>【翻译】使用 Nuxt Layers 进行领域驱动设计</title>
    <updated>2025-05-06T05:30:25Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[<img src="https://bitmc.uno/picgo/6819a42874dee-78.webp" alt="【翻译】使用 Nuxt Layers 进行领域驱动设计" /> <p>Nuxt 的领域驱动设计 (DDD) 使开发者能够根据业务需求调整软件架构，从而更有效地构建应用程序。本文将深入探讨 Nuxt Layers ，以及它如何增强 Nuxt 中的 DDD 方法，通过将复杂的应用程序组织到层中，从而提高可扩展性和可维护性，使其更易于管理。最终，您将掌握在自己的 Nuxt 项目中应用 DDD 原则的知识。</p> <a class="view-full" href="https://www.weilog.me/posts/2025/domain-driven-design-with-nuxt-layers" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/domain-driven-design-with-nuxt-layers"></link>
    <summary>Nuxt 的领域驱动设计 (DDD) 使开发者能够根据业务需求调整软件架构，从而更有效地构建应用程序。本文将深入探讨 Nuxt Layers ，以及它如何增强 Nuxt 中的 DDD 方法，通过将复杂的应用程序组织到层中，从而提高可扩展性和可维护性，使其更易于管理。最终，您将掌握在自己的 Nuxt 项目中应用 DDD 原则的知识。</summary>
    <category term="译"></category>
    <published>2025-05-06T05:30:25Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/how-to-structure-a-large-scale-vue-application</id>
    <title>【翻译】如何构建大型 Vue 应用程序</title>
    <updated>2025-05-06T01:40:22Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[<img src="https://bitmc.uno/picgo/68198095a615b-78.webp" alt="【翻译】如何构建大型 Vue 应用程序" /> <p>构建 Vue.js 应用程序的最佳方法是什么，以便它可以随着规模的增长而扩展并保持可维护性和可扩展性？这是我在很多场合听到过的一个问题，我认为这个问题的答案在于可预测性原则。当谈到创建一个可扩展的项目时，您希望它的一切都尽可能可预测。</p> <a class="view-full" href="https://www.weilog.me/posts/2025/how-to-structure-a-large-scale-vue-application" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/how-to-structure-a-large-scale-vue-application"></link>
    <summary>构建 Vue.js 应用程序的最佳方法是什么，以便它可以随着规模的增长而扩展并保持可维护性和可扩展性？这是我在很多场合听到过的一个问题，我认为这个问题的答案在于可预测性原则。当谈到创建一个可扩展的项目时，您希望它的一切都尽可能可预测。</summary>
    <category term="译"></category>
    <published>2025-05-06T01:40:22Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/intl-numberformat</id>
    <title>使用Intl.NumberFormat对数字进行格式化</title>
    <updated>2025-04-30T08:15:29Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[ <p>Intl 对象是 ECMAScript 国际化 API 的一个命名空间，它提供了精确的字符串对比、数字格式化，和日期时间格式化。Can I Use 中查询到它已经有 94.47% 适配，所以我们可以在项目中使用它。</p> <a class="view-full" href="https://www.weilog.me/posts/2025/intl-numberformat" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/intl-numberformat"></link>
    <summary>Intl 对象是 ECMAScript 国际化 API 的一个命名空间，它提供了精确的字符串对比、数字格式化，和日期时间格式化。Can I Use 中查询到它已经有 94.47% 适配，所以我们可以在项目中使用它。</summary>
    <category term="代码"></category>
    <published>2025-04-30T08:15:29Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/create-own-sticker-use-chatgpt</id>
    <title>使用 chatgpt 制作自己的小贴纸</title>
    <updated>2025-04-27T02:56:14Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[<img src="https://bitmc.uno/picgo/create-own-sticker-use-chatgpt.jpg" alt="使用 chatgpt 制作自己的小贴纸" /> <p>快来使用 chatgpt 免费的功能来制作属于你自己的小贴纸吧</p> <a class="view-full" href="https://www.weilog.me/posts/2025/create-own-sticker-use-chatgpt" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/create-own-sticker-use-chatgpt"></link>
    <summary>快来使用 chatgpt 免费的功能来制作属于你自己的小贴纸吧</summary>
    <category term="经验分享"></category>
    <published>2025-04-27T02:56:14Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/better-auth</id>
    <title>hono 集成 Better Auth</title>
    <updated>2025-04-24T09:47:42Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[<img src="https://bitmc.uno/picgo/better-auth-with-hono.png" alt="hono 集成 Better Auth" /> <p>Better Auth 是一个与框架无关的 TypeScript 身份验证和授权框架。它提供了一套全面的开箱即用功能，并包含一个插件生态系统，简化了高级功能的添加。本文我们将使用 hono 集成它，并在 vue 中使用它。</p> <a class="view-full" href="https://www.weilog.me/posts/2025/better-auth" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/better-auth"></link>
    <summary>Better Auth 是一个与框架无关的 TypeScript 身份验证和授权框架。它提供了一套全面的开箱即用功能，并包含一个插件生态系统，简化了高级功能的添加。本文我们将使用 hono 集成它，并在 vue 中使用它。</summary>
    <category term="代码"></category>
    <published>2025-04-24T09:47:42Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/about-shadcn-vue-admin</id>
    <title>shadcn-vue-admin 说明</title>
    <updated>2025-04-20T08:38:09Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[<img src="https://bitmc.uno/picgo/Shadcn-Vue-Admin-Dashboard.png" alt="shadcn-vue-admin 说明" /> <p>有关 shadcn-vue-admin 模板的说明。shadcn-vue-admin是一个管理仪表板，采用 Shadcn-vue、Vue3 和 Vite 精心打造。构建时充分考虑了响应能力和可访问性。这是一个起始（模板）项目，后续会增加更多组件。</p> <a class="view-full" href="https://www.weilog.me/posts/2025/about-shadcn-vue-admin" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/about-shadcn-vue-admin"></link>
    <summary>有关 shadcn-vue-admin 模板的说明。shadcn-vue-admin是一个管理仪表板，采用 Shadcn-vue、Vue3 和 Vite 精心打造。构建时充分考虑了响应能力和可访问性。这是一个起始（模板）项目，后续会增加更多组件。</summary>
    <category term="代码"></category>
    <published>2025-04-20T08:38:09Z</published>
  </entry>
  <entry>
    <id>https://www.weilog.me/posts/2025/zod-use</id>
    <title>Zod 基础用法</title>
    <updated>2025-03-15T10:10:39Z</updated>
    <author>
      <name>月空人</name>
    </author>
    <content type="html">
      <![CDATA[<img src="https://bitmc.uno/picgo/zod-use.jpg" alt="Zod 基础用法" /> <p>本文简单讨论一下 Zod 在项目中的实际使用</p> <a class="view-full" href="https://www.weilog.me/posts/2025/zod-use" target="_blank">点击查看全文</a>]]>
    </content>
    <link href="https://www.weilog.me/posts/2025/zod-use"></link>
    <summary>本文简单讨论一下 Zod 在项目中的实际使用</summary>
    <category term="代码"></category>
    <published>2025-03-15T10:10:39Z</published>
  </entry>
</feed>
