本書は、Goを学びながらWebルータを作っていくことを目的としています。そのため、第1章や第2章は、Go の基礎やルーティングの基礎といった内容になっています。サンプルコードが多いと思うので、写経するだけでもGoの基礎知識が身につき、GoでWebルータを作ることができると思います。また、3章ではパスパラメータルーティングを含むルーティングの実装について詳しくお話しします。4章ではベンチマークをとって Go における高速化や最適化のちょっとしたコツを説明しています。今後のGo高速化の参考になれば幸いです。
5章以降は初心者向けに家計簿サービスのサーバーサイドのAPIを作りながらGoの基本文法やWebアプリケーションの実装の流れについて学んでいく内容となっています。
【目次】
第1章 Goの基本文法
第2章 HTTPルーティングの基礎
第3章 動的ルーティング
第4章 ベンチマーク
第5章 環境構築
第6章 家計簿サービスの概要
第7章 家計簿サービスのプロジェクト作成
第8章 家計簿サービスの実装
第9章 HTTPサーバー
第10章 家計簿アプリの実装2〜インフラ層・ハンドラー層の残り〜
第11章 テスト
第12章 ログ
目次プレビュー
- はじめに
- 第1章 Goの基本文法
- 第2章 HTTPルーティングの基礎
-
1.1 変数
-
1.2 配列とスライス
-
1.3 条件分岐 (if)
-
1.4 ループ(for)
-
1.5 構造体(struct)
-
1.6 関数 (func)
-
1.7 まとめ
-
2.1 HTTPルーティングの仕組み
-
2.2 ルーティングアルゴリズムの実装
-
2.3 Trie木を効率的に扱う
-
2.4 パフォーマンスを計測する
-
2.5 まとめ
-
4.1 ベンチマークを取る
-
4.2 高速化/最適化する
-
5.1 前提
-
5.2 環境構築
-
5.3 Goコードのディレクトリ構成
-
5.4 ライブラリのインストール
-
6.1 家計簿とは
-
6.2 家計簿をつけるコツ
-
6.3 家計簿サービスの機能
-
8.1 費目
-
8.2 支出
-
8.3 費目名の実装
-
8.4 費目IDの実装
-
8.5 費目エンティティの実装
-
8.6 費目リポジトリのインターフェースの定義
-
8.7 費目登録のユースケース
-
9.1 httpパッケージ
-
9.2 httpパッケージを使ったrouting実装の考慮点
-
9.3 routerライブラリchiを使ったHTTPサーバー実装例
-
9.4 フレームワークechoを使ったHTTPサーバーの実装
-
9.5 家計簿サービスのサーバーの実装
-
10.1 データベース/Dockerの導入
-
10.2 インフラ層の実装
-
12.1 標準パッケージlog
-
12.2 zap
-
12.3 家計簿サービスのログの実装