seraphyの日記

日記というよりは過去を振り返るときのための単なる備忘録

ここ1ヶ月ぐらいの買った本。

実践ソフトウェアエンジニアリング-ソフトウェアプロフェッショナルのための基本知識-
実践ソフトウェアエンジニアリング-ソフトウェアプロフェッショナルのための基本知識-
品質工学関連本が得意な日科技連から満を持して刊行。



Java2セキュリティプログラミング―基礎概念から実装の詳細まで
Java2セキュリティプログラミング―基礎概念から実装の詳細まで

Javaセキュリティ
Javaセキュリティ

PKI、JAAS関連で調査中に読んでおくべきかな、と思っていた本を、とりあえず遅れ馳せながら購入。



.NETのアプリケーションアーキテクチャ (Patterns & practices)
.NETのアプリケーションアーキテクチャ (Patterns & practices)

.NETエンタープライズWEBアプリケーション開発技術大全VOL.3 (マイクロソフトコンサルティングサービステクニカルリファレンスシリーズ)
.NETエンタープライズWEBアプリケーション開発技術大全VOL.3 (マイクロソフトコンサルティングサービステクニカルリファレンスシリーズ)
.NETエンタープライズWEBアプリケーション開発技術大全VOL.4 (マイクロソフトコンサルティングサービステクニカルリファレンスシリーズ―Microsoft.net)
.NETエンタープライズWEBアプリケーション開発技術大全VOL.4 (マイクロソフトコンサルティングサービステクニカルリファレンスシリーズ―Microsoft.net)
MS本なのでDotNETに特化はしているが、設計にかかる部分なのでJ2EEにもヒントを与えてくれるような気がする。

J2EEからASP.NETへ移行するならMVCモデルはやめておくのが無難。MSはMFCの時代からMVCモデルではなく、BCE(レイヤー?)モデル。ビューとコントローラは実際には一体化しているのが通常であるので妥当性はあると思う。ASP.NETJ2EEMVCモデルを愚直に移植するなら、HttpServletRequest#setAttributeによるモデルデータのビューへの引渡しは代わりにHttpContextを利用し、requestDispatcherのかわりにHttpServerUtility#Transferでビューへ切り替えするのが妥当か。



ゲーム開発者のためのAI入門
ゲーム開発者のためのAI入門
ゲームプログラミングもずいぶんと楽しいプログラミング環境になってきたような感じ。

プログラミングC#言語解説 第3版
プログラミングC#言語解説 第3版
C#は出た当時は少し勉強したが、MSDNライブラリがしっかりしているので言語仕様関連本を買う必然性を感じず、躊躇しつづけて、3年目にしてようやく購入。

超図解 C#ルールブック (超図解シリーズ)
超図解 C#ルールブック (超図解シリーズ)
内容はJAVAにおける「Effective Java プログラミング言語ガイド」に非常に近いかと思う。
が、そこまでは到達していないか。
JAVAであれば不変クラスの使い方・作り方を学ぶのが第一であり、よってデフォルトコンストラクタはJAVA初心者には禁忌みたいなものだが、C++ではデフォルトコンストラクタがないとシリアライズの実装は不可能か。この本でも「可能な限りデフォルトコンストラクタを用意しろ」と書かれているもの、その理由がリフレクションによるインスタンスの生成を可能にするため、という点で「可能な限り?」と疑問符がつく。そのほか、細かい疑問点はあるが、どれもC++/JAVA系の教科書を一通り読んでいれば根拠が何であるかは予想できる。
逆に「ルール」として書かれている根拠、その出典が何であるのかパッと思いつかないのであれば妄信するのはやめたほうがいいだろう。(何についてもいえることだとは思うが。)
つまり、結局のところC#特有のルールは、それわど多くはない。
しかし、JAVAから予備知識無しにC#に移行したとき、たとえば独自例外は、なんの例外クラスから派生させればよいのか?とかの本当に基礎的なルールを手っ取り早く確認できる。
C++/JAVAを知っているC#スターター向け、ということかな。



JavaプログラマのためのUML
JavaプログラマのためのUML
久振りの直撃弾、スマッシュヒットな感じ。どうして、もっと早く買っておくかなかったのだろう?。ユースケース記述は重要だが、ユースケースダイアグラムなんかがんばっても不毛な努力であるとか、UMLはメモ書き以上の価値はない、だとか、「章」のはじまりに端的に要点がかかれていて小気味良い。
(もちろん、UMLを否定しているわけではない。)