今年度の達成度と来年度の展望@技術面
今年度の達成度
以下のように、「できるだけ広く、かつ重要なところは深く」の方針でカバー範囲を広げたおかげで、一人で実行7,8kのそれなりに複雑なツールを作れるくらいになった。
- APIのコピペでない、きちんとした入門本を読む
- ネットワークプログラミング、並列処理、トランザクションなどのマストな基本事項をしっかり抑える
- JDBCやServlet、JAXP、JAXB、JAX-WS、EJB、JPAなどのJSRを読んだりして、基本的なAPIを体系立ったものとして抑える
- 設計に関する本を読んで、デザインパターン、アーキテクチャパターンを効用まで把握した上で、ナイフやハサミのように、自分のものにする
- Springなどのフレームワークのソースコードリーディングで、実際の一流のライブラリの作りを学ぶ
読んで為になった本
設計
Head First Design Patterns
Design Patternを脳みそに摺り込んで、本当の意味で理解させてくれる良書。しつこいくらい何度も同じ表現が出てくるし、
絵が多いので、内容の割に分厚いが、非常にわかりやすい。
Pattern-Oriented Software Architecture, A System of Patterns
やっつけでない、複雑なソフトウェアを構築するためのアーキテクチャパターンに関して、非常に明快に記述されています。
16年前の古い本ですが、むしろ重要度は上がってる感じ。
エンタープライズアプリケーション アーキテクチャパターン
主にRDBの扱い、分散処理などに詳しく言及されている。
エリック・エヴァンスのドメイン駆動設計
処理をgdgdな手続き処理の羅列ではなくて、再利用性、理解のしやすさ、発展性を考えてモデル化するということをわかりやすく教えてくれる良書。
モデリング以外にも、大規模な開発で起こりがちな自体への処方箋もたくさん載っていて、カバー範囲が非常に広い。
Java関係
プログラミング言語Java
Javaを学ぶためのバイブル。言語仕様や、基本的なライブラリの使い方、Javaの言語の機能を、
オブジェクト指向的に使う例が記述されていたりと、非常に濃い本。
Javaネットワークプログラミング
Socket、URL、RMIなどのネットワークプログラムの基礎知識が、プロトコルの知識や、
スレッド、ストリームの知識から、ぎっちり書かれています。
Java 並列処理プログラミング
JavaのConcurrent Utilitiesの使い方を通して、並列処理プログラミングの知識を
体系的に学ぶことが出来る本。読んでいて面白かったけど、並列処理は、
「ちょっとでもミスったら即死」しそうで凄い怖いことがわかりました・・・。
Spring In Action
「猫でもわかるSpring」的なわかりやすいSpringの入門書。公式のドキュメントは、Obsoleteなもの、
あまり使いそうもないものも含めて、機能の説明が羅列されているだけで非常にわかりづらいので、こういう
「美味しいところだけを体系的にまとめた入門書」はあったほうがいいと思う。
XML
標準講座XQuery
XQueryについて、XMLの成り立ちや関連する標準技術など、幅広く扱っている本。XMLスキーマ、XPath、XQueryの基礎など、
必要なところだけをつまみ食いして読みました。
開発
アジャイルサムライ達人開発者への道
わかりやすいけど、非常に厳しい、アジャイル開発手法について書かれた本。Head First Design Patternと同じく、
「ふざけた写真や絵がいっぱいでわかりやすいけど、印象に残るようにわざとそうしているだけで、
内容は極めて濃くて厳しい」タイプの本。
実用Subversion
「なんとなく」はまずいと思って、一応、前半部分だけは読みました。