<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Bowen 的博客</title><description>分享我的想法和经验。</description><link>https://blog.bowen.cool/zh/</link><item><title>我是如何管理我的照片的</title><link>https://blog.bowen.cool/zh/posts/how-do-i-manage-my-photos/</link><guid isPermaLink="true">https://blog.bowen.cool/zh/posts/how-do-i-manage-my-photos/</guid><description>&lt;img src=&quot;https://blog.bowen.cool/posts/how-do-i-manage-my-photos.png&quot; /&gt;&lt;br&gt;随着照片越来越多，iCloud、MiCloud 已经完全不划算了。国内云盘更是毫无底线。我在这里分享一下我的方案。</description><pubDate>Sun, 28 Dec 2025 06:12:48 GMT</pubDate></item><item><title>我的 unRAID 使用报告</title><link>https://blog.bowen.cool/zh/posts/my-usage-reports-of-unraid/</link><guid isPermaLink="true">https://blog.bowen.cool/zh/posts/my-usage-reports-of-unraid/</guid><description>&lt;img src=&quot;https://blog.bowen.cool/posts/my-usage-reports-of-unraid.png&quot; /&gt;&lt;br&gt;unRAID 是一个家用 NAS 系统，也是我第一次接触 NAS，因为有朋友在用，所以也没考虑其他 NAS 系统。稳定运行好多年了，体验极好，特此记录，以便分享。</description><pubDate>Fri, 31 Oct 2025 08:17:24 GMT</pubDate></item><item><title>自建音乐流媒体服务</title><link>https://blog.bowen.cool/zh/posts/self-host-music-streaming-service/</link><guid isPermaLink="true">https://blog.bowen.cool/zh/posts/self-host-music-streaming-service/</guid><description>&lt;img src=&quot;https://blog.bowen.cool/posts/self-host-music-streaming-service.png&quot; /&gt;&lt;br&gt;近几年我用过网易云音乐、Apple Music（国区）、Youtube Music、QQ音乐，各有各的缺点，本以为耳濡目染的QQ音乐版权应该很牛逼，没想到一般般，只是热门音乐人的版权很全而已。而且付费看广告也真是神奇体验了。</description><pubDate>Sat, 11 Oct 2025 09:31:10 GMT</pubDate></item><item><title>处理外汇收入</title><link>https://blog.bowen.cool/zh/posts/handle-foreign-income/</link><guid isPermaLink="true">https://blog.bowen.cool/zh/posts/handle-foreign-income/</guid><description>&lt;img src=&quot;https://blog.bowen.cool/posts/handle-foreign-income.png&quot; /&gt;&lt;br&gt;最近我成为了一名数字游民，在这里分享一下我是如何处理工资的。</description><pubDate>Thu, 14 Aug 2025 13:05:42 GMT</pubDate></item><item><title>使用 RClone 实现 unRAID 的异地容灾</title><link>https://blog.bowen.cool/zh/posts/offsite-disaster-recovery-for-unraid-with-rclone/</link><guid isPermaLink="true">https://blog.bowen.cool/zh/posts/offsite-disaster-recovery-for-unraid-with-rclone/</guid><description>&lt;img src=&quot;https://blog.bowen.cool/posts/offsite-disaster-recovery-for-unraid-with-rclone.png&quot; /&gt;&lt;br&gt;众所周知，unRAID 作为最流行的家用 Nas 系统之一，没有提供异地容灾的功能（3-2-1 备份原则中最后一条）。随着 Nas 里的数据越来越多，应用越来越复杂，我越来越担心 NAS 硬件由于不可抗力（地震、水灾、火灾、盗窃等）全挂了的时候该如何恢复的问题。为了确保数据万无一失，今天来说说异地容灾。</description><pubDate>Mon, 14 Jul 2025 04:15:28 GMT</pubDate></item><item><title>如何使用 JavaScript 跟踪网页上的所有 HTTP 请求</title><link>https://blog.bowen.cool/zh/posts/how-to-track-all-http-requests-on-the-web-using-javascript/</link><guid isPermaLink="true">https://blog.bowen.cool/zh/posts/how-to-track-all-http-requests-on-the-web-using-javascript/</guid><description>&lt;img src=&quot;https://blog.bowen.cool/posts/how-to-track-all-http-requests-on-the-web-using-javascript.png&quot; /&gt;&lt;br&gt;如何使用 JavaScript 跟踪网页上的所有 HTTP 请求</description><pubDate>Sun, 13 Jul 2025 08:29:16 GMT</pubDate></item><item><title>如何使用 JavaScript 跟踪网页上所有路由变化</title><link>https://blog.bowen.cool/zh/posts/how-to-track-all-the-route-changes-on-the-web-using-javascript/</link><guid isPermaLink="true">https://blog.bowen.cool/zh/posts/how-to-track-all-the-route-changes-on-the-web-using-javascript/</guid><description>&lt;img src=&quot;https://blog.bowen.cool/posts/how-to-track-all-the-route-changes-on-the-web-using-javascript.png&quot; /&gt;&lt;br&gt;如何使用 JavaScript 跟踪网页上所有路由变化</description><pubDate>Sun, 13 Jul 2025 08:29:16 GMT</pubDate></item><item><title>15 万预算新能源 SUV 对比（2024）</title><link>https://blog.bowen.cool/zh/posts/15w-suv-2024/</link><guid isPermaLink="true">https://blog.bowen.cool/zh/posts/15w-suv-2024/</guid><description>&lt;img src=&quot;https://blog.bowen.cool/posts/15w-suv-2024.png&quot; /&gt;&lt;br&gt;15 万预算新能源 SUV 车型对比</description><pubDate>Thu, 07 Nov 2024 17:14:08 GMT</pubDate></item><item><title>如何加密备份你的 NAS 数据</title><link>https://blog.bowen.cool/zh/posts/how-to-encrypt-backup-your-data-on-your-nas/</link><guid isPermaLink="true">https://blog.bowen.cool/zh/posts/how-to-encrypt-backup-your-data-on-your-nas/</guid><description>&lt;img src=&quot;https://blog.bowen.cool/posts/how-to-encrypt-backup-your-data-on-your-nas.png&quot; /&gt;&lt;br&gt;之前我们讲过如何用 RClone 将你的数据备份到云盘/OSS等远程存储服务，但是直接使用 RClone 这种方式缺少一些高级特性。</description><pubDate>Tue, 17 Sep 2024 01:12:03 GMT</pubDate></item><item><title>在 MacOS 上用 Chrome 打开以 &quot;chrome://&quot; 开头的网址</title><link>https://blog.bowen.cool/zh/posts/open-chrome-url-in-chrome-on-macos/</link><guid isPermaLink="true">https://blog.bowen.cool/zh/posts/open-chrome-url-in-chrome-on-macos/</guid><description>&lt;img src=&quot;https://blog.bowen.cool/posts/open-chrome-url-in-chrome-on-macos.png&quot; /&gt;&lt;br&gt;Chrome 没有注册以“chrome://”开头的URL。我在这里分享一下如何修复这个问题。</description><pubDate>Sun, 18 Aug 2024 04:27:45 GMT</pubDate></item><item><title>半瓶水的 NAS 硬件升级草案</title><link>https://blog.bowen.cool/zh/posts/nas-hardwares/</link><guid isPermaLink="true">https://blog.bowen.cool/zh/posts/nas-hardwares/</guid><description>&lt;img src=&quot;https://blog.bowen.cool/posts/nas-hardwares.png&quot; /&gt;&lt;br&gt;我目前的 NAS 是由一台 8 年前的旧电脑改造而成的。现在打算更换硬件，参考了一些别人的方案，并调研了比较流行的 NAS 硬件。在此记录一下，也供有需要的人参考。</description><pubDate>Fri, 26 Jul 2024 12:38:53 GMT</pubDate></item><item><title>无需前端，2 个接口实现 OAuth 认证</title><link>https://blog.bowen.cool/zh/posts/oauth-implementation/</link><guid isPermaLink="true">https://blog.bowen.cool/zh/posts/oauth-implementation/</guid><description>&lt;img src=&quot;https://blog.bowen.cool/posts/oauth-implementation.png&quot; /&gt;&lt;br&gt;看过了太多开发者设计的 OAuth 流程，有很多人竟然需要前端参与开发，渲染前端页面本身就是很复杂的流程了，竟然还要反复渲染页面，性能极差、可读性极差、又浪费人力，我实在是看不下去了。</description><pubDate>Fri, 10 May 2024 07:34:01 GMT</pubDate></item><item><title>打印 HTML 页面特定区域（元素）的最简单方法</title><link>https://blog.bowen.cool/zh/posts/way-to-print-partial-html-page/</link><guid isPermaLink="true">https://blog.bowen.cool/zh/posts/way-to-print-partial-html-page/</guid><description>&lt;img src=&quot;https://blog.bowen.cool/posts/way-to-print-partial-html-page.png&quot; /&gt;&lt;br&gt;打印 HTML 页面特定区域（元素）的最简单方法</description><pubDate>Mon, 18 Mar 2024 09:09:37 GMT</pubDate></item><item><title>如何使用 Ant Design Table 表格实现无限滚动</title><link>https://blog.bowen.cool/zh/posts/infinite-scrolling-antd-table/</link><guid isPermaLink="true">https://blog.bowen.cool/zh/posts/infinite-scrolling-antd-table/</guid><description>&lt;img src=&quot;https://blog.bowen.cool/posts/infinite-scrolling-antd-table.png&quot; /&gt;&lt;br&gt;本文将指导您如何在 Ant Design Table 表格中实现无限滚动。</description><pubDate>Sat, 16 Mar 2024 12:29:30 GMT</pubDate></item><item><title>玩转 Mac 之通用快捷键</title><link>https://blog.bowen.cool/zh/posts/common-shortcuts-for-macos/</link><guid isPermaLink="true">https://blog.bowen.cool/zh/posts/common-shortcuts-for-macos/</guid><description>&lt;img src=&quot;https://blog.bowen.cool/posts/common-shortcuts-for-macos.png&quot; /&gt;&lt;br&gt;此文章分享了一些 MacOS 上的统一快捷键，以便于形成肌肉记忆。</description><pubDate>Wed, 06 Mar 2024 11:06:37 GMT</pubDate></item><item><title>浏览器渲染过程</title><link>https://blog.bowen.cool/zh/posts/browser-knowledge/</link><guid isPermaLink="true">https://blog.bowen.cool/zh/posts/browser-knowledge/</guid><description>&lt;img src=&quot;https://blog.bowen.cool/posts/browser-knowledge.png&quot; /&gt;&lt;br&gt;本文总结了浏览器相关的一些面试题，包括浏览器架构、渲染流程、性能优化等。</description><pubDate>Wed, 06 Mar 2024 02:54:18 GMT</pubDate></item><item><title>如何封装一个 Promise 风格的弹窗？</title><link>https://blog.bowen.cool/zh/posts/how-to-write-a-promise-style-dialog/</link><guid isPermaLink="true">https://blog.bowen.cool/zh/posts/how-to-write-a-promise-style-dialog/</guid><description>&lt;img src=&quot;https://blog.bowen.cool/posts/how-to-write-a-promise-style-dialog.png&quot; /&gt;&lt;br&gt;本文介绍了一种非常简洁的 Modal/Dialog 写法。</description><pubDate>Tue, 05 Mar 2024 13:14:51 GMT</pubDate></item><item><title>当节流和去抖遇到异步，它们会擦出怎样的火花？</title><link>https://blog.bowen.cool/zh/posts/when-throttling-meets-asynchrony/</link><guid isPermaLink="true">https://blog.bowen.cool/zh/posts/when-throttling-meets-asynchrony/</guid><description>&lt;img src=&quot;https://blog.bowen.cool/posts/when-throttling-meets-asynchrony.png&quot; /&gt;&lt;br&gt;本文介绍了一种异步节流的实现方式，以及它的孪生兄弟——异步防抖。</description><pubDate>Fri, 23 Feb 2024 09:54:13 GMT</pubDate></item><item><title>如何在外面连接到家里的内网？</title><link>https://blog.bowen.cool/zh/posts/how-to-connect-to-the-home-intranet-from-outside/</link><guid isPermaLink="true">https://blog.bowen.cool/zh/posts/how-to-connect-to-the-home-intranet-from-outside/</guid><description>&lt;img src=&quot;https://blog.bowen.cool/posts/how-to-connect-to-the-home-intranet-from-outside.png&quot; /&gt;&lt;br&gt;总结了一些作者使用过的连接家庭内网的方案。</description><pubDate>Sat, 10 Feb 2024 07:28:42 GMT</pubDate></item><item><title>如何用代码修改代码（含vue）</title><link>https://blog.bowen.cool/zh/posts/how-to-modify-code-with-ast/</link><guid isPermaLink="true">https://blog.bowen.cool/zh/posts/how-to-modify-code-with-ast/</guid><description>&lt;img src=&quot;https://blog.bowen.cool/posts/how-to-modify-code-with-ast.png&quot; /&gt;&lt;br&gt;使用场景包括最常见的工具场景，比如自动插入一些逻辑代码，或批量修改相同的代码逻辑等等。</description><pubDate>Wed, 07 Feb 2024 03:58:34 GMT</pubDate></item><item><title>SSR（服务端渲染）基本原理和流程</title><link>https://blog.bowen.cool/zh/posts/server-side-rendering-rationale/</link><guid isPermaLink="true">https://blog.bowen.cool/zh/posts/server-side-rendering-rationale/</guid><description>&lt;img src=&quot;https://blog.bowen.cool/posts/server-side-rendering-rationale.png&quot; /&gt;&lt;br&gt;SSR（服务端渲染）基本工作模式原理</description><pubDate>Sat, 03 Feb 2024 14:50:15 GMT</pubDate></item><item><title>我是如何搭建博客的</title><link>https://blog.bowen.cool/zh/posts/how-do-i-build-my-blog/</link><guid isPermaLink="true">https://blog.bowen.cool/zh/posts/how-do-i-build-my-blog/</guid><description>&lt;img src=&quot;https://blog.bowen.cool/posts/how-do-i-build-my-blog.png&quot; /&gt;&lt;br&gt;本文讲述了作者在搭建博客的一些思考、权衡以及实践过程中的经验。</description><pubDate>Fri, 02 Feb 2024 13:27:08 GMT</pubDate></item><item><title>如何将短信中的快递取件码自动转发到滴答清单/待办事项等 TODO 应用（取件提醒）</title><link>https://blog.bowen.cool/zh/posts/how-to-forward-sms-messages-to-your-todo-list/</link><guid isPermaLink="true">https://blog.bowen.cool/zh/posts/how-to-forward-sms-messages-to-your-todo-list/</guid><description>&lt;img src=&quot;https://blog.bowen.cool/posts/how-to-forward-sms-messages-to-your-todo-list.png&quot; /&gt;&lt;br&gt;本文介绍了安卓和iOS设备如何将短信中的快递取件码自动转发到 TODO 应用中，本文以滴答清单为例。</description><pubDate>Wed, 24 Jan 2024 11:06:07 GMT</pubDate></item><item><title>为 vitepress 添加更专业的 Demo 演示能力</title><link>https://blog.bowen.cool/zh/posts/add-more-professional-demo-presentation-capabilities-to-vitepress/</link><guid isPermaLink="true">https://blog.bowen.cool/zh/posts/add-more-professional-demo-presentation-capabilities-to-vitepress/</guid><description>&lt;img src=&quot;https://blog.bowen.cool/posts/add-more-professional-demo-presentation-capabilities-to-vitepress.png&quot; /&gt;&lt;br&gt;为 vitepress 添加更专业的 Demo 演示能力</description><pubDate>Sun, 06 Aug 2023 07:51:27 GMT</pubDate></item><item><title>MacOS 双开微信</title><link>https://blog.bowen.cool/zh/posts/how-to-open-two-wechat-instances-on-macOS/</link><guid isPermaLink="true">https://blog.bowen.cool/zh/posts/how-to-open-two-wechat-instances-on-macOS/</guid><description>&lt;img src=&quot;https://blog.bowen.cool/posts/how-to-open-two-wechat-instances-on-macOS.png&quot; /&gt;&lt;br&gt;MacOS 双开微信</description><pubDate>Tue, 25 Jul 2023 01:44:32 GMT</pubDate></item><item><title>把 iPad 作为 Mac mini 的唯一显示器，过年回家也能用 Mac mini 啦！</title><link>https://blog.bowen.cool/zh/posts/use-ipad-as-the-sole-display-for-mac-mini/</link><guid isPermaLink="true">https://blog.bowen.cool/zh/posts/use-ipad-as-the-sole-display-for-mac-mini/</guid><description>&lt;img src=&quot;https://blog.bowen.cool/posts/use-ipad-as-the-sole-display-for-mac-mini.png&quot; /&gt;&lt;br&gt;把 iPad 作为 Mac mini 的唯一显示器，过年回家也能用 Mac mini 啦！无需外接显示器开启随航，最新 MacOS Ventura 版，无需 Luna Display</description><pubDate>Fri, 30 Jun 2023 08:51:08 GMT</pubDate></item><item><title>unRAID 安装 oh-my-zsh</title><link>https://blog.bowen.cool/zh/posts/how-to-install-oh-my-zsh-on-unRAID/</link><guid isPermaLink="true">https://blog.bowen.cool/zh/posts/how-to-install-oh-my-zsh-on-unRAID/</guid><description>&lt;img src=&quot;https://blog.bowen.cool/posts/how-to-install-oh-my-zsh-on-unRAID.png&quot; /&gt;&lt;br&gt;unRAID 每次开机，Home 目录都会重置一下，导致安装的 oh-my-zsh 荡然无存。这里提供一个办法：每次开机自动安装，并且恢复配置。</description><pubDate>Fri, 30 Jun 2023 08:46:47 GMT</pubDate></item><item><title>如何在 vercel 中部署 nestjs 应用</title><link>https://blog.bowen.cool/zh/posts/how-to-deploy-nestjs-app-to-vercel/</link><guid isPermaLink="true">https://blog.bowen.cool/zh/posts/how-to-deploy-nestjs-app-to-vercel/</guid><description>&lt;img src=&quot;https://blog.bowen.cool/posts/how-to-deploy-nestjs-app-to-vercel.png&quot; /&gt;&lt;br&gt;将 nestjs 应用部署到 vercel 的步骤</description><pubDate>Sat, 24 Jun 2023 11:27:26 GMT</pubDate></item><item><title>【补发】OpenVPN 小记</title><link>https://blog.bowen.cool/zh/posts/openvpn-experience/</link><guid isPermaLink="true">https://blog.bowen.cool/zh/posts/openvpn-experience/</guid><description>&lt;img src=&quot;https://blog.bowen.cool/posts/openvpn-experience.png&quot; /&gt;&lt;br&gt;记录一下配置 OpenVPN 过程中遇到的问题</description><pubDate>Sun, 14 Aug 2022 09:00:42 GMT</pubDate></item><item><title>记一次 @vue/cli 项目中启动 vite 开发</title><link>https://blog.bowen.cool/zh/posts/start-vite-development-in-vue-cli-project/</link><guid isPermaLink="true">https://blog.bowen.cool/zh/posts/start-vite-development-in-vue-cli-project/</guid><description>&lt;img src=&quot;https://blog.bowen.cool/posts/start-vite-development-in-vue-cli-project.png&quot; /&gt;&lt;br&gt;记一次 @vue/cli 项目中启动 vite 开发</description><pubDate>Thu, 07 Apr 2022 07:33:23 GMT</pubDate></item><item><title>等高布局老是忘？多半是废了</title><link>https://blog.bowen.cool/zh/posts/equal-height-layout/</link><guid isPermaLink="true">https://blog.bowen.cool/zh/posts/equal-height-layout/</guid><description>&lt;img src=&quot;https://blog.bowen.cool/posts/equal-height-layout.png&quot; /&gt;&lt;br&gt;教你如何记住等高布局</description><pubDate>Sat, 12 Feb 2022 08:49:00 GMT</pubDate></item><item><title>记一次在 Typescript 中给 debounce 写注解</title><link>https://blog.bowen.cool/zh/posts/annotate_debounce_in_typescript/</link><guid isPermaLink="true">https://blog.bowen.cool/zh/posts/annotate_debounce_in_typescript/</guid><description>&lt;img src=&quot;https://blog.bowen.cool/posts/annotate_debounce_in_typescript.png&quot; /&gt;&lt;br&gt;最近在用 ts 写一些东西，上次写 ts 还是去年的尝试</description><pubDate>Wed, 22 Sep 2021 03:09:38 GMT</pubDate></item><item><title>吞吐量相关计算公式推导</title><link>https://blog.bowen.cool/zh/posts/derivation_of_throughput_related_formulas/</link><guid isPermaLink="true">https://blog.bowen.cool/zh/posts/derivation_of_throughput_related_formulas/</guid><description>&lt;img src=&quot;https://blog.bowen.cool/posts/derivation_of_throughput_related_formulas.png&quot; /&gt;&lt;br&gt;吞吐量相关计算公式推导</description><pubDate>Mon, 08 Mar 2021 09:33:41 GMT</pubDate></item><item><title>Vue SSR 踩坑</title><link>https://blog.bowen.cool/zh/posts/ssr-experience/</link><guid isPermaLink="true">https://blog.bowen.cool/zh/posts/ssr-experience/</guid><description>&lt;img src=&quot;https://blog.bowen.cool/posts/ssr-experience.png&quot; /&gt;&lt;br&gt;记录一下 Vue SSR 项目中遇到的问题</description><pubDate>Thu, 16 Jul 2020 14:51:40 GMT</pubDate></item><item><title>Vue+ElementUI实现表单动态渲染、可视化配置</title><link>https://blog.bowen.cool/zh/posts/dynamically-render-vue-form/</link><guid isPermaLink="true">https://blog.bowen.cool/zh/posts/dynamically-render-vue-form/</guid><description>&lt;img src=&quot;https://blog.bowen.cool/posts/dynamically-render-vue-form.png&quot; /&gt;&lt;br&gt;前些日子碰到了动态渲染表单的需求，在这里记录一下，也许能帮到大家。</description><pubDate>Mon, 05 Mar 2018 00:00:00 GMT</pubDate></item></channel></rss>