'sqr'atch-note

ちりはつもれど ちりぬるを

『APIを作りながら進むGo中級者への道』読んだ

techbookfest.org

  • 同人誌だと1000円くらいのイメージだから、本書は2500円もするので、初見ではちょっとびっくりする。とはいえ、本書は500ページを超える大作だし、内容も素晴らしく、値段以上の価値はあると思う
    • 試し読みもあるので、どういう内容か雰囲気をつかめる
    • Go言語の基礎文法を学んで、簡単なWebアプリケーションを作ってみた後に、次はどうすれば良いのか悩んでる場合に非常におすすめ
  • 本書は、ブログサイトのWebアプリケーションを作っていく
    • まずナイーブな実装を行い、それがなぜ駄目なのか、どうリファクタリングしていくかを丁寧に説明してくれているので、初心者にとって非常にありがたい
    • 出版される場合だと、誌面の都合上で言葉を削り、説明をある程度簡略化する必要があると思われるので、ちょっとニュアンスが掴みづらくなるケースもあると思われるが、本書はかなり丁寧に説明してくれている印象がある
    • 機能を拡張してリファクタリングしつつ、最終的には、変更に強いデザインパターンの一つであるクリーンアーキテクチャに従ったコードベースを作り上げていく
      • ただし、本書ではクリーンアーキテクチャについては、詳しく説明はされていないので、もっとクリーンアーキテクチャについて知りたいとなったら、『ちょうぜつソフトウェア』を参照すると良いと思う
  • 他の本書レビューを見ると、本書で使っているgorilla/muxがアーカイブ化されているという記述があり、その時はアーカイブ化されているならgo-chi/chiを使えばいいやと思って特に気にしなかった
    • しかし、最近だとメンテナーが見つかってアーカイブ化解除されているような雰囲気がする(あまり調べていない)
    • とはいえ、gorilla/muxとgo-chi/chiのどちらも標準ライブラリのnet/httpとの互換性があるので、別にどっちを使っても変わらないのがGolangの良さ
  • 去年の同じ頃、クリーンアーキテクチャに関して、言葉は知ってるという程度で『詳解Go言語Webアプリケーション開発』を読んで、実際よく理解できず、その次にもう少し理解しようと『ちょうぜつソフトウェア』を読んだり、Udemyの動画も見て勉強してきたが、やっぱり十分に理解したという感覚は得られなかったものの、今回改めて本書でクリーンアーキテクチャに従ったコードを書いてみて、ようやく理解できたように思う
    • Golangの文法は分かったし、ライブラリを使って、ちょっとしたプログラミングは出来るものの、何かが足りない気がする、というタイミングで本書を読んで、どう書けばより良いコードになるかの設計の考え方が分かったので、そういう意味でタイトル通りの良書だなという感想を抱いた
    • 次はWebAPIの設計について勉強してこうかなーって思っている