Read OSS

protocolbuffers/protobuf

10 articles

前提知識

01

Protobuf モノレポを読み解く:アーキテクチャとディレクトリ構成ガイド

デュアルワールドアーキテクチャ、ディレクトリ構成、コンパイルパイプライン、各言語ランタイム、ビルドシステムなど、protobuf モノレポの全体像を俯瞰するガイドです。

02

Protocol Buffers ソースコード:全体像を把握する

protobuf モノレポの三層アーキテクチャ、デュアルランタイム戦略、ディレクトリ構成、そして protoc のエントリーポイントを俯瞰するガイド。

03

protoc の内部構造:.proto ファイルからコード生成まで

protoc コンパイラの内部を深掘りする:字句解析、構文解析、ディスクリプタ構築、そしてコードジェネレーター/プラグインのディスパッチシステム。

04

protoc の内側:.proto ファイルから型安全なコードへ

protoc のコンパイルパイプラインを深く掘り下げます:tokenizer、parser、DescriptorPool、CodeGenerator インターフェース、そしてプラグインプロトコルまで。

05

ディスクリプタシステムとメッセージ階層:Protobufの型ユニバース

Protobufの中核をなす型システムを深掘りします。Descriptor階層、DescriptorPoolの内部実装、Messageクラス階層、DynamicMessage、Reflection API、そしてEditionsシステムについて解説します。

06

C++ ランタイム:メッセージ、リフレクション、Arena アロケーション

C++ ランタイムの詳細解説:MessageLite/Message 階層、PROTOBUF_CUSTOM_VTABLE、DynamicMessage、そして三層構造の Arena システム。

07

高性能シリアライゼーション:アリーナアロケーションとテールコールテーブルパーシング

protobuf のパフォーマンス最重要内部実装に迫る:ゼロコピー I/O、アリーナアロケーション、そして TcTable テールコールパーシングシステム。

08

μpb: Python・Ruby・PHPを支える軽量Cランタイム

μpbのアーキテクチャを解説:コンパクトなスキーマ表現MiniTable、アリーナフュージング、upb_Messageの構造、そしてPython・Ruby・PHPへの言語バインディング。

09

Rust インテグレーションと C++ コードジェネレーター:コード生成パターンの研究

コード生成パターンの探求:Rust のデュアルカーネル・プロキシベース API、C++ ジェネレーターのフィールド型に対するストラテジーパターン、そして upb 上の新しい C++ API である HPB について解説します。

10

適合性テストとCI:10以上の言語実装を同期させる仕組み

適合性テスト、失敗リスト管理、CIインフラを通じて、protobufが10以上の言語実装にわたる正確性をどのように維持しているかを解説します。