仓库依赖图驱动的改动规划:让编程 Agent 先算影响闭包再写代码
目录相邻不等于依赖相关。本文把构建、符号、配置和运行时边组织成带版本的仓库图,让编程 Agent 在动手前计算影响闭包、阶段顺序和回滚边界。
Articles
沉淀 AI、Web、云原生和独立开发经验。
目录相邻不等于依赖相关。本文把构建、符号、配置和运行时边组织成带版本的仓库图,让编程 Agent 在动手前计算影响闭包、阶段顺序和回滚边界。
网络超时、用户双击、自动重试——同一请求可能发多次。幂等设计让"同一操作执行 N 次结果一致"。本文讲清幂等的本质(GET 天然幂等 vs POST 不幂等)、实现手段(Idempotency Key + 去重表)、支付/下单等关键场景的幂等保证,以及幂等与并发的配合。
自动续费真正危险的不是价格提醒,而是合同期限、数据出口和系统依赖散落在邮箱与个人记忆里。本文用版本化供应商档案、续约状态机和退出演练,把付款前的决定变成可核验接受点。
GraphQL 的 schema 就是 API 的契约——设计好 schema 比写好 resolver 更重要。本文讲清 schema 设计原则(类型优先/描述/分页 Connection/枚举 vs 字符串)、resolver 的 DataLoader 解决 N+1、schema 版本化与废弃,以及"什么时候用 GraphQL 什么时候别用"。
Cron 表达式只描述重复模式,不能回答夏令时跳时、平台停机补跑和响应丢失后哪一次已经执行。本文为每个计划实例建立稳定身份、运行账本和可回滚切换协议。
分布式锁用 Redis?但如果你已有 PostgreSQL,Advisory Locks 直接在 DB 里做应用级锁——不需要额外中间件。本文讲清 Advisory Locks 的两种模式(session 级/transaction 级)、pg_advisory_lock vs try_lock、实际场景(并发任务调度/迁移/幂等),以及它和行锁的区别。
Registry 返回 compatible 不代表所有线上消费者都能正确解释新字段。本文绑定真实消费者清单、Avro reader/writer 规则、历史数据样本与升级水位,再按兼容方向切换 producer。
Ref 不只是"引用 DOM"——在组件库里它决定 API 体验。本文讲清 useRef(值容器/不触发重渲染)、forwardRef(转发 ref 给子组件)、useImperativeHandle(暴露受控 API)、ref callback,以及 React 19 的 ref as prop(不用 forwardRef 了)。
文档点击和安装命令执行都不等于 SDK 已接通。本文用版本化旅程、服务端成功凭据和完整失败分母测量 Time to First Success,并给出乱序事件、环境分层及可逆发布门禁。
暗色模式不是简单反转颜色——要处理系统偏好跟随、手动切换、持久化、闪烁(FOUC)、图片/图标适配。本文讲清 prefers-color-scheme 媒体查询、class 切换策略、localStorage 持久化、防闪烁脚本、CSS 变量主题系统,给一套完整的暗色模式方案。
把所有发布日期改成今天不会恢复内容价值。本文用 claim 来源、查询窗口、业务重要度和变更摘要决定刷新队列,并让 lastmod 只反映实质修改。
配置不该硬编码进镜像——ConfigMap 存非敏感配置,Secret 存密钥。本文讲清两者的创建/挂载(env vs volume)、Secret 的 base64 与加密(etcd 加密/KMS/外部 secrets operator)、ConfigMap 热更新(subPath 不更新陷阱),以及生产级密钥管理(External Secrets Operator)。