凌云的博客

行胜于言

每周总结 2024-01-19

分类:proto| 发布时间:2025-01-19 20:42:00

概述

本周主要学习内容有:

Protobuf 版本概述[译]

主要描述了 Protobuf editions 版本,截至目前,最新的版本为 2023,可以使用 edition = "2023" 指定,如果是使用旧版本则需要使用:syntax = "proto2"syntax = "proto3"

可以使用 Prototiller 将 proto2 或者 proto3 风格的 proto 文件升级到 edition = "2023"

Proto 限制[译]

描述了 proto 的一些限制,单个 Message 最多只能包含约 3100 个标量字段(proto3)。

序列化后的消息总大小必须小于 2GB。

进行反序列化时深度小于 100。

Proto 风格指南[译]

描述了 Proto 的风格,其中文件格式为:

  • 保持每行最多 80 个字符
  • 使用两个空格进行缩进
  • 对字符串优先使用双引号

文件名应该命名为: lower_snaker_case.proto

每个的文件的内容块应该保持如下顺序:

  1. 许可证的头部(如果有)
  2. 文件概述
  3. 格式(syntax/editions)
  4. 包名(package)
  5. Imports(排序)
  6. 文件选项(options)
  7. 其他内容

Proto 枚举行为[译]

讲述了 openclosed 枚举的行为差异,以及各种语言中的实现。

ProtoJSON 格式[译]

讲述了 ProtoJSON 规范,proto 中各种格式转换成 JSON 的规范。

GNOME 概述

讲述了 GNOME 的含义,版本历史,GNOME 的常用组件。