Node
HTTP/3 不是 HTTP/2 加个 3:QUIC 为什么要在 UDP 上把 TCP 重造一遍日期: 2026-09-30打开 DevTools 看到 Protocol 那一列写着 h3,我一度以为 HTTP/3 就是 HTTP/2 换个版本号。往下挖一层才发现它把整个传输层重做了一遍,而且故意跑在不保证可靠的 UDP 上。这篇文章记一下我搞明白的过程:队头阻塞、中间盒僵化、0-RTT 的重放代价、换网不断线的 Connection ID,以及什么时候它反而更慢。
密码正在退场:Passkey、WebAuthn,和那些没人告诉我的坑日期: 2026-09-23我做登录页做了快十年,一直以为「密码 + 短信验证码」是这个问题的终点。直到真的把 WebAuthn 接上线,才发现密码不是被「加强」了,而是被换掉了——服务器手里从秘密变成了公钥。这篇记一下这个替换是怎么发生的、代码长什么样,以及同步这件事带来的新麻烦。
把压缩代码翻译回人话:Source Map 里到底装了什么日期: 2026-09-22线上报错只留给我一个数字:app.a8f3c2.js:1:38247。我盯着它看了三分钟才反应过来——这个数字本身毫无意义,让它变成 src/utils/format.js:42:11 的,是一个用了十几年、我却从没认真读过的格式。这篇把它拆开。
我数了一遍 node_modules,然后沉默了日期: 2026-09-17我的 package.json 里只写了 32 个依赖,node_modules 里躺着 1140 个包、47772 个文件、571MB。顺手数了下代码行数——我写的和别人写的,比例是 1 比 102。这些数字不吓人,吓人的是我答不出里面有什么。
工具链的第二次出生日期: 2026-09-16升级 Vite 8 那天,构建从 47 秒变成 6 秒,我第一反应是去查缓存是不是没清。这一年前端工具链集体换语言重写了一遍——Rolldown、Oxc、Biome、Rspack,连 TypeScript 自己都用 Go 重写了。但微软为什么选 Go 而不是 Rust?答案跟性能其实没什么关系。
用 electron 实现第三方网页客户端日期: 2020-02-10Electron 是一个使用 JavaScript, HTML 和 CSS 等 Web 技术创建原生程序的框架,它负责比较难搞的部分,你只需把精力放在你的应用的核心上即可。
React 服务端渲染 搭建同构应用日期: 2019-12-16React 在服务端的渲染
记录一下周末写的 COS 命令行工具日期: 2019-11-04周末花了半天时间写了一个腾讯云 COS(对象存储) 命令行工具,当前还未完善,此文相当于是文档啦。
puppeteer 的奇技淫巧日期: 2019-05-26Puppeteer(中文翻译”木偶”) 是 Google Chrome 团队官方的无界面(Headless)Chrome 工具,它是一个 Node 库,提供了一个高级的 API 来控制 DevTools协议上的无头版 Chrome
深入理解 Node日期: 2019-05-13简单的说 Node.js 就是运行在服务端的 JavaScript。Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。