<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>不系舟</title>
    <link>https://silencewood.cn</link>
    <description>李顺的个人博客。写技术笔记、生活碎片，和一些还没想清楚的问题——没有算法，没有广告，只有一个安静的阅读角落。</description>
    <language>zh-CN</language>
    <lastBuildDate>Fri, 16 Oct 2026 00:00:00 GMT</lastBuildDate>
    <atom:link href="https://silencewood.cn/rss.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>封装组件库</title>
      <link>https://silencewood.cn/posts/2026-1016-ls-design</link>
      <guid isPermaLink="true">https://silencewood.cn/posts/2026-1016-ls-design</guid>
      <pubDate>Fri, 16 Oct 2026 00:00:00 GMT</pubDate>
      <category>JavaScript</category>
      <category>组件库</category>
      <description>封装自己的组件库</description>
    </item>
    <item>
      <title>把博客从平台搬回自己手里的第 300 天</title>
      <link>https://silencewood.cn/posts/blog-migration</link>
      <guid isPermaLink="true">https://silencewood.cn/posts/blog-migration</guid>
      <pubDate>Sat, 12 Sep 2026 00:00:00 GMT</pubDate>
      <category>随笔</category>
      <category>写作</category>
      <category>独立站点</category>
      <category>长期主义</category>
      <category>备份</category>
      <description>迁移那天我导出了 128 篇文章，也第一次认真读了那份服务条款。这篇记录从「寄人篱下」到「自己盖房子」的全过程，以及我为什么觉得这件事值得。</description>
    </item>
    <item>
      <title>React Server Components 到底解决了什么问题</title>
      <link>https://silencewood.cn/posts/react-server-components</link>
      <guid isPermaLink="true">https://silencewood.cn/posts/react-server-components</guid>
      <pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate>
      <category>技术</category>
      <category>React</category>
      <category>TypeScript</category>
      <category>前端架构</category>
      <description>RSC 常被当成「服务端渲染的升级版」，其实它解决的是另一个问题——组件对数据的依赖如何不打进客户端体积。</description>
    </item>
    <item>
      <title>URL 到页面的过程</title>
      <link>https://silencewood.cn/posts/url-to-page</link>
      <guid isPermaLink="true">https://silencewood.cn/posts/url-to-page</guid>
      <pubDate>Wed, 23 Jul 2025 00:00:00 GMT</pubDate>
      <category>JavaScript</category>
      <category>浏览器</category>
      <category>网络</category>
      <description>URI：统一资源标识符，URL和URN算是其子集</description>
    </item>
    <item>
      <title>浏览器渲染原理</title>
      <link>https://silencewood.cn/posts/browser-rendering</link>
      <guid isPermaLink="true">https://silencewood.cn/posts/browser-rendering</guid>
      <pubDate>Wed, 23 Jul 2025 00:00:00 GMT</pubDate>
      <category>JavaScript</category>
      <category>浏览器</category>
      <category>渲染原理</category>
      <description>CRP关键渲染路径(https://developer.mozilla.org/zh-CN/docs/Web/Performance/Criticalrenderingpath)</description>
    </item>
    <item>
      <title>Vue3 响应式原理</title>
      <link>https://silencewood.cn/posts/vue3-reactivity</link>
      <guid isPermaLink="true">https://silencewood.cn/posts/vue3-reactivity</guid>
      <pubDate>Tue, 11 Jun 2024 00:00:00 GMT</pubDate>
      <category>Vue</category>
      <category>Vue3</category>
      <category>响应式</category>
      <description>Coposition API 对Tree-shaking 更加友好，代码也更容易压缩。</description>
    </item>
    <item>
      <title>Vue3 开发环境配置</title>
      <link>https://silencewood.cn/posts/vue3-dev-setup</link>
      <guid isPermaLink="true">https://silencewood.cn/posts/vue3-dev-setup</guid>
      <pubDate>Tue, 11 Jun 2024 00:00:00 GMT</pubDate>
      <category>Vue</category>
      <category>Vue3</category>
      <description>Vue3 中使用 pnpm workspace 来实现 monorepo (pnpm(https://pnpm.io/zh/)是快速、节省磁盘空间的包管理工具。主要采用符号链接的方…</description>
    </item>
    <item>
      <title>Vue3 架构</title>
      <link>https://silencewood.cn/posts/vue3-architecture</link>
      <guid isPermaLink="true">https://silencewood.cn/posts/vue3-architecture</guid>
      <pubDate>Tue, 11 Jun 2024 00:00:00 GMT</pubDate>
      <category>Vue</category>
      <category>Vue3</category>
      <category>源码</category>
      <description>Monorepo 是管理项目代码的一个方式，指在一个项目仓库(repo)中管理多个模块/包(package)。 Vue3 源码采用 monorepo 方式进行管理，将模块拆分到 p…</description>
    </item>
    <item>
      <title>JavaScript 方法重写</title>
      <link>https://silencewood.cn/posts/js-method-override</link>
      <guid isPermaLink="true">https://silencewood.cn/posts/js-method-override</guid>
      <pubDate>Fri, 24 May 2024 00:00:00 GMT</pubDate>
      <category>JavaScript</category>
      <category>JavaScript</category>
      <description>构造函数上是否有Symbol.hasInstanceSymbol.hasInstance用于判断某对象是否为某构造器的实例。因此你可以用它自定义 instanceof 操作符在某个…</description>
    </item>
    <item>
      <title>JavaScript 函数</title>
      <link>https://silencewood.cn/posts/js-functions</link>
      <guid isPermaLink="true">https://silencewood.cn/posts/js-functions</guid>
      <pubDate>Fri, 24 May 2024 00:00:00 GMT</pubDate>
      <category>JavaScript</category>
      <category>JavaScript</category>
      <description>函数执行过程(https://www.yuque.com/silencewood/xdkhfx/ko82eh?singleDoc#)</description>
    </item>
    <item>
      <title>JavaScript 事件循环机制</title>
      <link>https://silencewood.cn/posts/js-event-loop</link>
      <guid isPermaLink="true">https://silencewood.cn/posts/js-event-loop</guid>
      <pubDate>Fri, 24 May 2024 00:00:00 GMT</pubDate>
      <category>JavaScript</category>
      <category>JavaScript</category>
      <category>事件循环</category>
      <description>W3C事件循环(https://html.spec.whatwg.org/multipage/webappapis.html#event-loops) https://html.s…</description>
    </item>
    <item>
      <title>JavaScript 数据类型</title>
      <link>https://silencewood.cn/posts/js-data-types</link>
      <guid isPermaLink="true">https://silencewood.cn/posts/js-data-types</guid>
      <pubDate>Fri, 24 May 2024 00:00:00 GMT</pubDate>
      <category>JavaScript</category>
      <category>JavaScript</category>
      <description>数据类型(https://www.yuque.com/silencewood/xdkhfx/dvcf35?singleDoc#)</description>
    </item>
    <item>
      <title>Vite 使用要点</title>
      <link>https://silencewood.cn/posts/vite-usage</link>
      <guid isPermaLink="true">https://silencewood.cn/posts/vite-usage</guid>
      <pubDate>Tue, 16 Aug 2022 00:00:00 GMT</pubDate>
      <category>工程化</category>
      <category>Vite</category>
      <description>遍历文件夹 使用 &lt;a glob&lt;/a 进行遍历 定义 less 全局变量 借助css.preprocessorOptions来完成</description>
    </item>
    <item>
      <title>React Ref</title>
      <link>https://silencewood.cn/posts/react-ref</link>
      <guid isPermaLink="true">https://silencewood.cn/posts/react-ref</guid>
      <pubDate>Tue, 16 Aug 2022 00:00:00 GMT</pubDate>
      <category>React</category>
      <category>React</category>
      <category>Ref</category>
      <description>Refs 提供了一种方式，允许我们访问 DOM 节点或在 render 方法中创建的 React 元素 为 DOM/类组件 添加 可以使用 ref 去存储 DO</description>
    </item>
    <item>
      <title>React 生命周期</title>
      <link>https://silencewood.cn/posts/react-lifecycle</link>
      <guid isPermaLink="true">https://silencewood.cn/posts/react-lifecycle</guid>
      <pubDate>Tue, 16 Aug 2022 00:00:00 GMT</pubDate>
      <category>React</category>
      <category>React</category>
      <category>生命周期</category>
      <description>基础生命周期 src/index.js lib/react dom.js 需要注意的是调用componentDidMount的时机是在createDOM之后,因</description>
    </item>
    <item>
      <title>React JSX</title>
      <link>https://silencewood.cn/posts/react-jsx</link>
      <guid isPermaLink="true">https://silencewood.cn/posts/react-jsx</guid>
      <pubDate>Tue, 16 Aug 2022 00:00:00 GMT</pubDate>
      <category>React</category>
      <category>React</category>
      <description>React.createElement 的返回结果然后交由 ReactDOM 去处理</description>
    </item>
    <item>
      <title>React 批量更新与合成事件</title>
      <link>https://silencewood.cn/posts/react-events</link>
      <guid isPermaLink="true">https://silencewood.cn/posts/react-events</guid>
      <pubDate>Tue, 16 Aug 2022 00:00:00 GMT</pubDate>
      <category>React</category>
      <category>React</category>
      <category>事件</category>
      <description>State的更新会被合并 当你调用 setState() 的时候，React 会把你提供的对象合并到当前的 state State的更新可能是异步的 出于性能考</description>
    </item>
    <item>
      <title>React Dom Diff 算法</title>
      <link>https://silencewood.cn/posts/react-dom-diff</link>
      <guid isPermaLink="true">https://silencewood.cn/posts/react-dom-diff</guid>
      <pubDate>Tue, 16 Aug 2022 00:00:00 GMT</pubDate>
      <category>React</category>
      <category>React</category>
      <category>Dom Diff</category>
      <description>只对同级节点进行对比，如果 DOM 节点跨层级移动，则 React 不会复用 不同类型的元素会产出不同的结构 ，会销毁老结构，创建新结构 可以通过 key 标识</description>
    </item>
    <item>
      <title>React 组件</title>
      <link>https://silencewood.cn/posts/react-components</link>
      <guid isPermaLink="true">https://silencewood.cn/posts/react-components</guid>
      <pubDate>Tue, 16 Aug 2022 00:00:00 GMT</pubDate>
      <category>React</category>
      <category>React</category>
      <category>组件</category>
      <description>当 React 元素为用户自定义组件时，它会将 JSX 所接收的属性（attributes）转换为单个对象传递给组件，这个对象被称之为 props</description>
    </item>
    <item>
      <title>Rollup 使用</title>
      <link>https://silencewood.cn/posts/rollup-usage</link>
      <guid isPermaLink="true">https://silencewood.cn/posts/rollup-usage</guid>
      <pubDate>Tue, 12 Jul 2022 00:00:00 GMT</pubDate>
      <category>工程化</category>
      <category>Rollup</category>
      <description>rollup js是下一代 JS 模块打包器 背景 webpack 打包非常繁琐，打包体积比较大 rollup 主要是用来打包 JS 库 vue/react/a</description>
    </item>
    <item>
      <title>Rollup 源码阅读</title>
      <link>https://silencewood.cn/posts/rollup-source-analysis</link>
      <guid isPermaLink="true">https://silencewood.cn/posts/rollup-source-analysis</guid>
      <pubDate>Tue, 12 Jul 2022 00:00:00 GMT</pubDate>
      <category>工程化</category>
      <category>Rollup</category>
      <category>源码</category>
      <description>前置知识 初始化项目 magic string &lt;a href=&quot;https://www.npmjs.com/package/magic string&quot; tar</description>
    </item>
    <item>
      <title>Rollup 插件机制</title>
      <link>https://silencewood.cn/posts/rollup-plugins</link>
      <guid isPermaLink="true">https://silencewood.cn/posts/rollup-plugins</guid>
      <pubDate>Tue, 12 Jul 2022 00:00:00 GMT</pubDate>
      <category>工程化</category>
      <category>Rollup</category>
      <category>插件</category>
      <description>Rollup是一个JavaScript模块打包器，可以将小块代码编译成大块复杂的代码，例如library或应用程序 debug.js rollup.config</description>
    </item>
    <item>
      <title>Webpack SplitChunks 分包策略</title>
      <link>https://silencewood.cn/posts/webpack-split-chunks</link>
      <guid isPermaLink="true">https://silencewood.cn/posts/webpack-split-chunks</guid>
      <pubDate>Wed, 06 Jul 2022 00:00:00 GMT</pubDate>
      <category>工程化</category>
      <category>Webpack</category>
      <category>SplitChunks</category>
      <description>module2/module3 同理</description>
    </item>
    <item>
      <title>Webpack 插件机制</title>
      <link>https://silencewood.cn/posts/webpack-plugins</link>
      <guid isPermaLink="true">https://silencewood.cn/posts/webpack-plugins</guid>
      <pubDate>Wed, 06 Jul 2022 00:00:00 GMT</pubDate>
      <category>工程化</category>
      <category>Webpack</category>
      <category>Plugin</category>
      <description>Webpack 是基于插件的工作流程。Plugin(https://webpack.js.org/concepts/plugins/)</description>
    </item>
    <item>
      <title>Webpack 优化</title>
      <link>https://silencewood.cn/posts/webpack-optimization</link>
      <guid isPermaLink="true">https://silencewood.cn/posts/webpack-optimization</guid>
      <pubDate>Wed, 06 Jul 2022 00:00:00 GMT</pubDate>
      <category>工程化</category>
      <category>Webpack</category>
      <category>优化</category>
      <description>指定extension之后可以不用在require或是import的时候加文件扩展名,会依次尝试添加扩展名进行匹配</description>
    </item>
    <item>
      <title>Webpack Tapable 事件流机制</title>
      <link>https://silencewood.cn/posts/webpack-tapable</link>
      <guid isPermaLink="true">https://silencewood.cn/posts/webpack-tapable</guid>
      <pubDate>Fri, 01 Jul 2022 00:00:00 GMT</pubDate>
      <category>工程化</category>
      <category>Webpack</category>
      <category>Tapable</category>
      <description>Hook 类型可以分为同步Sync和异步Async,异步又分为并行和串行</description>
    </item>
    <item>
      <title>Webpack Loader</title>
      <link>https://silencewood.cn/posts/webpack-loaders</link>
      <guid isPermaLink="true">https://silencewood.cn/posts/webpack-loaders</guid>
      <pubDate>Wed, 29 Jun 2022 00:00:00 GMT</pubDate>
      <category>工程化</category>
      <category>Webpack</category>
      <category>Loader</category>
      <description>pitch 与 loader 本身方法的执行顺序图</description>
    </item>
    <item>
      <title>Webpack 构建流程</title>
      <link>https://silencewood.cn/posts/webpack-build-flow</link>
      <guid isPermaLink="true">https://silencewood.cn/posts/webpack-build-flow</guid>
      <pubDate>Tue, 28 Jun 2022 00:00:00 GMT</pubDate>
      <category>工程化</category>
      <category>Webpack</category>
      <description>在项目目录下执行下面的命令</description>
    </item>
    <item>
      <title>Webpack 与抽象语法树（AST）</title>
      <link>https://silencewood.cn/posts/webpack-ast</link>
      <guid isPermaLink="true">https://silencewood.cn/posts/webpack-ast</guid>
      <pubDate>Mon, 20 Jun 2022 00:00:00 GMT</pubDate>
      <category>工程化</category>
      <category>Webpack</category>
      <category>AST</category>
      <description>这些工具的原理都是通过 JavaScript Parser  把代码转换为一颗抽象语法树，这棵树定义了代码的结构，通过操作这颗树可以精准定位到声明语句、赋值语句、运算语句等，实现对…</description>
    </item>
    <item>
      <title>Webpack Bundle 分析</title>
      <link>https://silencewood.cn/posts/webpack-bundle</link>
      <guid isPermaLink="true">https://silencewood.cn/posts/webpack-bundle</guid>
      <pubDate>Thu, 16 Jun 2022 00:00:00 GMT</pubDate>
      <category>工程化</category>
      <category>Webpack</category>
      <description>打包文件分析辅助 vscode 插件 rm js comment 前置知识 Symbol.toStringTag Symbol.toStringTag 是内置的</description>
    </item>
    <item>
      <title>Webpack 基础使用</title>
      <link>https://silencewood.cn/posts/webpack-basics</link>
      <guid isPermaLink="true">https://silencewood.cn/posts/webpack-basics</guid>
      <pubDate>Tue, 14 Jun 2022 00:00:00 GMT</pubDate>
      <category>工程化</category>
      <category>Webpack</category>
      <description>webpack.config.js</description>
    </item>
    <item>
      <title>React 简介</title>
      <link>https://silencewood.cn/posts/react-introduction</link>
      <guid isPermaLink="true">https://silencewood.cn/posts/react-introduction</guid>
      <pubDate>Mon, 13 Jun 2022 00:00:00 GMT</pubDate>
      <category>React</category>
      <category>React</category>
      <description>React 是一个用于构建用户界面的 JavaScript 库 核心专注于视图,目的实现组件化开发 具体用法参照 React 中文网 关于 React 版本上，</description>
    </item>
    <item>
      <title>Vite 源码阅读</title>
      <link>https://silencewood.cn/posts/vite-source-analysis</link>
      <guid isPermaLink="true">https://silencewood.cn/posts/vite-source-analysis</guid>
      <pubDate>Thu, 02 Jun 2022 00:00:00 GMT</pubDate>
      <category>工程化</category>
      <category>Vite</category>
      <category>源码</category>
      <description>lib/server/middlewares/static.js</description>
    </item>
    <item>
      <title>Vite 核心原理</title>
      <link>https://silencewood.cn/posts/vite-core</link>
      <guid isPermaLink="true">https://silencewood.cn/posts/vite-core</guid>
      <pubDate>Tue, 31 May 2022 00:00:00 GMT</pubDate>
      <category>工程化</category>
      <category>Vite</category>
      <description>安装依赖 Connect &lt;a href=&quot;https://www.npmjs.com/package/connect&quot; target=&quot; blank&quot; Con</description>
    </item>
    <item>
      <title>Vue3 特点及优势</title>
      <link>https://silencewood.cn/posts/vue3-features</link>
      <guid isPermaLink="true">https://silencewood.cn/posts/vue3-features</guid>
      <pubDate>Mon, 30 May 2022 00:00:00 GMT</pubDate>
      <category>Vue</category>
      <category>Vue3</category>
      <description>Vue3更注重模块上的拆分，在2.0中无法单独使用部分模块。需要完整的引入Vue,Vue3中模块之间耦合度低，模块可以独立使用。 拆分模块 Vue2中很多方法挂</description>
    </item>
    <item>
      <title>ESBuild</title>
      <link>https://silencewood.cn/posts/esbuild</link>
      <guid isPermaLink="true">https://silencewood.cn/posts/esbuild</guid>
      <pubDate>Mon, 30 May 2022 00:00:00 GMT</pubDate>
      <category>工程化</category>
      <category>Vite</category>
      <category>ESBuild</category>
      <description>ESbuild 是一款基于 Golang 开发的打包工具，相比传统的 webpack、rollup 等主打性能优势，在构建速度上可以快 10~100 倍。</description>
    </item>
    <item>
      <title>算法基础：大 O 与时间复杂度</title>
      <link>https://silencewood.cn/posts/algorithm-basics</link>
      <guid isPermaLink="true">https://silencewood.cn/posts/algorithm-basics</guid>
      <pubDate>Mon, 30 May 2022 00:00:00 GMT</pubDate>
      <category>算法</category>
      <category>算法</category>
      <description>度量一个程序的执行时间通常有两种方法：</description>
    </item>
  </channel>
</rss>
