技术笔记

按主题整理的学习记录与实践总结。每一篇都来自实际项目中的问题,尽量写清楚「为什么这样做」而不只是「怎么做」。

全部笔记

共 9 篇,按时间倒序排列。

  1. 用原生 JavaScript 实现一个轻量的状态管理

    不引入框架,用订阅者模式管理页面状态:核心不到 60 行代码,同时讨论它在中小型项目中的适用边界与副作用管理方案。

  2. 从一次接口超时说起:HTTP 客户端重试策略

    重试次数、指数退避与幂等性之间的关系,以及哪些请求绝对不应该被自动重试。附一份可以直接使用的重试封装思路。

  3. 容器查询实战:让组件真正自适应

    相比媒体查询,容器查询更适合组件级响应式设计。记录把一个侧边栏卡片改造成容器查询驱动的过程与兼容性处理。

  4. SQLite 作为本地缓存层的可行性与边界

    在单机工具类项目里用 SQLite 替代缓存服务,实测读写性能、并发写入表现,以及什么情况下仍然应该选择内存缓存。

  5. 我如何组织一个长期维护的脚本工具库

    从随手写的零散脚本,到有统一入口、参数规范与日志输出的工具库,分享目录结构与命名约定的演进过程。

  6. 读《代码整洁之道》后我删掉了三分之一代码

    一次真实的重构记录:删掉重复的抽象层、合并过度设计的接口,重新审视「以后可能会用到」这句话的代价。

  7. 用 GitHub Actions 搭建一条自动发布流程

    从提交到部署的完整流水线:静态检查、构建缓存、版本号管理与回滚策略,尽量用最少的配置解决最常见的需求。

  8. 单元测试写不出来时,先别急着改架构

    难以测试往往不是测试框架的问题,而是职责边界模糊。用三个案例说明如何先定位耦合点,再决定是否重构。

  9. 命令行工具的用户体验同样值得打磨

    错误提示、进度反馈与参数补全,这些常被忽略的细节决定了工具是否好用。整理了一份自己的 CLI 设计清单。

想聊聊某个话题?

笔记中的示例代码或结论如有疏漏,欢迎来信指出,我会核对后及时修正。

530620682@qq.com