一人ツッコミで考えを整理する

何かアイデアを思いついた時に、メモ帳に書き出して整理する人って結構いると思います。僕もメモ用紙やメモ帳アプリに書いていく事をやっています。

ただ、その時に僕は頭の中で「一人ツッコミ」のような事をする事が多いです。これはアイデアの問題点を見つけるのにかなり有効だと思っているのですが、あまり聞いた事が無いのでここに書いてみます。

(アイデア整理術みたいな物の情報収集はしていないので、似たような事がどこかの本等に載ってるかもしれません)

具体例

続きを読む

HTTP のキャッシュ(その2)

今回は前回に引き続きキャッシュについて。 Expiration モデルについて整理します。


前回の繰り返しになりますが、 Expiration モデルは食品の消費期限に似ています。しかし実際の所、このモデルは以下のように機能が多くかなり複雑です。

  • プロキシサーバーのキャッシュ管理
    • (セキュリティや不安定な通信環境の考慮を含む)
  • クライアントによるキャッシュ制御
  • バリデーションモデルとの組み合わせ


その他、 HTTP/1.0 との互換性等の考慮されている点が多数あり、ボリュームが多くなってしまいます(また正直な所、理解しきれていません…)。


そこで今回はクライアントの挙動から Expiration モデルの基本的なメカニズムの解説をしていきます。

サンプルサイト

実際にブラウザがどのようにキャッシュを行うのか、サンプルサイトを作って試してみました。

続きを読む

HTTP のキャッシュ(その1)

時々、HTTPのキャッシュのメカニズムに関して悩んだり忘れたりすることがあったので整理してみました。

Expiration モデルとバリデーションモデル

HTTP のキャッシュ機構は、 Expiration モデル (主に Cache-Control や Expires を使用)と、バリデーションモデル(Last-Modified や ETag を使用)で成り立っています。

続きを読む

DDD 読書会 #3(前半)

DDD読書会の日記だったはずですが、すっかり解説になっていますね…。まあ、それはともかく。

4章 Isolating the Domain

前回も触れた通り、 Part 2 は良く知られた実装のパターンが紹介されています。

最初の章である4章では、アプリケーション全体の構成に関わる二つのパターンが紹介されています。一つは今回紹介するレイヤー化アーキテクチャです。もう一つの、スマートUI「アンチパターン」の紹介は次回になります。

なお、今回のレイヤー化アーキテクチャや、その他のパターンを使ったプログラムのサンプルが公開されています。実装のイメージのつきにくい人は参考にすると良いかもしれません。

続きを読む