内容分类

编程笔记

返回全部文章
编程笔记
资源 ID 放进 URL 路径通常符合 RESTful 习惯,但某些第三方平台会把每个真实 pathname 当成独立接口,导致访问量、错误率和耗时无法聚合。本文讨论在无法取得路由模板时,如何用固定低基数路径与查询参数重新平衡 API 语义和可观测性。
编程笔记
在 Hono 项目中同时使用 Zod 校验、RPC 类型客户端和 OpenAPI 时,最容易出现路由能运行、客户端能编译、文档却已经漂移。本文用普通 Hono 路由配合 hono-openapi,说明请求 Schema、响应类型、错误契约和接口说明各自应该放在哪里。
编程笔记
API 文档只在开发环境注册,并不代表 Scalar、OpenAPI 生成器和文档路由已经从生产 Bundle 消失。本文以 Bun 构建为例,说明如何用动态导入、编译期常量与产物扫描真正移除文档代码,同时避免把运行时配置和密钥错误地一并内联。
编程笔记
Taro 4.2.1 模板保留的 baseUrl 会触发 TypeScript 6 弃用提示,而项目内的旧版 TypeScript 又不接受 ignoreDeprecations 6.0。本文记录版本错位的原因,以及删除 baseUrl 后重新构建微信小程序的验证结果。
编程笔记
复盘 Taro 微信小程序实时倒计时跳秒、多端相差数秒和 fixed 覆盖层节点持续累积的问题:解释逐秒广播为什么不等于时钟,用服务端截止时间与 RTT 中点校时统一时间轴,把 0 建模为完整刻度,并通过单一宿主节点避免动画更新反复追加视图。
编程笔记
记录在 Taro 微信小程序中引入少量中文展示字体的完整方案:用 Node 与 subset-font 从 Noto Sans CJK SC Black 裁出固定字符,校验上游文件后生成内联 WOFF CSS,将约 17.8 MB 的源字体缩到 5 KB,并说明字符维护、授权保留和真机验证边界。
编程笔记
复盘 Taro 4.2.1 使用 Vite 构建微信小程序时 common.js 接近 855 KiB 的排查过程:从 Rollup 分块源码确认公共代码的来源,并通过构建前后文件对比说明 optimizeMainPackage 在当前 Vite 构建链中没有产生预期效果。
编程笔记
记录如何用 Protobuf、Buf 和 ts-proto 为 TypeScript WebSocket 生成客户端与服务端类型,并完成二进制消息的编码发送、ArrayBuffer 接收解码、oneof 分发和字段安全演进,同时说明 optional、int64、默认值与 reserved 的常见误区。
编程笔记
记录一次实时追加列表的分页设计:为什么 OFFSET 在新数据持续插入时会重复或漏项,怎样用自增 ID 作为 Keyset Cursor 稳定加载旧记录,以及如何用 pageSize + 1 判断 hasMore,避免额外 COUNT 和空页请求。