Search This Blog
Wednesday, November 28, 2018
supring kaitaishinsho: supuringubuto2dejissainitsukuttemanaberu (Japanese Edition) review
【後悔しないためのSpring入門書】
あなたが今、この本を手に取っているということは、これからSpringを使った開発をする予定があるのだと思います。私もSpringを使った開発をするにあたり、一通りの本を読みました。ただ、どれも満足するものがありませんでした。その理由は、以下の通りです。
●動かせるサンプルコードが載っていないため、実際の使い方が分からない
他の本でよくあるのが、リファレンス、つまり辞書みたいに説明をしていることがあります。例えば、こういうコードを書けば、DBからselectできるよ、という書き方です。そのような本も必要なのですが、これを実際に動かしてみると、どうやって動かせばいいの?と、なります。なぜなら、コードを動かす前に自分で設定をしたり、仕様を考えなければいけないからです。DBの操作なら、まだ簡単に試せますが、中には試しづらい機能もあります。動かしてみると、思わぬ落とし穴があったりするので結局、試行錯誤の繰り返しになってしまいます。仕事以外にもやりたいことはあるのに、これでは時間を無駄にしてしまうことになります。
●サンプルがあってもごく簡単なもので、実戦では使い物にならない
また、サンプルがあったとしても、すごく簡単なものが多いです。最初はその方が分かりやすいのですが、現場で求められるレベルはその先にあります。応用レベルまで身に付けてはじめて、実戦に出れるのです。
●Springの全てを説明していない
Springは、とても大きいフレームワークで、いくつかの機能毎にフレームワークが分かれています。例えば、セキュリティならSpring Security、Webアプリケーション開発ならSpringBootなど、たくさんのフレームワークがあります。ここで残念なことに、SpringBootの入門書を読んでいると、SpringBootだけの説明をしていることがあります。本格的なWebアプリケーションを開発するには、SpringBoot以外にも、Spring Security、DB操作などについても知らないと開発ができません。結局、他の本も買うはめになってしまいます。
●DI(依存性の注入)の説明がとても分かりづらい
とても残念なことなのですが、他の書籍ではDI(依存性の注入)の説明が分かりづらいことがあります。DI(依存性の注入)とは、Springのコア(土台)となる機能です。これが使えないと、Springを使う意味がなくなってしまいます。
Springはそもそも機能が膨大なので、1冊で説明しきることはもちろんできません。ただ、段階的にきちっと学習すれば、すぐに実戦レベルにまでなれます。
そこで、本書では実際に1つのWebアプリケーションを作成していきます。そうすることで、実戦的なWebアプリケーション開発を体験学習できるからです。
もちろん、ただサンプルを動かせるようにしただけではありません。本書には以下の特徴があります。
【効率的な学習で、1週間で身に付けることも可能!】
効率的な学習方法は色々ありますが、実際にやってみるというのは、効率的に身に付ける方法の1つです。
また、実際に動かしてみることには、他のメリットもあります。それは、自信が付くということです。どういうことかというと、何でも初めてのことは誰だって怖いものです。初めてだと、ちゃんと動くかな?動いたあとも、バグが起きないか、などを心配して行動できなくなることがあります。少なくとも、私はそうです。これが、1回でも体験していると、1回やったから大丈夫!となる訳です。
また、本書で作成するサンプルコードは実戦を想定して作っています。そのため、出来上がったコードを参照・再利用すれば、実際の現場でもすぐに活躍できるはずです。そうすれば、残業とは無縁で、アフター5を楽しめると思います。
1つのWebアプリケーションを作成していくため、順番に読んでいくような構成となっています。例えば、最初は入力チェック、次にAOP、DB操作…というように、段々と機能を追加していきます。そのため、本書は1章から順番に読んでいくことをオススメします。
忙しい方のために、各章のはじめとおわり時点のサンプルコードをダウンロードできるようになっています。こうすることで、途中からでも実際にコードを作っていくことができるようになっています。
【とことん分かりやすさを追及!】
本書では、理解しやすくなるために、色々な工夫をしています。例えば、以下のような工夫をしています。
●図解を多く盛り込む
説明のときに図があるかないかで、理解のしやすさが全く変わってきます。私自身、図がないと分かりづらいタイプの人間ということもあり、図解を多く盛り込んで、理解をしやすくしてます。
●ステップバイステップ
何かを教えたり伝える際には、注意しなければならないことがあります。それは、伝えることは1つにするということです。一度にたくさんのことを言われても、頭がこんがらがってしまいます(私がそうです)。特に、本では文字と図でしか説明できないため、なおさら重要になります。だから本書では、1度に伝えることは1つにしています。その分、説明やコードが長くなってしまいますが、とても理解がしやすくなるはずです。
●事前の説明でゴールを明確に
実際にサンプルコードを作る前に、まずは何を作っていくのかを説明します。例えば、データベースから検索するために、検索条件の入力項目を追加するなどです。画面イメージなどで先に説明したあとに作ってもらいます(もちろん、読むだけでもOKです)。なぜこんなことをするかというと、理解しやすくなるからです。これから何をするんだ?と、ゴールが分からない状態よりも、目的が分かっている状態で作ったほうが理解が深まります。
また、DI(依存性の注入)の説明には、特に力を入れてます。私は、ネットでDIについて調べたり、他書を何回も読み直して、やっと理解できました。そこで、なぜ他の書籍ではDIの説明が分かりづらいのかが判明しました。他書では、Java上級者やSpring経験者向けの説明になっているからです。
だから本書では、Java初心者でも理解できるレベルから、DI(依存性の注入)の説明をしています。もちろん、Java上級者、Spring経験者でも理解ができるようになっています。
【対象読者】
本書を読むにあたって、以下の知識があることが望ましいです。
・Javaの基礎
・HTMLの基礎
・SQLの基礎
あくまでも、フレームワークという道具の使い方について学んでいくだけですので、基礎レベルであれば十分です。
【アプリケーションの構成】
本書で開発するWebアプリケーションは、以下の構成で作っていきます。
・Spring:5系
・SpringBoot: 2.0.4
・DB:H2
本書のサンプルコードは、なるべくバージョンに関係ない、汎用的なコードを載せています。とはいえ、バージョンが上がったことにより、他の書籍などでは分からないこともあります。なぜなら、執筆時点では、SpringBootのバージョン1系でのサンプルが載っているWebサイト・書籍がほとんどだからです。本書では、バージョン2で作っているため、Webの通りやっているのになぜか動かない、ということが避けられます。
また、SpringセキュリティやJDBC、Mybatisなどを随時追加していく構成となっています。
【電子書籍だからこそ】
本書は電子書籍での提供となっています。紙の方がパラパラめくれるので、目的のページをすぐ探しやすいという利点があります。その点に配慮して、本書では各ページへのリンクを多数、貼っています。そのため、目的のページをすぐ見つけることができます。
また、他の書籍ではボリュームがあるため、紙媒体だと結構なお値段になります。本書は、他の書籍と同等のボリュームでありながら、お値段は安めになっています。電子書籍だからこそできるお値段です。
ただし、コード可読性のため、タブレット端末での閲覧をおススメします。
【目次(概要)】
1章 Springの概要
2章 開発環境の構築
3章 Springを試してみよう
4章 DI(依存性の注入)とは
5章 Webアプリケーションの概要
6章 データバインド&バリデーション
7章 Spring AOP
8章 Spring JDBC
9章 例外ハンドリング
10章 Spring Security
11章 RESTサービス
12章 SpringTest
13章 Spring + MyBatis
まずは、本書をお試しください。
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment