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

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

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

程序员恋爱与生活日常:代码之外的翻车现场
「你根本不在乎我」「你能不能复现一下」——同一套工程思维,在代码里是优点,在家里可能是事故现场。把几个经典翻车场景拆开,看看哪些习惯值得带回家,哪些必须留在工位上。

程序员的深度工作:用 git 提交时间戳测量上下文切换
「今天又没干成一件整事」这个感觉很难反驳,因为它一直只是个感觉。本文给出一段约 140 行的 Node 脚本,它先从 git 日志里揪出「守时得不像人」的定时任务时段——我的仓库里足足有 58 条,全挤在同一个钟点——再把剩下的提交切分成工作会话,量出单提交会话占比、会话内模块切换和每日碎片化程度,最后老老实实讲清这件事能量化到哪里、又在哪里失效。
我的技术栈
多年积累的技术能力,持续学习与进步
React
Vue.js
TypeScript
JavaScript
HTML5
CSS3
Tailwind CSS
Astro
Svelte
Node.js
Git
VS Code
pnpm
Vite
Markdown
我的项目
以下是我参与和开发的一些项目,持续更新中