
很多接口事故并不是因为业务逻辑复杂,而是因为一次慢查询、一次网络抖动、一次客户端重复点击,把原本正常的链路拖进了未知状态。HTTP 调用要做稳,不能只靠“失败再试一次”。更可靠的做法,是把超时、重试和幂等放在一起设计:超时负责止损,重试负责修复短暂失败,幂等负责保证重复请求不会产生重复副作用。

很多接口事故并不是因为业务逻辑复杂,而是因为一次慢查询、一次网络抖动、一次客户端重复点击,把原本正常的链路拖进了未知状态。HTTP 调用要做稳,不能只靠“失败再试一次”。更可靠的做法,是把超时、重试和幂等放在一起设计:超时负责止损,重试负责修复短暂失败,幂等负责保证重复请求不会产生重复副作用。

项目越做越久,常见命令就越容易散落:README 里一段、package.json 里几段、CI 配置里再复制几段。新人要先问“怎么跑测试”,老成员也会在不同终端历史里找命令。Makefile 的价值不只是编译 C 项目,它还能给任何仓库提供一个稳定、可读、可组合的任务入口。

很多内部工具、桌面应用、边缘服务和个人项目,并不需要一上来就接 PostgreSQL 或 MySQL。SQLite 的优势不是“玩具级简单”,而是把数据库能力放进一个普通文件里:部署少、依赖少、备份直观。只要把连接初始化、事务、索引和迁移这几件事做扎实,它完全可以承担一个可靠的本地数据层。

在终端里待久了会发现:真正拉开效率差距的,往往不是什么高深技巧,而是有没有用上几款更现代的小工具。它们大多是对 grep、find、cat、cd 这些老命令的「平替升级」,装上之后基本回不去了。下面这几个是我天天在用的。

用 Git 最慌的时刻,往往不是写代码,而是「我刚才那一下是不是把东西搞没了」。好消息是:只要你曾经 git add 或 git commit 过,几乎没有真正找不回来的东西。 这篇按「我闯了什么祸」来组织,遇到对应场景直接抄命令。

搭一个 Hexo 博客不难,难的是「每次写完还要本地 hexo generate 再手动推一堆静态文件」。把构建交给 GitHub Actions 后,工作流就变成:写文章 → git push → 几十秒后自动上线,本地连 node_modules 都不用装。这篇记录一套能直接抄的配置,以及我自己踩到的几个坑。

想把网页放到网上,第一步往往就卡在「用哪个托管平台」。其实在选之前,先分清楚自己属于哪一类需求,答案就清楚了一大半:
下面分别说。