博客技术栈
本站使用以下技术构建,追求高性能与最佳开发体验
Astro 5
现代化的静态站点生成器
Tailwind CSS 3
实用优先的 CSS 框架
TypeScript
类型安全的 JavaScript
Swup
页面过渡动画
最新文章
View all posts »记录技术学习、前端开发经验和日常思考。每一篇文章都经过精心打磨,希望对你有所帮助。

浏览器存储选型:localStorage、IndexedDB 与 OPFS 的失效模型
选存储时最没用的指标是容量。真正决定你半夜会不会被叫醒的,是同步 API 会不会卡住主线程、事务和版本迁移由谁负责、以及浏览器在磁盘紧张时先删谁。本文用可运行的探测、迁移与 OPFS Worker 代码,把四种存储放进同一张失效模型里对比。

WebSocket、SSE 与 WebRTC:实时通信怎么选,先看数据往哪边走
把「实时」拆成方向、拓扑与可靠性三个问题:SSE 用一条 HTTP 流做单向推送,WebSocket 用全双工消息做双向通道,WebRTC 用 P2P 传媒体与数据。附三种方案的最小可运行代码、选型表与踩坑清单。

线上事故复盘会上的经典台词
「这不是我的锅」「这是个极小概率事件」「下次注意」——复盘会上真正危险的不是这些台词本身,而是它们把一次系统性学习,缩写成了一份免责声明。把每句台词翻译回它掩盖的问题,再看看一场能留下东西的复盘该怎么开。

程序员恋爱与生活日常:代码之外的翻车现场
「你根本不在乎我」「你能不能复现一下」——同一套工程思维,在代码里是优点,在家里可能是事故现场。把几个经典翻车场景拆开,看看哪些习惯值得带回家,哪些必须留在工位上。
我的技术栈
多年积累的技术能力,持续学习与进步
React
Vue.js
TypeScript
JavaScript
HTML5
CSS3
Tailwind CSS
Astro
Svelte
Node.js
Git
VS Code
pnpm
Vite
Markdown
我的项目
以下是我参与和开发的一些项目,持续更新中