'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との互換性があるので、別にどっちを使っても変わらないのがいい
  • 去年の同じ頃、クリーンアーキテクチャに関して、言葉は知ってるという程度で『詳解Go言語Webアプリケーション開発』を読んで、実際よく理解できず、その次にもう少し理解しようと『ちょうぜつソフトウェア』を読んだり、Udemyの動画も見て勉強してきたが、やっぱり十分に理解したという感覚は得られなかったものの、今回再び本書でクリーンアーキテクチャに従ったコードを書いて、ようやく理解できたように思う
    • Goの文法は分かったし、ライブラリを使って、ちょっとしたプログラミングは出来るものの、何かが足りない気がする、というタイミングで本書を読んで、どう書けばより良いコードになるかの設計の考え方が分かったので、そういう意味でタイトル通りの良書だなという感想を抱いた
    • 次はWebAPIの設計について勉強してこうかなーって思っている