本書は、TCP/IPの仕組み、WWWで使われている技術、ネットワーク構築のノウハウの解説を集めたムックになっています。もともと『NetworkMagazin』 で紹介されていた記事を集めたものになっています。

(※ ちなみに、ムックとは「雑誌(Magazine)」 + 「本(Book)」 = 「ムック(Mook)」 のことらしいです。 ざっしパークとは

本書のおすすめポイントは、TCP/IP の仕組みについてかなり詳しく解説されている点です。TCP/IP なんて、普段はあまり意識していないと思います。Windowsならネットワーク設定できるけど、UnixやLinuxになるとちょっと設定できませんという人もいると思います。

本書は、TCP/IP とは何かというところから、通信ではどういった情報を送っているのかをパケットレベルで解説しています。さらに、ルーティングプロトコルについてや、DNSの名前解決の仕組みなども解説されています。

WWWの技術にも触れられていて、まあ、ネットワークを知っている人なら知らないことはないというくらいの軽いものです。他には、パケットを調べるツール(Ethereal)の使い方や、進入検知システム(Snort)の解説がされています。

僕がおすすめなポイント2点目は、ネットワーク設計のノウハウがまとめられている点です。目的別ネットワーク設計のノウハウということで、近年要求されているネットワークに対する無理難題をどうやって解決するかと言うことがまとめられています。

Velocity を内部で使っていて、テンプレートモデルで、ページを作成します。

ここでは、Click の覚書きをしておきます。あくまで個人用なので、あてにしないようにお願いします。間違い等発見された方は、ご連絡いただけると助かります。

使用バージョン
  • version Click 0.1.8

Clickはドキュメントがしっかりできているので、ドキュメントを読むのが一番です

参考

JTA(Java Transaction API)

 JTA の UserTransactionは通常JNDIから取得する必要がある。これは、JTAを使うのに、JNDIとJTAの両方を一緒に使う必要がある、ということだ。JTAが通常はアプリケーションサーバ環境でしか使えないので、グローバルトランザクションはアプリケーションコードの再利用性を制限するのは明らかだ。

タイトル
超図解 C#ルールブック 超図解シリーズ
著者
電通国際情報サービス (著), ISID= (著), エクスメディア (編集)
出版社
エクスメディア
Amazonで購入する

C# におけるコーディングルール、コーディングスタイルをまとめた本です。

  • ネーミング全般
  • ネームスペース
  • クラス・インターフェース・構造体・列挙型・メソッド・プロパティ・デリゲート・イベント・パラメータ・変数に関するネーミングルール
  • コーディングルール全般
  • メトリクス
  • フォーマット・コメントの書き方・クラス・列挙型・メソッド・プロパティ・イベント・変数に宣言の仕方やコーディングスタイル
  • 継承・演算子のオーバーロード・インスタンスメソッド・制御構造・文字列操作・数値の取り扱いルール
  • 例外・ガーベージコレクション・属性・アンマネージドコード・ファイル構成・キャスト・その他に関してのコーディングルール

が解説されています。

オールカラーページで、基本的に一ページ一解説になっています。説明書にはコーディング例もついていて、理解しやすいです。C#は、C言語の流れを汲む言語で、さらに Windows の理念が含まれています。メソッド名のルールやオーバーライドの仕方もJavaとは違います。Javaとの比較という形ではかかれてはいませんが、Java言語を知っている人であれば、頭の中で比較表が簡単につくれるのではないでしょうか。

タイトル
Write Great Code〈Vol.1〉ハードウェアを知り、ソフトウェアを書く
著者
Randall Hyde (著), 鵜飼 文敏 (翻訳), まつもと ゆきひろ (翻訳), 後藤 正徳 (翻訳), トップスタジオ (翻訳)
出版社
毎日コミュニケーションズ
Amazonで購入する

普通のやつらの下を行け」。最近は、プログラミング言語が発達し、低レベルな層のことを考えなくてもコーディングができるようになってきました。もちろん、アセンブラやC言語をバリバリ使いこなして、ハードウェアに近いところの制御プログラムを書いている人もいることは分かっています。でも、低レベルな層をちゃんと理解してコーディングを行える人はどれくらいいるのでしょうか?

本書は、『Write Great Code-Understanding the Machine』の日本語版となっていて、主にコンピュータの基礎知識、さらに言うと、プログラムがコンピュータで実行される部分、に焦点を当てた本となっています。

グレートなプログラムを書くためには、どうやってプログラムが動くのかを知っている必要があります。本書は、低レベルの層の知識を勉強したい人、コンピュータに興味があるが大学で詳しく学ばなかった人、いまさらながらコンピュータの仕組みを理解したい人におすすめです。

タイトル
エンタープライズ アプリケーションアーキテクチャパターン
著者
マーチン・ファウラー (著), 長瀬 嘉秀 (監訳), 株式会社 テクノロジックアート (翻訳)
出版社
翔泳社
Amazonで購入する

本書は、業務アプリケーションのアーキテクチャパターンをカタログ化したパターン本です。アーキテクチャ設計において考えなければならない必須要素(下記箇条書き)に関して、例を示しながら説明しています。

  • レイヤ化
  • プレゼンテーション層の構築
  • ビジネスロジック層の構築
  • インテグレーション層(O/Rマッピング)の構築
  • 分散環境に関するパターン
  • セッションステートパターン
  • 基本パターン

アーキテクチャは開発者の実作業に大きな影響を与えます。良いアーキテクチャは、システムに要求されている事柄を容易に構築できる環境を提供します。悪いアーキテクチャは一つのことを成し遂げるのに苦労を伴います。

良いアーキテクチャか悪いアーキテクチャかというのは、設計の良し悪しで決まることもありますが、ほとんどはそうではないと思います。アーキテクチャの良し悪しは、そのアーキテクチャの使いどころがぴったりはまっているかどうかだと思います。

本書は、それぞれのアーキテクチャパターンの長所・短所、使いどころ、使用上の注意などがまとめられています。初めてアーキテクチャ設計に携わるような開発者に是非とも読んでもらいたい一冊です。

タイトル
失敗百選 41の原因から未来の失敗を予測する
著者
中尾 政之 (著)
出版社
森北出版株式会社
Amazonで購入する

本書は、過去いろいろな原因が元で失敗した事例を178とりあげ、失敗の原因を41個にまとめあげたものです。「人は誰でも同じような失敗を犯す。」その原因は実はたったの41個に分類できるのです。

親はいつも「道を飛び出したら危ない」と子供を注意する。上司は「今はあのときの景気の潮目と似ている」と部下に警告する。なぜならば、注意する自分も同じような失敗をしたからである。それならば、その「同じような」「あの時と似ている」という失敗を列記して分類できないだろうか。分類された失敗群を暗記できれば、失敗予知能力が高まるはずである。

本書 まえがき

失敗は買ってでも学べ。大先輩にこう言われたことがあります。失敗は起きないと学べない。でも、自分で失敗するのはマイナスになる。だから、人の失敗を見て自分は学べ。というのです。

本書は、過去に起こった178の失敗事例を元に、たったこんな間違いが大きな事故につながったということを説明しています。その原因は41種類に分類され、今後私たちが生活していくうえで必要な予防策になってくれるはずです。

本書は、コンピュータに関する本ではありません。単純なビジネス書というのとも違うと感じました。どちらかといえば工学系の事例が多いです。失敗の大切さを理解している人におすすめです。

Hibernate は O/R マッピングツールと呼ばれる、リレーショナルデータベースとオブジェクトモデルとの間を埋めるフレームワークです。

リレーショナルデータベースとオブジェクトモデルとのミスマッチには、下記のようなものがあります。

  • オブジェクトの粒度に関する問題
  • サブタイプ(継承)に関する問題
  • オブジェクトの同一性(識別子)に関する問題
  • オブジェクト同士の関連に関する問題
  • オブジェクトの検索に関する問題

Hibernateは、このようなミスマッチを解決する方法を提供します。

リレーショナルシステムにおけるテーブル形式のデータ表現は、オブジェクト指向のJavaアプリケーションで使用されているオブジェクトのネットワークとは根本的に異なっている。この違いが、いわゆるオブジェクト/リレーショナルパラダイムのミスマッチだ。

『Hibernate イン アクション』はじめに より
タイトル
暗号と認証 基礎から身につくネットワーク技術シリーズ
著者
日経NET WORK (編集)
出版社
日経BP社
Amazonで購入する

インターネットが一般に普及し、ネットワークを使う機会が増えてきました。銀行の残高を確認するのにもインターネットを使うことができるようになって、セキュリティに関する問題も多くとりだたされています。

本書は、ネットワーク技術(主にセキュリティに関する技術)の基礎を解説したものです。タイトル(『暗号と認証』)が示すとおり、暗号化と認証の仕組みに焦点を絞った解説が行われています。

暗号化の目的はたった一つ、暗号の解き方を知らない第3者に内容が分からないようにすることです。クレジットカードの番号が誰にでも分かるようにネットワークを流れたら、知らない人に勝手に使われてしまって大問題です。

もう一つの話題である認証も、目的はたったの一つです。相手に自分は本物だと認めてもらうことです。ネットワーク上では、データの送信者が本当に認められた人かどうかを判断することは難しいのです。

本書は、暗号と認証について基礎から分かりやすく解説されています。暗号化の仕組み、暗号化技術の中身を丁寧に解説しています。また、認証を正しく行う方法について、詳しく丁寧に書かれています。

ネットワークについてはあまり知識がない人に、本書はおすすめです。

タイトル
ソフトウェアパターン入門―基礎から応用へ
著者
パターンワーキンググループ (著), 羽生田 栄一 (監修)
出版社
ソフトリサーチセンター
Amazonで購入する

ソフトウェアパターンと聞いて何を思い浮かべますか?デザインパターン?アナリシスパターン?アーキテクチャパターン?このどれも本書でまとめられています。『ソフトウェアパターン入門』と題されていますが、その中身は非常に広範囲にわたっています。ソフトウェア開発の組織に関するパターンもまとめられています。

本書は、ソフトウェア開発におけるパターンと名のつくもののまとめ本です。詳しく知りたい場合は本書にまとめられている別の書籍へのポインタを利用することができます。

本書の執筆はパターンワーキンググループの方たちが行っています。著者がそれぞれ違うので、章の深さや切り口が様々です。それでいて非常に上手くまとめられているため、パターンという言葉に疲れてしまった人、頭がゴチャゴチャしている人におすすめの一冊です。