nenufm.com
留声与视
写 AI、编程笔记和日常折腾的工具,记录遇到的问题、踩过的坑和解决过程,也聊互联网见闻,以及工作之外的生活。
Next.js standalone 的 server.js 看起来适合用 Bun 再打包,但实验只把入口从 12.33 KB 缩到 10.96 KB,编译出的 EXE 也未能启动。本文结合产物体积分布、100 并发压测和 CPU Profile,说明二次打包没有解决什么,以及访问日志与 HTTP 响应为何更值得检查。
博客首页返回一年 s-maxage,ETag 又在压测中产生计算开销,该保留哪个?这次调整从真实响应出发,对比 130 KB HTML、gzip 与 304 条件请求,说明浏览器缓存和共享缓存的区别,以及首页每次验证、文章保留默认策略、manifest 缓存一天的具体理由和验证方法。
一篇 .NET 排障文章文件存在、slug 正确,也标记为公开,却在博客压测中返回 404。问题出在 Bun.Glob 默认跳过点开头的文件,文章从未进入内容索引。本文记录扫描对照、最小复现、保留 slug 的重命名修复,以及为何文件名检查必须主动包含隐藏文件才能防止复发。
给博客试用马善政、方圆体和得意黑后,最终使用 MiSans 正文与 Cascadia Mono 代码字体。本文记录预览与文章页的差别、OTS 解码失败时如何排查文件、next/font/local 的接入方式,以及两份中文字体约 9.48 MiB 的实际体积和浏览器字体命中的验证方法。
整理使用 UnRAR 处理大型 RAR 压缩包的常用命令:先列出包内目录和文件名,再按完整路径或通配符提取指定文件,并说明平铺输出、保留目录结构和覆盖已有文件时需要注意的区别。适合快速定位数据库备份、日志或其他目标文件,避免不必要的全量解压。
记录 VS Code Remote SSH 在 4 核 8G 服务器上的开销:进程约占 700M 至 1.27G RSS,Extension Host CPU 会冲到 20% 以上。清理旧 Server 后目录从 3.5G 降到 729M,仍有 156M 删除文件被占用,同时解释 zram 逻辑用量与物理占用的差别。
解释 TypeScript 6.0.3 为什么是最后一条 JavaScript 编译器版本线、7.0.2 为何直接进入 Go 原生实现,以及 Next.js、typescript-eslint 和 Bun 项目选择版本时真正受什么约束,也说明本次迁移暂留 5.9.3 的原因。
以内容扫描、附件读取、命令行脚本、计时和测试为例,整理 Bun.file、Bun.write、Bun.Glob、Bun.argv 与 Bun.nanoseconds 的替换方法,也说明 node:path、process.env 和测试目录 API 为什么应该保留。