ゆきのぶ日記
2005/05/22(Sun)
■ まったり日曜日
4088734440 昨日から渋谷のサーバが落ちてしまっていたので,まずは対応。どうやら ADSL モデムがハングってしまったのが原因のようで,無事復活。
その後,調布で研究室な友達とランチ(朝食)。まったりとビザを喰う。なんと以前の魔王が残っていたので,昼間からドラゴンボールを見ながら呑む(一年以上前だけど味はうまかた)。
気がついたらもう夜だったので帰った。魔王とドラゴンボールは残っているから,また行こう。
■ TCP Timestamp PAWS Remote DoS Vulnerability
ふげ。色々と影響を受けそうな予感。古い Linux とか大丈夫だろうか…ダメかも知れないなぁ。もしそうなったら更新時ってやつか。
2008/05/22(Thu)
■ [jiemamy]第一回 Jiemamyインサイド
Java も DB もあまり詳しくなく、ER 図で DB を設計した事なんてないけど、楽しそうだったので、
Jiemamyインサイド for contributors - 都元ダイスケ IT-PRESS
に行ってきた。
今回は第一回なので、あまり予備知識はいらないと言う話を聞いていたような気がしたけど、最初からなかなかコアな話だった。
少し遅れてしまったことあってかか、最初は何の話をしているのか不明だったけど、たぶん Model と言うのが ER 図における GUI パーツなんだろうと理解してからは、スムーズに飲み込めた。
- C++ で Win32 GUI アプリケーションを作っていた頃を激しく思い出すことができた。あの頃、GUI 上の表現と内部データをいかにスムーズに同期させるかは、大きな問題だった。
- MFC ライブラリや VCL ライブラリによって C++ のクラスとして実装された Windows コントロールの数々は、外から見る限りにおいては、その問題を見事に解決していたと思う。
- VCL だと CheckBox1->Ckecked = true; とかすると GUI の状態が変化したし、CheckBox1->Ckecked を参照すれば常に GUI の状態と一致した値を取得することができた。単なる bool 値ではなく、イベントとのセットになっているものだった。
- Jiemamy でも同様の問題を抱えているようだった。setter/getter をちゃんと作れば解決できる問題ではあるんだけど、setter/getter の数が多くなるし、Collection 中の特定の要素だけを変更する場合においてはさらに面倒になり、あまり美しくない。
- 解決策としては、VCL ライブラリの TListView 型や TTreeView 型の実装を参考にするのが良いんじゃないかと思った。ソースは Pascal だったと思うので読んでないけど、たぶん TListItem や TTreeNode 型は自分が所属する TListView や TTreeView に対してイベントを通知する機構を持っているんだろう。
- 具体的には、Collection に対して Proxy パターンを適用して、ラッパを作るようなイメージ。ウマくいくかどうかは、やってみないと判らないけど。
(他のことは後で書くかも知れない)