きみはねこみたいなにゃんにゃんなまほう

ねこもスクリプトをかくなり

Protocol Buffer と gRPC を Go で使うときのリポジトリを整理する

(=˘ ꒳ ˘=) googlegolang がぱっと見ややこしい...

Protocol Buffer と gRPC を Go で利用しようとすると色んなリポジトリからツールを落としてくる必要がありますがどれも微妙に字面が似ているので混乱します。それらを整理するために org/repo の形式で一覧できるようにまとめていきたいと思います。

まず Protocol Buffer のコアなツールが含まれるリポジトリ

  • google/protobuf
    • C++ 製の Protocol Buffer のコア
    • 含まれるツール: protoc
    • 日付型などの well-known 型の .proto 定義も含まれる

ですね。Go の場合はこれに加えて Protocol Buffer と gRPC の Go 実装のためのパッケージが必要になります。 .proto 定義からコードを生成したり、そのコードから import されるパッケージが以下のリポジトリに含まれます。

C++PHPなど Go 以外の言語だと grpc のメインのリポジトリでその辺が間に合ってしまいそうです。

上に書いた通り grpc_cli は便利なので Go でもこのリポジトリの一部機能は利用する、という感じです。

...ややこしいですね。

まだ書き出しただけで、プラグインやら well-known 型の定義や実装がどこにあるかやらが整理できているとは言い難いですが、使っているうちに慣れるのでしょうか...