【書評】Goプログラミング実践入門

 

 

 

 

 おすすめ度

★★★★☆

概要

Goと標準ライブラリだけを使ってゼロからwebアプリを開発するのに必要な事柄を解説した本。Goの基本文法が分かることを前提としている。

1章

webアプリ開発においてGoを用いる利点やhttpの基礎、URI、ハンドラなどの解説を中心に行っている。実際にGoでhello worldする。

2章

開発の全体像を把握するためにpostgreSQLを用いた簡単なチャットアプリを作成する。ただあくまで全体像把握のためなので詳細は次章以降という感じで進んでいく。

3章

基本的にはGoの標準ライブラリであるnet/httpを用いたリクエストの受け付けの解説。マルチプレクサやハンドラ、ハンドラ関数などの使い方が主な内容。

4章

httpリクエスト、レスポンス自体の仕組み(ヘッダやボディ等)の解説から始まり、GoによるHTMLフォームの処理やResponseWriterを用いたクライアントへのレスポンス、クッキーを使った処理などの解説。

5章

Goに組み込まれているテンプレートエンジンの使い方について解説している。テンプレートに埋め込むアクションの使い方が中心。

6章

Goでデータを保存する方法について解説している。メモリ内の保存から始まり、CSVやバイナリなどファイルへの保存、データベースへの保存の方法を学ぶ。また最後にORMの使い方についても解説がある。

7章

RESTとSOAPの解説から始まりXMLやjsonの生成・解析方法を学んだあと、実際に簡単なCRUDアプリを作成する。

8章

ユニットテストやHTTPテスト、ベンチマークテストなどGoにおけるテストの書き方を学ぶ。また最後の方にユニットテストケースの独立性を高めるために使われるテストダブルやサードパーティー製のgocheckやGinkgoなどのテスト用Goライブラリの解説もある。

9章

Go特有のゴルーチンを用いた並行実行の方法について学ぶ。実際にモザイク画像生成アプリを作成してゴルーチンの凄さを体感できる。

10章

Goで作成したwebアプリを実際にデプロイする方法を解説している。この章ではHeroku、GAE、Dockerを用いてwebアプリをデプロイする方法を学ぶ。

 

個人的に良かったところ

 そもそもGoの日本語情報が少ないので、こうした本で体系的にwebアプリ開発の方法を学べたのが良かった。

ハンドラ周りが良くわかってなかった自分にとっては3章のハンドラの解説が丁寧でとても良かった。

感想

Goによるwebアプリの開発工程全体を解説してくれる数少ない本でした。多少の誤表記はあったものの実際の開発で役立ちそうな良書だと思いました。

ただあくまでもGoの文法を理解していること前提なのでそこはお間違えの無いようご注意ください。