
『詳解Go言語Webアプリケーション開発』(清水陽一郎:著 シーアンドアール研究所)、読了。
うちのサイトを作るのに使っているGo言語の技術書です。書名のとおり、Go言語でWebアプリケーション(REST API)を開発する時に必要な知識と、簡単なコードから始めて段階を踏んで実際に動くAPIサーバができるまでを解説したもの。言語自体の解説本ではないので、初心者向けではありません。
ぼちぼち普及してきた感じのGo言語ですが、誕生からまだ歴史が短いため、C言語やJavaなど比較すると関連の技術書は少ないので貴重です。
ただ、率直な感想は「ああぁ、かなりもったいない出来だ・・・」というところです。
解説されている技術やAPIサーバの実装については、大変参考になりました。特にテストを意識したコードの書き方とか、「動けばいいじゃん」的独学だと身につきにくいところで、勉強になりました。
その一方で説明の不足やわかりにくい表現が目立つ上に、コードを含めた記述に誤りが多く、ネット上で公開されている正誤表を参照しながらでないと、せっかく用意されているハンズオンが進められないというレベルです。その点で、技術書としてはかなり減点せざる得ません。
本書の構成は、先に使用するパッケージやエラーハンドリング、クロージャ、ミドルウェアパターンなどの技術の解説一通りを全体の半分近いページを使ってしてから、それらを使うことになるハンズオンに入るという流れになっています。個人的には、実際に使う場面から離れたところで先にまとめて解説されても理解が進まず(正直退屈で)、ハンズオンで出てくると今度は忘れてしまっていて「これってなんだっけ?」になってしまいました。できたら、ハンズオンの進行に合わせて、使う場面場面で解説を入れるという構成にしていただけるとよかったなぁと思いました。
あと、実行環境としてはMacを想定しているようで、Windows使いはちょっと苦労するかもしれません。
いろいろ厳しいことを書きましたが、非常に有用な本であることも確かだと思います。読み通すのはちょっと骨かもしれませんが、Go言語によるAPIサーバの作り方が知りたい人にはその価値があるのでは。