書籍
書籍検索
新刊 送料無料

設計技術シリーズ

実践!Go言語とgRPCで学ぶマイクロサービス開発

著: 古川 正寿 (株式会社フルネス)
定価: 3,960円(本体3,600円+税)
判型: B5変型
ページ数: 254 ページ
ISBN: 978-4-910558-28-8
発売日: 2024/4/17
管理No: 126

【目次】

第1章 本書の概要

  1. 1-1.サンプルアプリケーションの概要
    1. 1-1-1.Command Serviceの概要
    2. 1-1-2.Query Serviceの概要
    3. 1-1-3.CQRS Clientの概要
    4. 1-1-4.データベース構造
  2. 1-2.サンプルプログラムについて
    1. 1-2-1.データベース環境の構築
    2. 1-2-2.IDLと生成コード
    3. 1-2-3.サンプルアプリケーション
  3. 1-3.gRPCの概要
    1. 1-3-1.gRPCの簡単な歴史
    2. 1-3-2.HTTP/2の利用
    3. 1-3-3.通信方式
    4. 1-3-4.インターセプタ (interceptor)
  4. 1-4.Protocol Buffersの概要

第2章 Protocol Buffers

  1. 2-1.本章で作成するプロジェクト
    1. 2-1-1.プロジェクトの構成
    2. 2-1-2.作成するIDL
    3. 2-1-3.protocの取得 (インストール)
  2. 2-2.基本言語仕様
    1. 2-2-1.スタイル
    2. 2-2-2.共通項目
  3. 2-3.メッセージとフィールド
    1. 2-3-1.メッセージ宣言
    2. 2-3-2.フィールドのデータ型
    3. 2-3-3.クライアント/サーバ間で利用するメッセージ
    4. 2-3-4.Query Serviceのメッセージ
    5. 2-3-5.Command Serviceのメッセージ
    6. 2-3-6.google.golang.org/protobufモジュール
  4. 2-4.サービス
  5. 2-5.コード生成
    1. 2-5-1.プラグインのインストール
    2. 2-5-2.Goコードの生成
    3. 2-5-3.オプション
    4. 2-5-4.GitHubへのアップ
  6. 2-6.メッセージから生成されたコード
    1. 2-6-1.引き継がれるコメントと追加されるコメント
    2. 2-6-2.定数
    3. 2-6-3.フィールド
    4. 2-6-4.メソッド
    5. 2-6-5.ファイルアクセス機能
    6. 2-6-6.列挙型
  7. 2-7.サービスから生成されたコード
    1. 2-7-1.Client機能の実装
    2. 2-7-2.Server機能の実装

第3章 サンプルアプリケーションの概要

  1. 3-1.Command Service
    1. 3-1-1.アーキテクチャ
    2. 3-1-2.ドメイン層
    3. 3-1-3.インフラストラクチャ層
    4. 3-1-4.アプリケーション層
    5. 3-1-5.プレゼンテーション層
  2. 3-2.Query Service
    1. 3-2-1.アーキテクチャ
    2. 3-2-2.ドメイン層
    3. 3-2-3.インフラストラクチャ層
    4. 3-2-4.プレゼンテーション層
  3. 3-3.CQRS Client
    1. 3-3-1.アーキテクチャ
    2. 3-3-2.インフラストラクチャ層
    3. 3-3-3.プレゼンテーション層

第4章 ドメイン層の実装

  1. 4-1.ドメイン層の概要
  2. 4-2.値オブジェクト
    1. 4-2-1.商品ID
    2. 4-2-2.商品名
  3. 4-3.Ginkgo V2を利用したテスト
    1. 4-3-1.ビヘイビア駆動開発 (Behavior-Driven Development、BDD) の概要
    2. 4-3-2.Ginkgo V2
    3. 4-3-3.テストドライバの実装
    4. 4-3-4.テスト実装に利用する関数
    5. 4-3-5.値オブジェクトのテスト
    6. 4-3-6.テストの実行
    7. 4-3-7.テストの実行とスキップ
  4. 4-4.エンティティの実装
    1. 4-4-1.エンティティの構成
    2. 4-4-2.エンティティの実装
    3. 4-4-3.エンティティのテスト
  5. 4-5.リポジトリインターフェイス

第5章 インフラストラクチャ層の実装

  1. 5-1.インフラストラクチャ層の概要
  2. 5-2.データベース接続
    1. 5-2-1.接続情報の定義
    2. 5-2-2.ライブラリとCLIツールの準備
    3. 5-2-3.データベース接続機能の実装
    4. 5-2-4.エラーハンドリング
    5. 5-2-5.データベース接続のテスト
  3. 5-3.Modelの生成
    1. 5-3-1.テーブル構造の定義
    2. 5-3-2.Whereヘルパ
    3. 5-3-3.リレーションシップと更新結果のキャッシュ
    4. 5-3-4.フック(Hook)
    5. 5-3-5.CRUD操作メソッド
  4. 5-4.リポジトリインターフェイスの実装
    1. 5-4-1.CategoryRepositoryインターフェイスの実装
    2. 5-4-2.フック関数の実装
  5. 5-5.リポジトリのテスト
    1. 5-5-1.テスト全体の前処理
    2. 5-5-2.テストの実装
  6. 5-6.fxフレームワークの依存定義

第6章 アプリケーション層の実装

  1. 6-1.アプリケーション層の概要
  2. 6-2.サービスインターフェイスとその実装
    1. 6-2-1.サービスインターフェイス
    2. 6-2-2.サービスインターフェイスの実装
    3. 6-2-3.トランザクション制御
  3. 6-3.サービスのテスト
    1. 6-3-1.テストの前処理
    2. 6-3-2.テストの実装
  4. 6-4.依存定義
    1. 6-4-1.依存性の実装

第7章 プレゼンテーション層の実装

  1. 7-1.プレゼンテーション層の概要
  2. 7-2.データ変換機能
    1. 7-2-1.データ変換インターフェイス
    2. 7-2-2.インターフェイスの実装
    3. 7-2-3.データ変換機能のテスト
  3. 7-3.サーバ機能の実装
    1. 7-3-1.メソッドの実装
    2. 7-3-2.メソッドのテスト
  4. 7-4.アプリケーション起動準備
    1. 7-4-1.gRPCサーバ生成とサーバ機能の登録
    2. 7-4-2.fxのフック機能
  5. 7-5.依存定義
    1. 7-5-1.依存定義
  6. 7-6.エントリーポイントと動作確認
    1. 7-6-1.エントリーポイント
    2. 7-6-2.grpcurlのインストール
    3. 7-6-3.サービスの表示
    4. 7-6-4.メソッドの実行

第8章 Query Serviceの実装

  1. 8-1.Query Serviceの概要
    1. 8-1-1.Query Serviceのパッケージ構成
    2. 8-1-2.ライブラリの入手
  2. 8-2.ドメイン層
    1. 8-2-1.エンティティの実装
    2. 8-2-2.アダプタインターフェイス
    3. 8-2-3.リポジトリインターフェイス
  3. 8-3.インフラストラクチャ層
    1. 8-3-1.モデルの実装
    2. 8-3-2.アダプタインターフェイスの実装
    3. 8-3-3.データベース接続
    4. 8-3-4.リポジトリインターフェイスの実装
    5. 8-3-5.依存定義
  4. 8-4.プレゼンテーション層
    1. 8-4-1.問合せ結果の変換
    2. 8-4-2.サーバ機能の実装
    3. 8-4-3.gRPCサーバ生成とサーバ機能の登録
    4. 8-4-4.依存定義と起動
  5. 8-5.エントリーポイントと動作確認
    1. 8-5-1.エントリーポイント
    2. 8-5-2.動作確認

第9章 クライアントの実装

  1. 9-1.クライアントの概要
    1. 9-1-1.ライブラリの入手
  2. 9-2.インフラストラクチャ層
    1. 9-2-1.サーバ接続機能
    2. 9-2-2.インターフェイスの実装
    3. 9-2-3.プロバイダの実装
    4. 9-2-4.依存定義
  3. 9-3.プレゼンテーション層
    1. 9-3-1.ヘルパの実装
    2. 9-3-2.リクエストハンドラの実装
    3. 9-3-3.ドキュメントの生成
    4. 9-3-4.Ginの生成とルーティング
    5. 9-3-5.Ginの起動と停止
    6. 9-3-6.プレゼンテーション層の依存定義
  4. 9-4.エントリーポイントと実行確認
    1. 9-4-1.エントリーポイントの実装
    2. 9-4-2.サーバの起動
    3. 9-4-3.UIの利用

第10章 インターセプタ、Stream RPC、そしてTLS

  1. 10-1.インターセプタ (interceptor)
    1. 10-1-1.インターセプタの概要
    2. 10-1-2.ログ出力インターセプタ
    3. 10-1-3.インターセプタの登録
    4. 10-1-4.パラメータ検証
    5. 10-1-5.クライアントの修正
    6. 10-1-6.複数のインターセプタを利用する
  2. 10-2.通信形式(RPCタイプ)
    1. 10-2-1.streamキーワード
    2. 10-2-2.生成されたコード
    3. 10-2-3.サーバ側の実装
    4. 10-2-4.クライアント側の実装
  3. 10-3.セキュアな通信
    1. 10-3-1.証明書と秘密鍵の生成
    2. 10-3-2.セキュアなサーバの生成
    3. 10-3-3.grpcurlの利用
    4. 10-3-4.クライアントの実装

Appendix

  1. APP-1.VS Codeと開発基盤の準備
    1. APP-1-1.VS Codeのインストール
    2. APP-1-2.WSL(Windows Subsystem for Linux)のインストール
    3. APP-1-3.Ubuntuのインストール
    4. APP-1-4.Dockerのインストール
    5. APP-1-5.Docker Desktopのインストール
    6. APP-1-6.Docker Desktopへのサインアップ
  2. APP-2.VS CodeでWSLに接続する
  3. APP-3.データベース環境の構築
    1. APP3-1.フォルダとファイルの構成
    2. APP3-2.docker-compose.yml
    3. APP3-3.my.cnfファイル
    4. APP3-4.sqlファイル
    5. APP3-5.データベースの構築
  4. APP-4.IDLとGoコード生成プロジェクト
    1. APP-4-1.Dockerfile
    2. APP-4-2.docker-compose.yml
    3. APP-4-3.Dev Container
    4. APP-4-4.コンテナの作成とコンテナ内に入る
    5. APP-4-5.拡張機能
  5. APP-5.サンプルアプリケーションプロジェクト
    1. APP-5-1.Dockerfile
    2. APP-5-2.docker-compose.yml
    3. APP-5-3.Dev Container

【参考文献】

【口コミ】

  • ※口コミはありません。
ページトップへ戻る