タイトル
はじめてのJSF―Web開発を変えるJavaフレームワークのすべて
著者
若尾 正樹 (著), 田添 英一 (著), 三浦 圭司 (著), 神山 淑朗 (著)
出版社
日経BP社
Amazonで購入する

本書は、JSFフレームワークがどんな流れで処理を進めていくのかがよくわかるので非常に初心者向けだと思います。実際、僕が最初にJSFをやることになって、いろいろと書籍を見た中では、フレームワークの流れが一番よくわかる本だと思いました。

JSFにはライフサイクルというものがあり、6つのフェーズからできています。この6つのフェーズ(Viewの復元・リクエスト値の適用・入力値の検証・モデル値の更新・アプリケーションロジックの呼び出し・レスポンスレンダリング)のそれぞれに関してフレームワークがどのように処理を進めていくのかを、丁寧に解説しています。

JSFは、これから使われてくる技術であり、これからのWebアプリケーション開発を変えてしまうものだと思っているので、本書を元に流れを理解しておくと、今後のJSF旋風に飲み込まれた時に役立つと思います。

タイトル
オブジェクト脳のつくり方
著者
牛尾 剛 (著), 長瀬 嘉秀 (著)
出版社
翔泳社
Amazonで購入する

オブジェクト脳、略して『オブ脳』の芽生えはエンジニア人生の転機となる。と本書のカバーに書いてあります。最近のシステム開発の現場でオブジェクト指向という言葉を聞いたことが無い人はいないと思います。組み込みの業界でさえオブジェクト指向を取り入れた設計・実装が行われています。

本書は、エンジニアに必須の知識となった『オブジェクト指向』を理解するための要領本です。本書を読めばきっとあなたにもオブジェクト脳が芽生えることでしょう。オブジェクト脳を持った人は、プログラミングの要素をオブジェクトとして捕らえます。

オブジェクト指向を学ぶ理由なんて何でも良いんじゃないですか?「周りがやっているから自分もオブジェクト指向を身に付けたい」という理由でもいいと思います。どんな不純な動機でも本書を読めばオブ脳の芽が生えてくるのですから。オブジェクト指向を学びたいという人に、おすすめです。

タイトル
Cygwin+CygwinJE-Windowsで動かすUNIX
著者
佐藤 竜一 (著), いけだやすし (著), 野村直 (著)
出版社
アスキー
Amazonで購入する

CygwinはWindows上にUNIX環境を構築することを目的としたソフトウェアです。一昔前では、まだまだ実用で使えるレベルではなかったのですが、最近では非常に安定していて、とても使いやすいツールになっています。

本書は、CygwinをWindows上で使う場合に問題となりやすい「日本語化」を重点的に解説しています。独自のパッケージを付属のCD-ROMからインストールすることで、Cygwin上で日本語環境を簡単に構築・運用できるようになっています。

日本語環境を整える方法の他、XFree86を利用してCygwin上で X Window System を起動させる方法も解説しています。コマンドリファレンスも載っていて、本書一冊で非常に心強いです。

本書は、あくまでWindows上でCygwinを使う方法を解説しているので、UNIXの基本的な使い方等は別の参考書を利用する必要があります。本書の対象読者は、WindowsとUNIXを使い分ける必要があり、手軽に環境を整えたいという人だと思います。こういった解説本としては、なかなか読みやすく、良書のように思います。

これからオブジェクト指向をはじめる人に、超おすすめの一冊です。本書のサンプルはC++言語で書かれていますが、Javaで開発を行っている人も敬遠しないでください。ところどころに実装依存の話も出てきますが、全体的に抽象度が高いです。にもかかわらず読みやすく理解しやすく、楽しいのはなぜなんでしょう?

オブジェクト指向とはなんだというところから、どんな考え方が本当のオブジェクト指向なのかを気づかせてくれる、非常に秀逸な本です。繰り返し繰り返し要点を述べてくれるので、頭に残りやすいです。また、最後まで読みきれば、C++言語に関する一通りの文法も学べてしまう一石二鳥の内容となっています。

是非、オブジェクト指向をこれから始めるという方に、オブジェクト指向をもう一度勉強したいという人に読んでいただきたい良書です。自身を持っておすすめします。

タイトル
UMLシステム設計実践技大全―アッと驚く達人の技
著者
テクノロジックアート (著), C&R研究所 (著), 橋本 大輔 (監修), 長瀬 嘉秀
出版社
ナツメ社
Amazonで購入する

タイトルは別として、UMLに関しての一般的な知識とある程度の使いどころを理解するには良い本だと思いました。全体的に絵や表をたくさん使っていて、UML初心者には非常にとっつきやすいと思います。ただ、タイトルの『アッと驚く達人の技』や『実践技大全』といった部分に引っかかったUMLの知識のある人には、少し物足りないかも知れません。

本書はUMLをシステム開発の現場で使うための最初の一冊です。ユースケースの意味や使いどころ、クラス図の描き方や注意点、シーケンス図の流れやワンポイントなど、それなりに使える知識が載っていました。

タイトル
逆引きサーブレット&JSPリファレンス
著者
日立ソフトウェアエンジニアリングインターネットビジネス推進部 (著)
出版社
技術評論社
Amazonで購入する

本書は、技術者必携の辞書の役割を十分果たしてくれるハンドブックです。「やりたいこと」から「実装方法」を導くためのサーブレット&JSPの開発者のための本となっています。

僕が本書をおすすめする理由は、良くある参考書と違って、クラスやメソッドの一覧が掲載されていないところです。本書の役割は、開発現場ですぐに使えるリファレンスだと思っています。開発現場に一冊あれば、サーブレット初心者の開発者から中級開発者まで広く利用できると思います。

見出し、目的、ポイント、説明、サンプルコード、関連項目、仕様書の対応部分の7パートで一つのトピックを扱っています。不要な説明は極力省き、すぐに使える点が非常に魅力的な一冊です。

タイトル
ユースケースの適用:実践ガイド
著者
ゲリ シュナイダー (著), ジェイソン ウィンタース (著), Geri Schneider (著), Jason P. Winters (著), 羽生田 栄一 (著), オージス総研 (著)
出版社
ピアソンエデュケーション
Amazonで購入する

実際のソフトウェア開発を行う上で、「ユースケース」をどのように作り上げていけばいいのかということが、ケーススタディを進める感じで学べます。RUPという開発プロセスに従ってユースケースの最初の一歩から、設計の前までをわかりやすくまとめてあります。190ページ弱という結構量が少ない中、ユースケースの色々な使い方、ドキュメントのまとめ方が書かれています。

今まで読んできた中で、ユースケースについて書かれている本でこの本ほどわかりやすいと思えたものはまだないです。

デザインパターンとは、システム設計におけるクラスやインターフェースの関係に名前をつけたものです。 GoFの23のパターンが有名です。デザインパターンというのは、どんなパターンなのか、パターンの目的は何かということを覚えることが非常に重要なのですが、これを実際に適用しようとした場合に、いつ適用していいかが見えてこないとお話になりません。

そこで、自分の勉強も兼ねつつ、パターンの実践時における使用場所や、パターンを適用するきっかけを見つけられるようにメモしておきます。

14番目のパターンは観察対象の状態が変化を通知しそれに沿って処理を行うというObserverパターンのメモです。

デザインパターンとは、システム設計におけるクラスやインターフェースの関係に名前をつけたものです。 GoFの23のパターンが有名です。デザインパターンというのは、どんなパターンなのか、パターンの目的は何かということを覚えることが非常に重要なのですが、これを実際に適用しようとした場合に、いつ適用していいかが見えてこないとお話になりません。

そこで、自分の勉強も兼ねつつ、パターンの実践時における使用場所や、パターンを適用するきっかけを見つけられるようにメモしておきます。

13番目は唯一性を保証するSingletonパターンとは別の方法であるMonostateパターンのメモです。

タイトル
オブジェクト指向設計の原則
著者
ロバート・C・マーチン (著), 瀬谷 啓介 (翻訳)
出版社
ソフトバンククリエイティブ
Amazonで購入する

「アジャイルソフトウェア開発の奥義」を読んで第二弾。オブジェクト指向設計の原則に関するメモです。自分で読んで思い出せるくらいの内容しかメモってないと思われるので、もっと詳しい解説が欲しければ本書を買ってください。

本書には、クラス設計の原則として5つの原則が載っています。

  • 単一責任の原則 (The Single Responsibility Principle: SRP)
  • オープン・クローズドの原則 (The Open-ClosedPrinciple: OCP)
  • Liskovの置換原則 (The Liskov Substitution Principle: LSP)
  • 依存関係逆転の原則 (The Dependency Inversion Principle: DIP)
  • インターフェース分離の原則 (The Interface Segregation Principle: ISP)

パッケージ設計の原則として次6つの原則が載っています。

  • 再利用・リリース等価の原則 (Resuse-Release Equivalency Principle: REP)
  • 全再利用の原則 (Common Resue Principle: CRP)
  • 閉鎖性共通の原則 (Common Closure Principle: CCP)
  • 非循環依存関係の原則 (Acyclic Dependencies Principle: ADP)
  • 安定依存の原則 (Stable Dependencies Principle: SDP)
  • 安定度・抽象度等価の原則(Stable Abstractions Principle: SAP)

プログラマのためのJava設計ベストプラクティス』という本にも、オブジェクト指向設計の原則に関しての解説があります。