タイトル
まるごと図解 最新オブジェクト指向がわかる
著者
河合 昭男 (著)
出版社
技術評論社
Amazonで購入する

「まるごと図解」シリーズは、とても分かりやすく技術を解説してくれます。この「オブジェクト指向がわかる」も例に漏れず、とても分かりやすくオブジェクト指向の世界をのぞかせてくれます。

本書は、オブジェクト指向を現実の世界に落として説明しています。図も多く、プログラミングコードも出てくるので、プログラマにも分かりやすいと思います。

オブジェクト指向をかじったことがある人、オブジェクト指向で飯を食っている人からすると、コレではオブジェクト指向を語っているとは言えないかもしれません。しかし、何も知らない人向けにオブジェクト指向を教える場合、本書のような内容のほうが分かりやすいのも事実だと思います。最初に始めるなら、このレベルからやるのもいいかもしれません。逆に、最初からちゃんとしたオブジェクト指向を学ぶのであれば、小難しい言葉が並んだ分厚い本を選ぶのもいいと思います。

オブジェクト指向でなぜつくるのか』では、本書とはまったく違うアプローチである、「現実の世界との対比、オブジェクト指向と現実とは違う」というところからオブジェクト指向を説明しています。

タイトル
Code Reading―オープンソースから学ぶプログラミングテクニック
著者
トップスタジオ (著), まつもと ゆきひろ (著), 平林 俊一 (著), 鵜飼 文敏 (著)
出版社
毎日コミュニケーションズ
Amazonで購入する

「他人の書いたソースコードを読むことは、最高のプログラミングの勉強になる」。本書の主題としては「他人の書いたソースコードの読み方」ですが、実際には「オープンソースから学ぶプログラミングテクニック」が学べる本となっています。

「読み・書き・そろばん」は昔の寺子屋で学んだ大切なことですが、この「読み」に焦点を当てているのが本書です。読みとは、文献を読んだり調べたりする能力のことです。今では、オープンソースとして公開されている非常に良いコードの部類に入るソースコードがあふれています。

オープンソースを本書と一緒に読み解いていくことで、プログラミング能力が向上することが実感できると思います。ソースコードはC言語で書かれているものが多いので、C言語の知識はあるに越したことはありません。読み進めるのがつらい部分もあると思います。何度も読んで、「ソースコードを小説のように読む」レベルまで達してください (笑)

タイトル
省メモリプログラミング―メモリ制限のあるシステムのためのソフトウェアパターン集
著者
ジェイムズ ノーブル (著), チャールズ ウィアー (著), James Noble (原著), Charles Weir (原著), 安藤 慶一 (翻訳)
出版社
ピアソンエデュケーション
Amazonで購入する

「省メモリプログラミング」、本書はメモリを節約したプログラミングを行うためのパターン集となっています。こういう場面にはこのパターンを適用するとこうなるといったことが載っています。

タイトルには「メモリ制限のあるシステムのための〜」とありますが、実際のところプログラマとして一皮むけたい人は本書のような濃い内容の本を読むのがいいと思います。

本書は、プログラミング歴1〜2年の人ではちょっと難しい内容かもしれません。適用できる場面もすぐにはないかもしれません。しかし、内容的には面白いものが多く、メモリの使い方だけでなくプログラミングの幅が広がることは間違いないです。

タイトル
AspectJによるアスペクト指向プログラミング入門
著者
長瀬 嘉秀 (著), 天野 まさひろ (著), 鷲崎 弘宜 (著), 立堀 道昭 (著)
出版社
ソフトバンクパブリッシング
Amazonで購入する

アスペクト指向を一言で表すなら、各プログラム(モジュール)から共通に利用される機能です。さらに、この機能はさまざまなモジュールにおいて横断的に利用されます。そして、モジュールの機能とは独立しています。

本書

本書はアスペクト指向の概念を全体像を捕らえながら学べます。アスペクト指向の実装には色々あり、その中の一つである「AspectJ」をつかったプログラミングを行うための解説書になっています。

アスペクト指向で使われる専門用語を、例を交えて解説してあり、実際のコーディング例まで載っています。プログラマのための本だと言えます。説明は分かりやすいのに、かなり深いところまで解説してあり、AspectJを学ぶのに本書を読むのはかなり正解だと思います

AspectJはJava言語用のアスペクト指向実装であるので、Javaプログラミングをおこなった経験がある人向けです。AspectJを触ってみたい人、アスペクト指向がどんなものなのか知りたい人は、本書を読む事をおすすめします。

タイトル
Web+DB press (Vol.25)
著者
-
出版社
技術評論社
Amazonで購入する

Vol25 の注目記事は「アーキテクチャ設計入門」です。J2EEをアーキテクチャ設計の勘所をポイントを抑えて解説しています。最近の典型的な4層構造(プレゼンテーション層、サービス層、ドメイン層、永続化層)のそれぞれの設計ポイントがまとめられています。

開発者のためのドキュメント作成の技術」も新人さんや2〜3年目の社員の方におすすめできる内容だと思います。設計書、マニュアル、議事録、提案書、報告書、メール、嘆願書、ポイント集と項目を挙げるだけでも読みたいと思えるようなものばかりだと思います。

Javaプログラミングの○と×」も初心者プログラマの人には楽しめる内容だと思います。どんな点に気をつけてプログラミングを行えばいいかと言ったことが載っていました。

アーキテクチャ設計入門はプログラマ・システムエンジニアの人に是非読んでもらいたい記事です。かなり面白いことが書いてありウンウン納得しながら気持ちよく読めると思います。

大学で、SELinuxの講習会をうけたので、そのメモです。かなり基礎的な部分の説明で、アクセス制御の部分を集中的に教えてもらいました。

セキュアOSと呼ばれるOSの中でも、フリーで手に入るSELinuxは今後かなり注目されそうです。今日は、アクセス制御の仕組みとロールの付与の仕方について勉強しましたが、そのほかにもいろんな機能がある様子。詳しくは、『SELinux徹底ガイド』を読むのが良いらしいです。(宣伝宣伝っと 笑)

セキュアOSとは何ぞやって事とSELinuxのアクセス制御(Type Enforcement)の方法、セキュリティ属性Role-Based Access Control あたりをメモっておきます。かなり適当なメモなので、読むだけだと分からないかも・・・。『SELinux徹底ガイド』買おっかな。

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

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

16番目のパターンは実行可能なアクション(コマンド)をオブジェクトとして扱い、コマンドの詳細をカプセル化するCommandパターンです。

タイトル
Java謎+落とし穴徹底解明
著者
前橋 和弥 (著)
出版社
技術評論社
Amazonで購入する

普通の入門書と違うところ。それは「なぜ?(Why)」を追求するところにあると思います。事実がこうなっている理由を説明しているので、理解できればかなりの力になると思います。

文章の言い回しなど、著者の特徴が非常によく出ているので、好き嫌いが分かれそうです。内容も「仕組み」を理解したい理工系の人向けになっています。基本的な文法などは載っていません。Javaのヒープの使い方、ガーベージコレクションの動作の仕組み、ポインタがないといううそを暴く(Javaはポインタしかない言語だ)など、一般の入門書では解説されていないような観点から本書はできています。

人によって好き嫌いが分かれると思います。人になんでと言われて意気揚々と説明してあげたくなるような技術者肌の人は本書を快く受け入れられると思います。

対象読者は初級者〜中級者。多少Javaの仕組みを知っている人が望ましいと思います。一度の読みですべてを理解するのは難しいかもしれません。何度も読んで完璧に理解すると、Java博士と呼ばれるようになる日も近くなると思います。

タイトル
Java Webサービス
著者
David A.Chappell (著), Tyler Jewell (著), テクノロジックアート (著), 長瀬 嘉秀 (著)
出版社
オライリー・ジャパン
Amazonで購入する

WebサービスSOAPWSDLUDDIというキーワードをすべて網羅した実用書です。JavaでWebサービスを構築する手順、コーディング方法が詳しく載っています。

Java以外の言語を使ってWebサービスを実装する場合でも、本書を使えます。本書の半分以上は、言語によらないWebサービスの実装方法を解説しているためです。例えば、SOAPメッセージの構造はどうなっているだとか、WSDLのこの項目はどんな意味を持つのかといった感じです。

非常に分かりやすい言葉で解説していて、Webサービスを構築しようと思っている人にとっては分かりやすいと思います。逆に、興味程度の知識が欲しい人にとっては、具体的すぎてよく分からないかもしれません。