以下の内容はhttps://shuzo-kino.hateblo.jp/entry/2024/02/29/235124より取得しました。


Python3でgRPCをつかう その3: Protocol Bufferファイルについてもう少し詳しく

実際のところ

型チェックつきのバイナリである

その1でやったように、異なる機器間を高速で通信するために作られた規格です。
バイナリなのでJSONのようなテキストベースと比べてデータ量が軽いです。
加えてエンコード・デコードともに高速なのでオーバーヘッドも最小。

バイナリにする過程で型チェックもあるので変な定義をしたデータは早めにエラー潰しができて素敵。

途中で要素を追加しても後方互換性がある

message Person {
  string name = 1;
  int32 age = 2;
}

これに新たに"email"という要素を追加しても、要素毎に通し番号振っている構成なので後方互換性が確保されるという中々Goodな仕様。

message Person {
  string name = 1;
  int32 age = 2;
  string email = 3;  // 新しいフィールドを追加しても、古いコードは影響を受けない
}



以上の内容はhttps://shuzo-kino.hateblo.jp/entry/2024/02/29/235124より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14