現在プログラマ兼アーキなエンジニアが読んだJava的な本

Javaでアプリケーションアーキテクト的な立場になったエンジニアが今迄読んだJava本のリストを晒してみる。
ちなみに老舗SIerの社会人９年目です。

* [10日で覚えるJava](http://www.amazon.co.jp/10%E6%97%A5%E3%81%A7%E3%81%8A%E3%81%BC%E3%81%88%E3%82%8BJava%E5%85%A5%E9%96%80%E6%95%99%E5%AE%A4-%E7%AC%AC3%E7%89%88-%E4%B8%B8%E3%81%AE%E5%86%85-%E3%81%A8%E3%82%89/dp/4798120197)<BR>新人のときにJavaな本ではじめて読んだ本。C言語上がりでとりあえずお作法知りてーんだよ！ってときに読みました。他言語経験者ならこの本で最初の部分は十分かと。

* [オブジェクト指向でなぜつくるのか](http://www.amazon.co.jp/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91%E3%81%A7%E3%81%AA%E3%81%9C%E3%81%A4%E3%81%8F%E3%82%8B%E3%81%AE%E3%81%8B-%E7%AC%AC2%E7%89%88-%E5%B9%B3%E6%BE%A4-%E7%AB%A0/dp/4822284654)<BR>オブジェクト指向ってなんで必要で、なんで皆使いたいのかを知りたかったので読みました。

* [増補改訂版Java言語で学ぶデザインパターン入門](http://www.amazon.co.jp/dp/4797327030/ref=pd_lpo_sbs_dp_ss_1?pf_rd_p=187205609&pf_rd_s=lpo-top-stripe&pf_rd_t=201&pf_rd_i=4797316462&pf_rd_m=AN1VRQENFRJN5&pf_rd_r=0R1MD55YTJMH8SDRJ73V)<BR>誰もが名前で判るクラス名の付け方、役割の実装が知りたくて読んだ本。お恥ずかしいはなしですが、これ以前はデザインパターンなど気にすることはなかったですね〜。中級以上のJavaの本を読もうとするとデザインパターンは当たり前のように出てくるのでとりあえずこの本で慣らすのが良いと思います。

* [増補改訂版 Java言語で学ぶデザインパターン入門 マルチスレッド編](http://www.amazon.co.jp/%E5%A2%97%E8%A3%9C%E6%94%B9%E8%A8%82%E7%89%88-Java%E8%A8%80%E8%AA%9E%E3%81%A7%E5%AD%A6%E3%81%B6%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E5%85%A5%E9%96%80-%E3%83%9E%E3%83%AB%E3%83%81%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89%E7%B7%A8-%E7%B5%90%E5%9F%8E-%E6%B5%A9/dp/4797331623/ref=pd_bxgy_14_img_2?ie=UTF8&refRID=1P6GT61DGAXKXG7V58YZ)<BR>デザインパターンてかマルチスレッドプログラミングの書き方指南書です。業務アプリのプログラマにはほぼ関係のないお話が詰まっています。ただ、内容自体は面白く、読めば実現手段の選択肢が確実に増える良書です。

* [Javaフレームワーク開発入門](http://www.amazon.co.jp/Java%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF%E9%96%8B%E7%99%BA%E5%85%A5%E9%96%80-%E6%9C%A8%E6%9D%91-%E8%81%A1/dp/4797353406)<BR>OSGiなアプリ開発チームに入ったときに読んだ的外れな本。(OSGiがEclipseのフレームワーク開発プロジェクトで作るものだったから読んだのにWEBのフレームワークだった！)
ただ、WEB系のフレームワーク（Strutsとか）がどういう風に書かれているか判る良書です。

* [Spring3入門 ――Javaフレームワーク・より良い設計とアーキテクチャ](http://www.amazon.co.jp/s/ref=nb_sb_noss_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&url=search-alias%3Dstripbooks&field-keywords=spring3&rh=n%3A465392%2Ck%3Aspring3)<BR>WEB開発なんぞやってときに読んだ本。Springを選んだのは世界で一番使われていそうなOSSだったからという理由です。DIなんぞやとかはほぼ書かれていませんが、Springの使い方が網羅的に書かれている数少ない日本語本です。
中身はSpring3ですが4でもほぼ同じです。（SpringBoot使ってなければ）

* [Web API Design - Crafting Interfaces that Developers Love](https://pages.apigee.com/rs/apigee/images/api-design-ebook-2012-03.pdf)<BR>RESTFull Web APIの設計ってどうあるべきなのかが書かれたWEB上に公開されている良書。
WEB APIでサービス構築したときの指南書にしました。
無料です。

* [本格アプリを作ろう！ Androidプログラミングレシピ](http://www.amazon.co.jp/%E6%9C%AC-%E6%9C%AC%E6%A0%BC%E3%82%A2%E3%83%97%E3%83%AA%E3%82%92%E4%BD%9C%E3%82%8D%E3%81%86%EF%BC%81-Android%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%83%AC%E3%82%B7%E3%83%94-Dave-Smith/dp/4844331272/ref=sr_1_2?s=books&ie=UTF8&qid=1450102662&sr=1-2&keywords=android+%E3%83%AC%E3%82%B7%E3%83%94)
読んだというかAndroid開発で傍に置いておいた本。
よくある実装の仕方が80種類載っているので、はまれば調べる工数が激減できるということで買ったんだと思います。実際使えました。
今は改訂版が出ていると思います。

* [Android Security 安全なアプリケーションを作成するために](http://www.amazon.co.jp/Android-Security-%E5%AE%89%E5%85%A8%E3%81%AA%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AB-%E3%82%BF%E3%82%AA%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BE-ebook/dp/B00AEIAF62/ref=sr_1_sc_1?s=books&ie=UTF8&qid=1450102404&sr=1-1-spell&keywords=android+%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%83%AA)
コンシューマ向けAndroidアプリの方式設計をしたときに、どんな脅威を意識して開発するかを知るために読んだ本です。
AmazonだとKindle版しか出てこないけど、紙媒体はもうないのか？？

* [APIデザインの極意 Java/NetBeansアーキテクト探究ノート](http://www.amazon.co.jp/API%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%81%AE%E6%A5%B5%E6%84%8F-Java-NetBeans%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%88%E6%8E%A2%E7%A9%B6%E3%83%8E%E3%83%BC%E3%83%88-Jaroslav-Tulach/dp/484433591X)<BR>APIを提供するということはどういうことなのかが書いてある良書。
JavaのIDEとして有名なNetBeansを作った方の経験が書かれています。
NetBeansを通してJavaの歴史やそのときどきの仕組みについて言及しつつ、四苦八苦した記録が記されています。
昔に戻ることはないですが、歴史を知るのは案外面白いです。
また、レガシーシステムのヘルプやらに放り込まれてしまったときは、古いJava(1.4とか)が相手になるので、昔を知るというのは案外役に立ちます。

## 終わりに
Effecitve Javaって読んだことないんですよね。（潜りと云われてしまう。。）
Kindle本で出るのを待っているのですが・・・。紙媒体で買うかな。

こういうのって需要があるんだ！ということに驚いています。