主题: serialization
-
Go 的经过时间:序列化会丢失单调时钟分量
将进程内的时长测量与持久化时间戳及跨进程截止时间策略分开。
-
不可信数据的反序列化:pickle 与 Java 序列化
原生对象序列化格式会指示接收方构造任意对象,而构造对象会执行代码;Python 的 pickle 文档明确说明该模块不安全。绝不要对来自不可信输入的这些格式进行反序列化;若遗留接口迫使你这样做,应限制流中可指定的类,并为载荷签名。
-
Protocol Buffers 的确定性序列化不等于规范的消息身份
避免将任意 protobuf 字节用作跨运行时和版本的稳定语义指纹。
-
Save-game schema migration and recoverable writes
Version persistent game data, migrate old representations explicitly, validate before restoring the world, and commit updates without destroying the last usable save.
机器可读: JSON