Skip to content

akubi0w1/sge-tech-book-vol3-sample

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SGE TechBook vol3

2023年5月の技術書典にて執筆した「gRPC × Goのゲーム開発で少しでも実装コストを削減してみる」のサンプルサービスのソースコードです。

ディレクトリの構成については下記ツリーを参考にしてください。

tech-book-vol3-sample
├── README.md
├── Makefile    // 各種実行コマンドをまとめます
├── api/
│   └── protos/ // Protocol Buffersの定義をまとめます
├── build/      // Dockerfileなどサービスのビルドに関わるファイルをまとめます
├── cmd/        // 各種エントリーポイントをまとめます
│   ├── api/
│   └── cli/
├── db/         // マイグレーションに関わるファイルを纏めます
├── internal/   // サンプルサービスの実装をまとめます
├── pkg/
│   └── pb/     // サンプルサービスのProtocol Buffersから作成されるGoのコードをまとめます
└── tools/      // 自動生成やマイグレーションを行うためのツールをまとめます

起動確認

Dockerがインストールされている必要があります。

# DBの起動。ポート3306で起動します。
$ make up SERVICE=mysql
$ make db-migrate

# APIの起動。ポート50051で起動します。
$ make up SERVICE=api

各種自動生成やcliの呼び出し方。

# Protocol Buffersの定義からGoのコードを生成する
$ make buf-generate

# DBからエンティティを生成する
$ make go-dbgen

# マスターデータ配信用のハンドラを生成する
$ make go-masterhandlergen

# gRPCのメソッドを呼び出すためのCLIのサブコマンドを生成する
$ make cli-subcmdgen

# CLIからローカルに起動しているgRPCサーバのメソッドを呼び出す
$ make cli-build
$ ./bin/cli grpc <subcmd> <MethodName> -h localhost -p 50051 --insecure [-d '{...}']

About

SGE TechBook vol3のサンプルコード

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published