Code Readingを読んで、ループ性能(妥当性)に関しての議論を考えるときに、有効な手段があると書いてあった。「バリアント(variant)」と「インバリアント(invariant)」という概念を使う方法だ。「バリアント(variant)」とは、変わりやすいとか変更されるといった意味を持っている。

逆に「インバリアント(invariant)」は、変わらないとか不変なとかという意味を持っているらしい。

この「バリアント(variant)」と「インバリアント(invariant)」を使って、ループ構造が正しいかを証明する方法が、Code Readingの2章に載っていたので、忘れないうちに復習しておきたいと思います。

それにしても、Code Readingは面白いですね。技術者のツボをついた本だと思います。

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

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

11個目はインスタンスを新しく作るときに、既存のインスタンスのコピーを作成するPrototypeパターンのメモです。

タイトル
Javaの哲学
著者
岩谷 宏 (著)
出版社
ソフトバンクパブリッシング
Amazonで購入する

Javaのように仕様が巨大で、生まれながらにオブジェクト指向の言語では、初心者は本質的な部分と付加的な部分の区別が困難で、無駄な努力を重ねがちである。

本書は、そんなJavaの設計思想や「なぜ?」の部分を解きほぐしてくれるものです。著者の独特の語り口「なぜ〜ではだめなんだ?」など、新鮮ながらわかりやすい本です。Javaクラス設計の「なぜ?」を深くまで知りたい方におすすめします。

ネットワーク管理者任せは、もうやめませんか。これからは、開発者がセキュリティを考える時代です。不正アクセス防止のためのWebアプリケーション強化入門。

本書帯

個人情報の流出、重大なセキュリティホールの発見などアプリケーションに求められる堅固さセキュアレベルは非常に高まっています。本書は、プログラマーレベルで対処できるアプリケーションのセキュリティ強化に関して書かれた本です。

タイトル
Webアプリケーション/サービス開発者のためのJavaクラス設計
著者
米川 英樹 (著)
出版社
ソフトバンクパブリッシング
Amazonで購入する

「Webアプリケーションって、なんだろう?」

最近のアプリケーションは、ほとんどがWeb対応になってきています。Webの仕組みは単純ながら奥が深い。モヤモヤした頭を、解きほぐしたいと思っている人に、本書はおすすめです。

Javaの文法を終え、プログラミング初心者を抜け出したいと思っている人、なんとなく、オブジェクト指向でのクラスの作り方がわからない人、Webアプリケーションについては知ってるんだけど、実際何なの?って人達のベースになる知識を幅広く学べます。

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

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

10回目になりました。インスタンスの生成手順や生成内容が複雑な場合に、インスタンス生成作業を軽減するBuilderパターンのメモです。

タイトル
ライト、ついてますか―問題発見の人間学
著者
ドナルド・C・ゴース (著), G.M.ワインバーグ (著), 木村 泉 (翻訳)
出版社
共立出版
Amazonで購入する

「ライト、ついてますか?」

非常に興味深いタイトルの本で、内容はどんなものかと思えば、実は、問題発見・問題解決の本でした。著者のユーモアたっぷりな語り口調で各ストーリーごとに問題を発見する過程、問題を解決する過程を徐々にブレイクダウンしながら解説しています。

タイトル
セキュアプログラミング―失敗から学ぶ設計・実装・運用・管理
著者
マーク・G. グラフ (著), ケネス・R.ヴァン ワイク (著), Mark G. Graff (原著), Kenneth R.van Wyk (原著), 新井 悠 (翻訳), 一瀬 小夜 (翻訳)
出版社
オライリージャパン
Amazonで購入する

本書は、セキュアなアプリケーションを作成する際のバイブルとして、是非とも有効活用して欲しい一冊です。

小手先のテクニックとしての対策では、後手のセキュリティからは脱却できません。セキュリティ対策は先手でこそ意味があるのです。そして、セキュリティの奥深さに興味を持ってください。人間の心の闇が根本原因であることにも気づいてください。

本書推薦の言葉

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

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

9回目は、抽象概念を用いて、関連オブジェクトの集合を作成するAbstract Factoryパターンのメモです。

タイトル
PHPプログラミング入門―PHPによるWebアプリケーション開発
著者
レオン アトキンソン (著), Leon Atokinson (原著), 玉川 竜司 (翻訳)
出版社
ピアソンエデュケーション
Amazonで購入する

PHPは、サーバーサイドスクリプトのひとつで、豊富な関数が標準で備わっているのが 特徴的です。言語は、C言語に非常に似ていて手続き型でプログラミングできます。 最近の風潮で、オブジェクト指向がもてはやされています。PHPはクラスを作成することもでき、 オブジェクト指向でプログラミングできる、非常に優れたスクリプト言語です。