Monorepo 的三层工具:pnpm workspaces、Turborepo 与 Nx 各自解决哪一段
把三者放进同一张分层图:pnpm 负责依赖解析与安装,Turborepo 负责任务编排与缓存键,Nx 把仓库结构变成可查询的项目图。再用几个缓存失效现场说明,选型时真正该问的不是功能表,而是「谁为缓存正确性签字」。
3537 字
|
18 分钟
「暂时下线,恢复时间另行通知」:功能下线公告翻译指南
「为了提供更好的服务,部分功能将暂时下线,恢复时间另行通知」——功能下线公告是一种有语法的文体:主语会消失,时间会模糊,原因会抽象。把常见句式逐条翻译回它们掩盖的承诺,再给出一份读公告的检查清单,以及 Adobe Flash、IE11、Google Reader、Heroku 的真实通知期对比。
3549 字
|
18 分钟
键盘玄学:从薄膜到客制化,打字五分钟调轴两小时
润轴、加棉、换弹簧、调卫星轴——折腾一下午,打字速度没变。键盘圈真正可测量的只有三件事:同时按键、消抖和延迟;其余大多是手感和身份。附一个浏览器里能跑的键盘事件测试,以及一张「什么时候才值得买第二把键盘」的判断表。
2376 字
|
12 分钟
如何做一场不冷场的技术分享:让听众带着一个改变离开
技术分享冷场,通常不是因为讲者不够幽默,而是主张不清楚、术语超支、演示没有备份、提问没有台阶。本文把「讲清楚」拆成一句话主张、证据与机制、边界条件、幻灯片密度、演示风险管理、排练砍单和现场救场,附 30 分钟分享的时间预算、演示起飞检查单与一份真正能收到反馈的提问清单。
6064 字
|
30 分钟
2026 年 10 月漏洞节复盘:17 个组件、几十个 CVE,和一个不存在的内核提交
从 nginx、PHP、Node.js 到 eMudhra 根证书与 LiteLLM 投毒,复盘 2026 年 10 月那场集中爆发的漏洞潮,并给出一份可执行的升级清单。
5249 字
|
26 分钟
CAP 不是三选二:分区发生时,多副本系统到底在承诺什么
把 CAP 从面试口号还原成一次真实的分区事故:C 是线性一致性而不是「数据一致」,A 是每个非故障节点都返回非错误响应,P 不是可选项。本文用一段可运行的 Raft 模拟,观察多数派继续提交、少数派涨任期也选不出 leader、分区恢复后日志如何收敛,再谈 quorum、会话保证、fencing token 与什么时候根本不该上共识算法。
5818 字
|
29 分钟
浏览器存储选型:localStorage、IndexedDB 与 OPFS 的失效模型
选存储时最没用的指标是容量。真正决定你半夜会不会被叫醒的,是同步 API 会不会卡住主线程、事务和版本迁移由谁负责、以及浏览器在磁盘紧张时先删谁。本文用可运行的探测、迁移与 OPFS Worker 代码,把四种存储放进同一张失效模型里对比。
4404 字
|
22 分钟
WebSocket、SSE 与 WebRTC:实时通信怎么选,先看数据往哪边走
把「实时」拆成方向、拓扑与可靠性三个问题:SSE 用一条 HTTP 流做单向推送,WebSocket 用全双工消息做双向通道,WebRTC 用 P2P 传媒体与数据。附三种方案的最小可运行代码、选型表与踩坑清单。
2710 字
|
14 分钟