全部文章,按时间排列。
共 21 篇中英文文章,最新发布在前。
WebSocket 为什么堵:2 Mbps 出口嫌疑与 22.3% 减流实测
生产 300 桌出现 199 次发送队列淘汰,CPU 和数据库却未满;同代码本地跑 1000 桌时动作 p99 仅 1.2 ms,JSON 下行却要 4.07 Mbit/s,超过生产 2 Mbps 出口。因此瓶颈先锁定出站链路,再用 compact-v1 把同负载字节从 10.18 MB 降到 7.91 MB;具体单点与生产新容量仍待复测。
阅读全文为什么公平性证明不该放在手牌复盘页
我们删掉的不只是一个按钮,还纠正了一处容易误导玩家的页面设计:复盘页负责解释手牌,公平性页面负责验证发牌记录。更重要的是,我们用测试防止这项功能再次回到错误的位置。
阅读全文2 核生产机实测:150 人通过预算,200 开始卡,300 崩塌
直接给数字:腾讯云 SA2.MEDIUM4,2 vCPU、3.6 GiB、固定公网出带宽 2 Mbps,Postgres 与 Caddy 同机。150 人通过延迟预算,200 人超预算,300 人 p99 达 4.1 秒;这不是结案,而是定位出站瓶颈、优化代码并用同一阶梯复测的起点。
阅读全文三层限流:调用方速率、账号额度与机器容量
限流不只要防止单个调用方刷接口,还要处理账号配额和整机容量。本文结合 Rust/axum 实现,说明何时该拒绝而非排队、怎样找到真正消耗资源的对象、为什么用 GCRA 取代固定窗口,以及每层限流器应当如何失败。
阅读全文FDE 到底在做什么?把 AI agent 带进传统行业
FDE 的一类主要工作,是把 AI agent 接进客服、物流、餐饮等传统行业和现有流程。它未必比后端更深,难点是同时做好工程、行业理解和客户交付。
阅读全文发布脚本改了依赖后,如何自动更新 SHA-256 pin
一个发布脚本正确刷新了公开源码 URL,却没有告诉 agent 同提交更新 CI 成本守卫里的 SHA-256 pin。真正的修复不是再写一条提醒,而是让产生变更的工具输出下游 pin,并把旧断言反转成拒绝危险回归的测试。
阅读全文CSS 静态检查的边界:不要在 CI 里重造浏览器
为了证明一个 CSS custom property「只会用于字体」,locale 闸门差点在内部重造一套 cascade engine。真正稳的边界不是继续补 selector case,而是承认静态证据到哪里结束,再把合法写法收窄到局部、显式、可测试。
阅读全文CI 发布如何绑定正确的 workflow run
触发 workflow 后再取「最新一次绿灯」,你可能等到旧 run、并发 run,甚至一次完全不同的发布。真正可靠的链路,要把同一个不可变身份从源码意图一路带到 workflow run,再用公开版本 stamp 证明结果。
阅读全文文档声称博客节奏已自动检查,但定时任务从未接入
两份文档都写着每日 heartbeat 会呈现博客节奏的过期提醒,并引用了一个不存在的章节号。翻开历史才发现:这条接线是被有意搁置的,理由老老实实记在了 commit message 里——而文档用现在时描述了同一件事。之后 59 个分支合进 main,没有任何东西报警。搁置的工作一旦用现在时写下来,就不再是计划,而是断言。
阅读全文月费 $400 的 AI 团队,按 API 牌价计算要 $53,403
两个固定月费的编程订阅一个月 $400。同样的 30 天真实用量,按 API 牌价算是 $53,403——订阅价的 133 倍,按牌价年化的运转成本比一个资深工程师的全成本还高。本文把这张按模型的明细账单从本机 CLI 日志里重建出来,并说明:让 AI 团队全自动跑,靠的正是这份固定月费,而不是按量 API——后者会把账算翻。
阅读全文品牌语言迁移:复用布局时如何避免继承旧词汇
一个临时牌桌代号渗进了目录、组件、测试、文档、机器数据与官网。真正的清理不是全局替换,而是一次有目标 schema、有迁移顺序、有语义保真和 CI 约束的品牌语言迁移。
阅读全文从聊天机器人到生产级 AI 编程
我在 Claude Code + OpenAI Codex 实战中用到的概念、架构、坑和证据:从 model、Terminal/CLI、本地/云端/Remote Control,到 memory、MCP、skill、plugin、harness、workflow、hooks 与双 AI 交付。
阅读全文测试订单是假的,钱是真的
一次 Telegram Stars 支付测试,被 Apple 扣了 1,077 新币真钱。不是 Telegram 或 Apple 出了故障,而是我们没搞清测试 Stars 应该从哪里来。为什么稳定版客户端里的充值仍会扣钱、当前怎样预置零真钱测试余额、钱怎么当天全额要回来,以及把服务端订单路径的重演损失压到 1 XTR 的 fail-closed 防护。
阅读全文自己验证一手牌——以及一个「可验证公平」验证器必须拒绝什么
「可验证公平」如果你没法亲手跑那个证明,就一文不值。这里是验证我们一手牌的方式——导出后,在网页或命令行里核对,背后是同一个验证器——以及真正值得抄走的那部分:让人信服的检查,是那些让验证器学会拒绝的检查。
阅读全文从源码看高级加密发牌:服务器能看到哪些牌?
ADR-101 现已允许 host 在全真人、无 AI 的练习币房间开启高级加密发牌:仅限本模式手牌,服务器不持有未公开底牌明文。须信任运营者运行已审计的开源版本,远端无法验证实际运行的二进制;任一玩家掉线,整桌会当众降级为服务器可见发牌;练习币,非真钱。
阅读全文我们会故意发冤家牌吗?从架构到发牌讲清楚
一句“不可能”没有说服力。真正能回答这个问题的,是一手牌从浏览器到后端 session task、从 seed commit 到 flop / turn / river、再到断线与发布重启恢复的完整链路。
阅读全文修完一个 bug 后,如何系统清扫同类问题
一个没跳转的 401,其实是 33 个。一个标着「可核验」的开关,其实是三个表面,不是一个。把单个 bug 报告变成一整类清扫的习惯——以及那行留下回执的 trailer。
阅读全文我们管它叫 GTO,但它不是
我们 App 里有个按钮写着「GTO」。它在读一张 169 格的表,根本没在解一局博弈。诚实的分级——开局表 vs CFR 近似 vs 真解出来的树——以及我们为什么写了个单测:只要「GTO」这个词敢回来,就让构建挂掉。
阅读全文AI agent 共享记忆中的五类数据库故障
多个 agent 跨会话共享的记忆,悄悄踩中了五个经典数据库故障:撑爆预算、并发写、孤儿行、schema 漂移、同步过期。有一个,离静默覆盖错误记录只差一次文件名比较。
阅读全文AI 编码 agent 的三类约束:独立 worktree、证据与双模型审查
一个三端 App、大半代码是 AI agent 写的——但 agent 会谎报「完成」、互相踩踏、还会给测试放水。这是约束它们的那套操作系统。
阅读全文多个 AI 编码 Session 共用目录,为什么不同分支仍会冲突
两个 session 共用一个目录时,即使各自在不同 branch 上工作,也只能轮流 checkout;每次切换都会更新同一套工作文件。Worktree 用独立目录解决这个问题。
阅读全文