本書は2016年7月に発刊された洋書「Go Web Programming」の翻訳書であり、Goの標準パッケージを中心にWebアプリケーションの仕組みや作り方を学習できる内容となっています。
Goを使ったことがある方が対象となっているため、Goが初めてという方は公式チュートリアル「A Tour of Go」で文法の基礎を学んだり、Webアプリが初めてという方は書籍「Go言語入門」を一読するなどしてみてください。
本書で使用されている主なGo標準パッケージは次の通りです。
- Webサーバー:net/http
- テンプレート:html/template
- テータ形式:encoding/xml, encoding/json
- データ保存:encoding/gob, encoding/csv, database/sql
- テスト:testing, net/http/httptest
- ファイル:os, io/ioutil
- 画像:image
読み進めると「物事の仕組みを理解した上で作業を行うこと」がコンセプトであることがわかります。前半のWebアプリケーションの解説はまさにそれにあたり、知識が曖昧な方などはココでしっかりと基礎固めを行なうことをオススメします。
各章では内容に沿ったサードパーティのパッケージも紹介&使用されていますし、Goの特徴である並列処理についても解説だけではなく画像処理の実例で書かれています。また、各種クラウド環境へのデプロイについても書かれており、
Webサーバー処理、HTMLテンプレート、データベース接続、
データ形式(XML、JSON)、ファイル操作(テキスト、画像)、
並列処理、テスト、デプロイ
と、GoでHTTPサーバー&Webアプリを開発するための一通りの要素が詰め込まれています。
ちなみに、本書内で使用されるデータベースはPostgreSQL(GAEではMySQL)です。
ざっくり読みですが、個人的には、net/httpパッケージの仕組みを学べたり、触ったことがなかったencoding/gobパッケージについて知ることができました。
ひとまずの読書感想文は書けましたので、2周目はもう少し落ち着いてコードを試したり内容を読み進めて行こうと思います。