[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"site-info":3,"article-categories":4,"articles--1-1":25,"articles-hot":94},null,{"list":5,"total":23},[6,11,15,19,22],{"id":7,"name":8,"sort":7,"createdAt":9,"updatedAt":9,"articleCount":10},1,"技术笔记","2026-11-12T18:30:42.000Z",16,{"id":12,"name":13,"sort":12,"createdAt":9,"updatedAt":9,"articleCount":14},2,"前端开发",38,{"id":16,"name":17,"sort":16,"createdAt":9,"updatedAt":9,"articleCount":18},3,"后端与架构",53,{"id":20,"name":21,"sort":20,"createdAt":9,"updatedAt":9,"articleCount":7},4,"产品与思考",{"id":23,"name":24,"sort":23,"createdAt":9,"updatedAt":9,"articleCount":12},5,"生活随笔",{"list":26,"total":10,"page":7,"pageSize":93},[27,34,42,48,54,60,66,73,79,86],{"id":7,"title":28,"categoryId":7,"categoryName":8,"isTop":29,"viewCount":30,"createdAt":31,"updatedAt":32,"excerpt":33},"用 Nuxt 4 + Nuxt UI 搭建个人博客的完整实践",true,1311,"2026-11-11T18:30:42.000Z","2026-11-14T00:34:48.000Z","这个博客从最早的一份静态 HTML，到现在基于 Nuxt 4 与 Nuxt UI 的完整站点，中间迭代了三次。这篇文章记录一下最终的技术选型和落地细节，给同样想搭博客的朋友一个参考。 为什么选择 Nuxt 4 博客的核心诉求其实很简单：内容能被搜索引擎抓到、打开速度足够快、写文章不需要折腾。Nuxt 的 SSR 默认就…",{"id":35,"title":36,"categoryId":7,"categoryName":8,"isTop":37,"viewCount":38,"createdAt":39,"updatedAt":40,"excerpt":41},28,"深入理解 日志系统设计",false,606,"2026-10-29T23:30:42.000Z","2026-11-14T00:34:46.000Z","这是「日志系统设计」主题下的一篇实践记录：深入理解 日志系统设计。内容用于填充示例数据，方便浏览分页、搜索结果与文章详情。 为什么关注这个主题 在真实项目里，日志系统设计往往不是孤立的知识点，而是和性能、稳定性、可维护性纠缠在一起。把它单独拿出来梳理一遍，遇到问题时才有判断依据。 实践要点 先明确目标与边界，再挑选方案…",{"id":43,"title":44,"categoryId":7,"categoryName":8,"isTop":37,"viewCount":45,"createdAt":46,"updatedAt":40,"excerpt":47},29,"深入理解 Git 分支工作流",744,"2026-10-29T04:30:42.000Z","这是「Git 分支工作流」主题下的一篇实践记录：深入理解 Git 分支工作流。内容用于填充示例数据，方便浏览分页、搜索结果与文章详情。 为什么关注这个主题 在真实项目里，Git 分支工作流往往不是孤立的知识点，而是和性能、稳定性、可维护性纠缠在一起。把它单独拿出来梳理一遍，遇到问题时才有判断依据。 实践要点 先明确目标…",{"id":49,"title":50,"categoryId":7,"categoryName":8,"isTop":37,"viewCount":51,"createdAt":52,"updatedAt":40,"excerpt":53},30,"深入理解 单元测试实践",879,"2026-10-28T09:30:42.000Z","这是「单元测试实践」主题下的一篇实践记录：深入理解 单元测试实践。内容用于填充示例数据，方便浏览分页、搜索结果与文章详情。 为什么关注这个主题 在真实项目里，单元测试实践往往不是孤立的知识点，而是和性能、稳定性、可维护性纠缠在一起。把它单独拿出来梳理一遍，遇到问题时才有判断依据。 实践要点 先明确目标与边界，再挑选方案…",{"id":55,"title":56,"categoryId":7,"categoryName":8,"isTop":37,"viewCount":57,"createdAt":58,"updatedAt":40,"excerpt":59},48,"日志系统设计 实践笔记",1535,"2026-10-14T03:30:42.000Z","这是「日志系统设计」主题下的一篇实践记录：日志系统设计 实践笔记。内容用于填充示例数据，方便浏览分页、搜索结果与文章详情。 为什么关注这个主题 在真实项目里，日志系统设计往往不是孤立的知识点，而是和性能、稳定性、可维护性纠缠在一起。把它单独拿出来梳理一遍，遇到问题时才有判断依据。 实践要点 先明确目标与边界，再挑选方案…",{"id":61,"title":62,"categoryId":7,"categoryName":8,"isTop":37,"viewCount":63,"createdAt":64,"updatedAt":40,"excerpt":65},49,"Git 分支工作流 实践笔记",1673,"2026-10-13T08:30:42.000Z","这是「Git 分支工作流」主题下的一篇实践记录：Git 分支工作流 实践笔记。内容用于填充示例数据，方便浏览分页、搜索结果与文章详情。 为什么关注这个主题 在真实项目里，Git 分支工作流往往不是孤立的知识点，而是和性能、稳定性、可维护性纠缠在一起。把它单独拿出来梳理一遍，遇到问题时才有判断依据。 实践要点 先明确目标…",{"id":67,"title":68,"categoryId":7,"categoryName":8,"isTop":37,"viewCount":69,"createdAt":70,"updatedAt":71,"excerpt":72},50,"单元测试实践 实践笔记",1826,"2026-10-12T13:30:42.000Z","2026-11-14T00:34:49.000Z","这是「单元测试实践」主题下的一篇实践记录：单元测试实践 实践笔记。内容用于填充示例数据，方便浏览分页、搜索结果与文章详情。 为什么关注这个主题 在真实项目里，单元测试实践往往不是孤立的知识点，而是和性能、稳定性、可维护性纠缠在一起。把它单独拿出来梳理一遍，遇到问题时才有判断依据。 实践要点 先明确目标与边界，再挑选方案…",{"id":74,"title":75,"categoryId":7,"categoryName":8,"isTop":37,"viewCount":76,"createdAt":77,"updatedAt":40,"excerpt":78},68,"日志系统设计 的十个细节",675,"2026-09-28T07:30:42.000Z","这是「日志系统设计」主题下的一篇实践记录：日志系统设计 的十个细节。内容用于填充示例数据，方便浏览分页、搜索结果与文章详情。 为什么关注这个主题 在真实项目里，日志系统设计往往不是孤立的知识点，而是和性能、稳定性、可维护性纠缠在一起。把它单独拿出来梳理一遍，遇到问题时才有判断依据。 实践要点 先明确目标与边界，再挑选方…",{"id":80,"title":81,"categoryId":7,"categoryName":8,"isTop":37,"viewCount":82,"createdAt":83,"updatedAt":84,"excerpt":85},69,"Git 分支工作流 的十个细节",812,"2026-09-27T12:30:42.000Z","2026-11-14T00:34:45.000Z","这是「Git 分支工作流」主题下的一篇实践记录：Git 分支工作流 的十个细节。内容用于填充示例数据，方便浏览分页、搜索结果与文章详情。 为什么关注这个主题 在真实项目里，Git 分支工作流往往不是孤立的知识点，而是和性能、稳定性、可维护性纠缠在一起。把它单独拿出来梳理一遍，遇到问题时才有判断依据。 实践要点 先明确目…",{"id":87,"title":88,"categoryId":7,"categoryName":8,"isTop":37,"viewCount":89,"createdAt":90,"updatedAt":91,"excerpt":92},70,"单元测试实践 的十个细节",949,"2026-09-26T17:30:42.000Z","2026-11-14T00:34:47.000Z","这是「单元测试实践」主题下的一篇实践记录：单元测试实践 的十个细节。内容用于填充示例数据，方便浏览分页、搜索结果与文章详情。 为什么关注这个主题 在真实项目里，单元测试实践往往不是孤立的知识点，而是和性能、稳定性、可维护性纠缠在一起。把它单独拿出来梳理一遍，遇到问题时才有判断依据。 实践要点 先明确目标与边界，再挑选方…",10,{"list":95,"total":126,"page":7,"pageSize":127},[96,102,107,113,114,120],{"id":97,"title":98,"categoryId":16,"categoryName":17,"isTop":37,"viewCount":99,"createdAt":100,"updatedAt":71,"excerpt":101},24,"深入理解 分布式锁实现",1865,"2026-11-02T03:30:42.000Z","这是「分布式锁实现」主题下的一篇实践记录：深入理解 分布式锁实现。内容用于填充示例数据，方便浏览分页、搜索结果与文章详情。 为什么关注这个主题 在真实项目里，分布式锁实现往往不是孤立的知识点，而是和性能、稳定性、可维护性纠缠在一起。把它单独拿出来梳理一遍，遇到问题时才有判断依据。 实践要点 先明确目标与边界，再挑选方案…",{"id":16,"title":103,"categoryId":12,"categoryName":13,"isTop":37,"viewCount":104,"createdAt":105,"updatedAt":32,"excerpt":106},"前端性能优化：从首屏 3.2s 到 1.1s",1852,"2026-11-07T18:30:42.000Z","上个月接手一个后台项目，首屏加载 3.2 秒，用户反馈「点开要等一下」。经过一周优化，稳定在 1.1 秒左右。下面按收益从高到低记录。 1. 先量化，再优化 优化之前必须建立基线。我使用的是 Lighthouse + 真实用户监控两条线：实验室数据看瓶颈，真实数据看用户感受。 2. 拆包与懒加载 路由级代码分割，首屏只…",{"id":108,"title":109,"categoryId":12,"categoryName":13,"isTop":37,"viewCount":110,"createdAt":111,"updatedAt":32,"excerpt":112},37,"微前端拆分方案 实践笔记",1846,"2026-10-22T20:30:42.000Z","这是「微前端拆分方案」主题下的一篇实践记录：微前端拆分方案 实践笔记。内容用于填充示例数据，方便浏览分页、搜索结果与文章详情。 为什么关注这个主题 在真实项目里，微前端拆分方案往往不是孤立的知识点，而是和性能、稳定性、可维护性纠缠在一起。把它单独拿出来梳理一遍，遇到问题时才有判断依据。 实践要点 先明确目标与边界，再挑…",{"id":67,"title":68,"categoryId":7,"categoryName":8,"isTop":37,"viewCount":69,"createdAt":70,"updatedAt":71,"excerpt":72},{"id":115,"title":116,"categoryId":16,"categoryName":17,"isTop":37,"viewCount":117,"createdAt":118,"updatedAt":32,"excerpt":119},63,"接口幂等设计 的十个细节",1805,"2026-10-02T06:30:42.000Z","这是「接口幂等设计」主题下的一篇实践记录：接口幂等设计 的十个细节。内容用于填充示例数据，方便浏览分页、搜索结果与文章详情。 为什么关注这个主题 在真实项目里，接口幂等设计往往不是孤立的知识点，而是和性能、稳定性、可维护性纠缠在一起。把它单独拿出来梳理一遍，遇到问题时才有判断依据。 实践要点 先明确目标与边界，再挑选方…",{"id":121,"title":122,"categoryId":12,"categoryName":13,"isTop":37,"viewCount":123,"createdAt":124,"updatedAt":32,"excerpt":125},76,"一次 前端监控体系 的踩坑记录",1787,"2026-09-21T23:30:42.000Z","这是「前端监控体系」主题下的一篇实践记录：一次 前端监控体系 的踩坑记录。内容用于填充示例数据，方便浏览分页、搜索结果与文章详情。 为什么关注这个主题 在真实项目里，前端监控体系往往不是孤立的知识点，而是和性能、稳定性、可维护性纠缠在一起。把它单独拿出来梳理一遍，遇到问题时才有判断依据。 实践要点 先明确目标与边界，再…",110,6]