科学技術書・理工学専門書・月刊EMCの科学情報出版
SNSメニュー
サイトマップ
HOME
書籍
設計技術シリーズ
実践!Go言語とgRPCで学ぶマイクロサービス開発
設計技術シリーズ
設計技術シリーズ
製品設計別
ソフトウェア設計
設計技術シリーズ
工学分野別
情報工学
会員登録するとページ閲覧だけでポイント貯蓄!
最大500ポイント利用可能!
設計技術シリーズ
実践!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.Command Serviceの概要
1-1-2.Query Serviceの概要
1-1-3.CQRS Clientの概要
1-1-4.データベース構造
1-2.サンプルプログラムについて
1-2-1.データベース環境の構築
1-2-2.IDLと生成コード
1-2-3.サンプルアプリケーション
1-3.gRPCの概要
1-3-1.gRPCの簡単な歴史
1-3-2.HTTP/2の利用
1-3-3.通信方式
1-3-4.インターセプタ (interceptor)
1-4.Protocol Buffersの概要
第2章 Protocol Buffers
2-1.本章で作成するプロジェクト
2-1-1.プロジェクトの構成
2-1-2.作成するIDL
2-1-3.protocの取得 (インストール)
2-2.基本言語仕様
2-2-1.スタイル
2-2-2.共通項目
2-3.メッセージとフィールド
2-3-1.メッセージ宣言
2-3-2.フィールドのデータ型
2-3-3.クライアント/サーバ間で利用するメッセージ
2-3-4.Query Serviceのメッセージ
2-3-5.Command Serviceのメッセージ
2-3-6.google.golang.org/protobufモジュール
2-4.サービス
2-5.コード生成
2-5-1.プラグインのインストール
2-5-2.Goコードの生成
2-5-3.オプション
2-5-4.GitHubへのアップ
2-6.メッセージから生成されたコード
2-6-1.引き継がれるコメントと追加されるコメント
2-6-2.定数
2-6-3.フィールド
2-6-4.メソッド
2-6-5.ファイルアクセス機能
2-6-6.列挙型
2-7.サービスから生成されたコード
2-7-1.Client機能の実装
2-7-2.Server機能の実装
第3章 サンプルアプリケーションの概要
3-1.Command Service
3-1-1.アーキテクチャ
3-1-2.ドメイン層
3-1-3.インフラストラクチャ層
3-1-4.アプリケーション層
3-1-5.プレゼンテーション層
3-2.Query Service
3-2-1.アーキテクチャ
3-2-2.ドメイン層
3-2-3.インフラストラクチャ層
3-2-4.プレゼンテーション層
3-3.CQRS Client
3-3-1.アーキテクチャ
3-3-2.インフラストラクチャ層
3-3-3.プレゼンテーション層
第4章 ドメイン層の実装
4-1.ドメイン層の概要
4-2.値オブジェクト
4-2-1.商品ID
4-2-2.商品名
4-3.Ginkgo V2を利用したテスト
4-3-1.ビヘイビア駆動開発 (Behavior-Driven Development、BDD) の概要
4-3-2.Ginkgo V2
4-3-3.テストドライバの実装
4-3-4.テスト実装に利用する関数
4-3-5.値オブジェクトのテスト
4-3-6.テストの実行
4-3-7.テストの実行とスキップ
4-4.エンティティの実装
4-4-1.エンティティの構成
4-4-2.エンティティの実装
4-4-3.エンティティのテスト
4-5.リポジトリインターフェイス
第5章 インフラストラクチャ層の実装
5-1.インフラストラクチャ層の概要
5-2.データベース接続
5-2-1.接続情報の定義
5-2-2.ライブラリとCLIツールの準備
5-2-3.データベース接続機能の実装
5-2-4.エラーハンドリング
5-2-5.データベース接続のテスト
5-3.Modelの生成
5-3-1.テーブル構造の定義
5-3-2.Whereヘルパ
5-3-3.リレーションシップと更新結果のキャッシュ
5-3-4.フック(Hook)
5-3-5.CRUD操作メソッド
5-4.リポジトリインターフェイスの実装
5-4-1.CategoryRepositoryインターフェイスの実装
5-4-2.フック関数の実装
5-5.リポジトリのテスト
5-5-1.テスト全体の前処理
5-5-2.テストの実装
5-6.fxフレームワークの依存定義
第6章 アプリケーション層の実装
6-1.アプリケーション層の概要
6-2.サービスインターフェイスとその実装
6-2-1.サービスインターフェイス
6-2-2.サービスインターフェイスの実装
6-2-3.トランザクション制御
6-3.サービスのテスト
6-3-1.テストの前処理
6-3-2.テストの実装
6-4.依存定義
6-4-1.依存性の実装
第7章 プレゼンテーション層の実装
7-1.プレゼンテーション層の概要
7-2.データ変換機能
7-2-1.データ変換インターフェイス
7-2-2.インターフェイスの実装
7-2-3.データ変換機能のテスト
7-3.サーバ機能の実装
7-3-1.メソッドの実装
7-3-2.メソッドのテスト
7-4.アプリケーション起動準備
7-4-1.gRPCサーバ生成とサーバ機能の登録
7-4-2.fxのフック機能
7-5.依存定義
7-5-1.依存定義
7-6.エントリーポイントと動作確認
7-6-1.エントリーポイント
7-6-2.grpcurlのインストール
7-6-3.サービスの表示
7-6-4.メソッドの実行
第8章 Query Serviceの実装
8-1.Query Serviceの概要
8-1-1.Query Serviceのパッケージ構成
8-1-2.ライブラリの入手
8-2.ドメイン層
8-2-1.エンティティの実装
8-2-2.アダプタインターフェイス
8-2-3.リポジトリインターフェイス
8-3.インフラストラクチャ層
8-3-1.モデルの実装
8-3-2.アダプタインターフェイスの実装
8-3-3.データベース接続
8-3-4.リポジトリインターフェイスの実装
8-3-5.依存定義
8-4.プレゼンテーション層
8-4-1.問合せ結果の変換
8-4-2.サーバ機能の実装
8-4-3.gRPCサーバ生成とサーバ機能の登録
8-4-4.依存定義と起動
8-5.エントリーポイントと動作確認
8-5-1.エントリーポイント
8-5-2.動作確認
第9章 クライアントの実装
9-1.クライアントの概要
9-1-1.ライブラリの入手
9-2.インフラストラクチャ層
9-2-1.サーバ接続機能
9-2-2.インターフェイスの実装
9-2-3.プロバイダの実装
9-2-4.依存定義
9-3.プレゼンテーション層
9-3-1.ヘルパの実装
9-3-2.リクエストハンドラの実装
9-3-3.ドキュメントの生成
9-3-4.Ginの生成とルーティング
9-3-5.Ginの起動と停止
9-3-6.プレゼンテーション層の依存定義
9-4.エントリーポイントと実行確認
9-4-1.エントリーポイントの実装
9-4-2.サーバの起動
9-4-3.UIの利用
第10章 インターセプタ、Stream RPC、そしてTLS
10-1.インターセプタ (interceptor)
10-1-1.インターセプタの概要
10-1-2.ログ出力インターセプタ
10-1-3.インターセプタの登録
10-1-4.パラメータ検証
10-1-5.クライアントの修正
10-1-6.複数のインターセプタを利用する
10-2.通信形式(RPCタイプ)
10-2-1.streamキーワード
10-2-2.生成されたコード
10-2-3.サーバ側の実装
10-2-4.クライアント側の実装
10-3.セキュアな通信
10-3-1.証明書と秘密鍵の生成
10-3-2.セキュアなサーバの生成
10-3-3.grpcurlの利用
10-3-4.クライアントの実装
Appendix
APP-1.VS Codeと開発基盤の準備
APP-1-1.VS Codeのインストール
APP-1-2.WSL(Windows Subsystem for Linux)のインストール
APP-1-3.Ubuntuのインストール
APP-1-4.Dockerのインストール
APP-1-5.Docker Desktopのインストール
APP-1-6.Docker Desktopへのサインアップ
APP-2.VS CodeでWSLに接続する
APP-3.データベース環境の構築
APP3-1.フォルダとファイルの構成
APP3-2.docker-compose.yml
APP3-3.my.cnfファイル
APP3-4.sqlファイル
APP3-5.データベースの構築
APP-4.IDLとGoコード生成プロジェクト
APP-4-1.Dockerfile
APP-4-2.docker-compose.yml
APP-4-3.Dev Container
APP-4-4.コンテナの作成とコンテナ内に入る
APP-4-5.拡張機能
APP-5.サンプルアプリケーションプロジェクト
APP-5-1.Dockerfile
APP-5-2.docker-compose.yml
APP-5-3.Dev Container
【参考文献】
【口コミ】
※口コミはありません。