特性开关与渐进交付:从 Kill Switch 到开关治理
微型博客的特性开关与渐进交付实战:release/ops/experiment/permission 四类开关的职责、求值模型与配置分发一致性、按用户与属性的定向规则与分桶、从 1% 到全量的渐进交付节奏、Kill Switch 与运维开关、开关与 A/B 实验的配合,以及开关技术债的清理与治理体系。
tag
微型博客的特性开关与渐进交付实战:release/ops/experiment/permission 四类开关的职责、求值模型与配置分发一致性、按用户与属性的定向规则与分桶、从 1% 到全量的渐进交付节奏、Kill Switch 与运维开关、开关与 A/B 实验的配合,以及开关技术债的清理与治理体系。
详解 tsconfig.json 的每一项配置:strict 全家桶逐个拆解、target/module/moduleResolution 选择策略、声明文件生成、source map、路径别名配置、 monorepo 工程化实践。
很多人第一次写 Go 程序,是从一个 HTTP 服务开始。但在真实团队里,命令行小工具同样常见:清理过期文件、导入一批 CSV、生成报表、检查接口是否可用。小工具看起来简单,最容易写成“先能跑再说”的样子:路径写死在代码里,超时时间散落在函数里,出了错只打印一行“failed”。等这个工具被同事拿去每天跑,问题就来了。
程序能跑还不够,还要能排查 很多入门程序只关注“功能能不能运行”。但真实服务上线后,另一个问题会立刻出现:出了问题怎么看?连接哪个端口?数据文件在哪里?请求为什么失败?程序启动时到底读到了什么配置?如果日志混乱、配置散落,排查会非常痛苦。