Fight the Future

Java言語とJVM、そしてJavaエコシステム全般にまつわること

書籍「現場至上主義 Spring Boot2 徹底活用」をいただき、読み終えました

現場至上主義 Spring Boot2 徹底活用

現場至上主義 Spring Boot2 徹底活用

はじめに

書籍「現場至上主義 Spring Boot2 徹底活用」を、この書籍を編集された会社からいただきました。そちらに、私が過去に執筆した書籍3冊の、編集を担当していただいた方がいらっしゃるからです。そのため、以下の文章に、バイアスがかかっている可能性があります。

この本を読むとよいのは

書籍の「はじめに」に、こうあります。

Spring/Spring Bootを知らない読者には敷居が高い内容かもしれません。

まさにこの通りです。

  • Spring MVCでのWebアプリケーション開発経験がある

というのが、条件となる印象です。

この本のよいところ

Spring Boot 2の本、というより、Spring Boot 2を使ったシステム開発の教科書、となっています。Doma 2とThymeleeafを連携させるだけでなく、扱うトピックの範囲を広げて、ツールやライブラリを扱っています。

  • Docker
  • Swagger / Spring REST Docs
  • Flyway
  • Spock
  • Sphinx
  • Prometheus
  • Kubernates
  • AWS (ECSなど)

そのため、今まで社内や現場など、限られた範囲のシステムしか見たことがないという方には、現在の定石のような構成を、この本1冊で知ることができ、役立つと思います。そして、サンプルアプリケーションのコードが、GitHubですべて公開されています。時代が変わりましたね。私が出版していた頃は、ソースコードを収録したCD-ROMを付録につけていました。

これだけの範囲を扱うので、学べるトピックも幅広く、多くなっています。単にWebアプリケーション内の、たとえばバリデーションやログ出力、ファイルダウンロード/アップロードといったことだけではありません。

  • Web API開発時における、Web APIのインタフェース仕様ドキュメントの生成
  • コンテナを利用したアプリケーションのデプロイ
  • アプリケーションの監視
  • デプロイの停止時間

と、運用時のトピックも多く扱っています。

このように幅広いため、内容のすべてを知っているという方は少ないかと思います。私自身、いくつかのトピックで知らないことがあり、学びとなりました。

この本の気になるところ

この本の気になるところは、扱うトピックの広さの裏返しと言えます。1つ1つのトピックに割くページ数が少なく、加えてコードをかなりの多く掲載しているため、説明文が非常に短いです。それぞれの技術が何であるかを知っていないと、本の内容を理解しづらいように感じました。各技術の使い方を説明するところで、内容が終わってしまっている印象です。書籍全体として伝えたいことが、ぼやけてしまっているのでは、と思いました。扱う範囲をSpring関連のライブラリだけで留めておいた方が、テーマがはっきりして、この本の読者にとってはわかりやすかったのではないかな、と思います。また、文章の日本語が、わかりづらいと感じることもありました。

次に、縦横サイズが大きい書籍ではあるのですが、文字サイズが大きいため、1ページに入っている内容があまり多くありません。コード部分のフォントサイズをもう少し小さくした方が、コードも読みやすく、視線移動も少ないので、よりわかりやすくなったのでは、と個人的には思います。

まとめ

Spring Bootの解説書というよりも、Spring Bootを使ったシステム構築の、1つのケースを解説している書籍、と捉えることができます。この本のケースでは、こういう設計、こういう風に使っている。自分なら、今の現場なら、たしかにこれは同じようにした方がいい、けれどこれはこう変える、これは使わなくていい、といったことを、しっかり考えられる、やはり中級者以上の方向けの本だと思います(もちろん、どんな書籍であっても、鵜呑みにせず、考えて真似をしなければならないのですが)。