← 返回博客
文章归档

全部文章,按时间排列。

共 36 篇中英文文章,最新发布在前。

先玩一局,再决定注册:七款游戏开放游客人机试玩

本周,象棋、五子棋、中国跳棋、掼蛋、卡五星、牛牛和 21 点的人机对战开放免注册体验。先熟悉操作和节奏,想和朋友同桌时再注册。

阅读全文

德州封存发牌:把底牌交付移出牌局进程

普通德州桌如何用独立发牌进程交付底牌,机器人拿到哪些信息,发牌故障为何作废退筹码,以及这项改造仍然需要信任运营方的边界。

阅读全文

有鱿鱼玩法的德州扑克软件:朋友局怎么选

想和朋友开私密德州扑克房并玩经典、翻倍或全鱿鱼?先分清好友房与完全离线,再看人数、罚注、结算和中途加入规则。

阅读全文

七款棋牌游戏怎么选:从人数到玩法

按人数、信息和练习目标选择德州扑克、炸金花、斗地主、襄阳卡五星、掼蛋、五子棋或中国象棋,并找到各自入门教程。

阅读全文

棋牌游戏平台怎么选:规则、公平与练习功能

用可核对的问题比较棋牌游戏平台,了解 BluffKing 的游戏目录、会员模式、练习工具和公平验证边界。

阅读全文

德州扑克怎么玩:从第一手牌到复盘

从两张底牌、下注轮次和五张牌组合开始,用一手具体牌例理解德州扑克,再学习如何在 BluffKing 练习与复盘。

阅读全文

炸金花怎么玩:牌型、闷牌与比牌

用三张牌例子看懂炸金花牌型顺序、看牌后的跟注成本,以及 A23 和不同花色 235 的特殊规则。

阅读全文

斗地主怎么玩:叫分、出牌与农民配合

从 17 张手牌和 3 张底牌讲起,用对子和结算例子解释斗地主叫分、出牌限制与农民队伍目标。

阅读全文

襄阳卡五星怎么玩:亮倒、胡牌与杠分

认识三人 84 张牌的襄阳卡五星,用四六夹五和亮倒后的选择解释玩法,区分胡牌结算与杠分。

阅读全文

掼蛋怎么玩:配牌、进贡与队友升级

从四人两副牌讲起,用级牌配牌与出完顺序的例子理解掼蛋,说明进贡、借风和过 A 的平台规则。

阅读全文

五子棋怎么玩:无禁手规则与攻防入门

了解 15×15 五子棋的长连、无禁手和胜负规则,用活四例子练习先防直接威胁,再组织进攻。

阅读全文

中国象棋怎么玩:走子、将军与困毙

从红先黑后和基本走子开始,用炮与马的例子理解中国象棋,分清将死、困毙和每步时限。

阅读全文

Protobuf 在牌桌上的取舍:生产 WS 流量减少 46%

100 桌、900 连接,Protobuf 相对紧凑 JSON 少发约 46% WS 载荷。补充热路径优化后的生产复测:完整服务端 P99、协议对照,以及索引、少复制、缓冲区复用的收益边界。

阅读全文

从延迟定位到公网容量实测:BluffKing 优化了什么

从 01:22 的查询失败到 23:29 的生产验证:延迟怎么定位、做了哪些改进、还有哪些空间。9 月 9 日补记:本地 2 vCPU 复现把服务端 p99 压到 1ms 以内,生产按 9 月 8 日的同机方法复测,从 7.08/12.20ms 降到 2.57/4.48ms;公网阶梯量到的是测试链路,不是服务上限。

阅读全文

缓存文章的内容测试:回读 read_cache.rs 的 TTL、字段白名单和 p95 限定

AI 写出来的技术文章不能只靠 file:line 摆样子。我们把一篇缓存文章里的 TTL、字段白名单、失效路径和延迟限定写进 website test:源码一漂移,文章先红。

阅读全文

读缓存先写合同:5 秒 session cache 也不能延长登录态

这次性能改动真正有用的不是 HashMap,而是缓存边界:三类读模型、各自 TTL、字段白名单、同步失效、generation 防 late insert,以及专门测试撤销和过期。缓存之前,先定义系统允许复用哪一种真相。

阅读全文

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 取代固定窗口,以及每层限流器应当如何失败。

阅读全文

发布脚本改了依赖后,如何同步更新 SHA-256 pin

一个发布脚本正确刷新了公开源码 URL,却没有告诉 agent 同提交更新 CI 成本守卫里的 SHA-256 pin。真正的修复不是再写一条提醒,而是让产生变更的工具输出下游 pin,并把旧断言反转成拒绝危险回归的测试。

阅读全文

CSS 静态检查的边界:别在阻断闸门里重造浏览器

为了证明一个 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

ChatGPT Pro 与 Claude Max 月费 $400;同样 30 天的 Codex、GPT 与 Claude Code 用量按 API 牌价为 $53,403。查看逐模型 token、缓存成本与估算边界。

阅读全文

品牌语言迁移:复用布局时如何避免继承旧词汇

一个临时牌桌代号渗进了目录、组件、测试、文档、机器数据与官网。真正的清理不是全局替换,而是一次有目标 schema、有迁移顺序、有语义保真和 CI 约束的品牌语言迁移。

阅读全文

从 GPT / ChatGPT 对话到生产级 AI 编程

给用过 GPT / ChatGPT、准备进入 AI 编程的开发者:用 Codex 与 Claude Code 实战讲清 Agent、CLI、MCP、Skill、验证和生产交付。

阅读全文

测试订单是假的,钱是真的

一次 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 用独立目录解决这个问题。

阅读全文