posts

文章归档

PlumePHP 全站文章的归档入口,按时间倒序汇总各专题的技术文章,并提供按主题浏览的专题分类入口。

这里是全站文章的归档入口,下面是按时间倒序排列的全部文章。若想按主题浏览,请从首页的专题分类进入。

全部文章

全部文章 Books game Java Indie golang 客户端开发 Minigame Saas rust Python
typescript

《TypeScript编程实战》18.2 数据库迁移与灰度发布

本节讲清「代码能随时回滚、数据库不能」这个不对称性带来的全部约束:先用 expand-contract 把破坏性结构变更拆成向前兼容的多步,再给出大表回填的分批限速写法与迁移在流水线中的正确位置,最后系统对比蓝绿、金丝雀、滚动与功能开关四种灰度形态,并给出灰度期的指标判定与契约兼容要求。读完后你能设计一条可灰度、可回滚的发布路径。

10 分钟阅读
TypeScript TypeScript编程实战
typescript

《TypeScript编程实战》18.1 Docker 与 CI/CD 流水线

本节把 TypeScript 服务从「本地能跑」推进到「可重复交付」:先用多阶段 Dockerfile 拆开依赖层、构建层与运行层,讲清镜像为何能从 1.2GB 降到 180MB;再给出分层清晰的 CI/CD 流水线,覆盖类型检查、测试、镜像构建、签名与制品晋级;最后落到缓存、非 root 运行、健康检查与供应链加固这些易踩的坑。读完后你能独立写出从提交到上线的自动化流水线。

8 分钟阅读
TypeScript TypeScript编程实战
java

《Spring Boot 入门》15.2 版本化迁移脚本

本节讲透 Flyway 脚本本身:V{版本}__{描述}.sql 命名规范里那个常被写错的双下划线、整数与时间戳两类版本号怎么选、版本化迁移与 R__ 可重复迁移的适用场景,以及「脚本一旦执行就不能改」背后的 checksum 校验机制与真实报错。针对社区版没有 undo 的现实,给出前滚修复与备份的应对方式,并完整演示 V1 建表、V2 加字段、R__ 建视图。

10 分钟阅读
Spring Boot Spring Boot 入门
mmo

《MMO 服务器开发》6.3 断线重连与重连票据

玩家掉线后必须能秒回游戏,但又不能凭一个账号名就免密登入。本节给 aegis 设计一张重连票据:用 HMAC-SHA256 签发、绑定账号与连接序号、带过期时间、且只能使用一次。我们用标准库把它从零写出来,并用测试逐一证明正常校验、签名被篡改、过期、以及同一票据二次使用这四种路径的行为。

4 分钟阅读
MMO 游戏服务端 网络编程
mmo

《MMO 服务器开发》6.1 WebSocket 握手、掩码与分片

浏览器与小程序只能发起 HTTP 请求,MMO 网关的长连接入口因此多半是 WebSocket。本节不引任何第三方库,用标准库手写 RFC 6455 里网关真正需要的一小块:从 Sec-WebSocket-Key 拼 GUID、SHA-1、Base64 回 101,到帧头的 FIN、opcode、MASK 与 126/127 扩展长度,再到客户端必须掩码的逐字节 XOR 与分片重组。

5 分钟阅读
MMO 游戏服务端 网络编程
mmo

《MMO 服务器开发》4.3 基准:JSON、MessagePack、Protobuf 与扁平化协议

同一条移动通知,用 JSON、手写扁平化协议与手写 varint 二进制分别编解码,本机跑出 ns/op、B/op 与 allocs/op。JSON 编解码要几百纳秒和几次堆分配,手写二进制只要十几到二十几纳秒、零到一次分配。本节给出真实数字表格与选型判据,并说明 MessagePack 与 Protobuf 为什么不在本节实测。

7 分钟阅读
MMO 游戏服务端 网络编程