2006-02-01 雑記
■tDiary Ruby
hatena_style.rb いじってみる。
Rubyのソースを真面目に読んだり書いたりするのはこれが初めてだけど、面白い。
デスクトップリファレンスとか、Rubyの本とか読みながら思っていた「理に適っている」という感覚。
こうやりたいんだけどどう書くんだ? と思ってリファレンスにあたると、あぁ、なるほどと思う。そんなときに「こうなるのか、面倒だな」と思う局面が少ないというか。
クラスやメソッドの宣言も"文"なので、それを利用する側がソースの後ろの方に来るというスタイルになることはあまり好きではないかも。ま、これは別に大きな問題にすることではないわな。
むしろ、呼び出し関係を木構造で表現したとして、その帰りがけ順にコードを読まされることになるわけでこちらの方がいいのかも、とも思い始めているし。
主に参照しているのはこの2冊。ありもののソースをいじる分には十分かと。
2006-02-02 雑記
■mimetex
コンパイルして家のサーバに入れてみる。
アンチエイリアスがかかっていて、はてなダイアリー上のそれ(tex記法を書いた時に出てくる画像)よりも見た目きれい。(-DAA オプション指定)
はてなダイアリーの方は多人数で同時アクセスしてくる可能性があるから、負担を下げるためにコンパイルオプションでその機能を切っているのだろうな。(-DGIF オプション)
■negativeな回答の価値
どこからツッコミをいれようか? どうフォローしようか? そのとっかかりが無い質問。
「はてな」のサービスの様に、検索エンジンに内容のキーワードが引っかかる様に出来る言語はhtmlでは無いと聞きます。
いったいどんな言語ですか?
http://www.hatena.ne.jp/1138817782
これが掲示板や無償の質問回答システムなら、
質問の意味が全然判りません。
「聞きます」という相手が人ならばもう一度話を聞き直してきて下さい。
そうでなければもう一度勉強するべきです。
みたいな質問自体を無効にする negative な回答がついて、質問者は(いったん)退場するだろうけどね。
はてなの出発点は「初心者*1に優しい場を提供する」だったのだろうけど、何を聞きたいのかが全然整理できていないような質問が「放っておかれる」状況も良くないなぁ。
最初に挙げた質問で理解できない点。
- 『「はてな」のサービスの様に』 比喩(代表例)として『「はてな」のサービス』なるものを想定しているようだけど具体的には?
- 『検索エンジンに内容のキーワードが引っかかる』 「内容のキーワード」って何? また、「検索エンジンに〜引っかかる」というのが、クローラによって回収される、という意ならページ内のキーワードで検索できて当たり前。「検索エンジンに〜引っかかる」というのが、検索エンジンでヒットしてくる、という意ならそのページがクローラによって回収される様になるという意味になるが……。
- 『引っかかる様に出来る言語』 この言語は何を指すのか? 日本語/英語……なわけはない。最初に『「はてな」のサービスの様に』とあるから日本語だろう。コンテンツ記述言語? htmlだな。プログラミング言語?
- 『htmlでは無いと聞きます』 誰にどう聞いたの?
――1文まるごと理解できないよ。ニュアンスを想像することはできる(どんな風に聞いてどう解釈したかがトレースできる)けどね……。
*1 ここでは、まだ関連情報を収集していない人、の意味。「ネット初心者」の様な使い方ではなくて。
2006-02-03 Amazon書評の削除
■上遠野浩平のあれらのシリーズのあの建物
最近ブギーポップシリーズをランダムに読み返しているのだけど、しずるさんシリーズやペイパーカットシリーズに出てくるあの建物。
にも出てきているんだ、ということが確認できた。
それだけ。
■平成ガメラ3部作
このところ平成ガメラ3部作を順番にBGVにかけている。
ほとんど画面は見てなくてサウンドを聴いているだけだが。
ガメラ3のラストの戦いは圧巻。京都駅というロケーションを上手く使って怪獣の目線と人間の目線を近いところに収めるという画面構成が、今までの怪獣映画の大きな欠点を克服している。
ガメラ2もすごく良い出来だけど(大人の鑑賞にも耐えうるSF作品)最後のvsレギオンのシーンになると、人間がその場にいられない状況になって怪獣vs怪獣という画面構成になっちゃうのが唯一残念だった点。それをガメラ3は払拭している。
■スパイラル
再読。3日ぐらいかかったけど。
大筋について再度把握のため。3回目はディティールの確認だろう。
最終回の1つ前が白眉だなぁ。
■Amazon書評の削除
Amazonの書評が削除された、って話は他でも読んだことがあるけどどこだっただろうか? 高木さんは初めて書いたと言っているので高木さんのところではないらしい。
Amazonは本を買って欲しい立場なので、その本の商品価値を無くする様な書評は削除されてしまう、らしい。前に見たのはある時点まで存在していた書評が削除された、という話題だったはず。
問題なのはその検閲のタイミングとか削除する/しないの意志決定の基準なわけだが……。
あ〜。だれが書いていたんだっけ?
1月14日の日記を書いた後、amazon.co.jpの当該書籍に書評を投稿した。amazonの書評の投稿は初めてだったので、レビューガイドラインを読みながら書いたのだったが、残念ながら採用されなかったようだ。
高木浩光@自宅の日記 - 掲載されなかったamazon書評, JVNはやっぱり駄目
2006-02-04 スパイラル
■スパイラル
スパイラルについて語りましょうか。
もちろんこれを読む前に最終回までの展開を知っていないと……後悔するだろう。
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
さて、13巻〜14巻あたりで登場人物がどうも混乱しているみたいなのだけど、鳴海清隆が全ての運命を紡いだわけではないのだよな。15巻に入っても歩の台詞に清隆と書いて運命とルビを振っているところがあったりして、その辺は当事者故の混乱なのだろうか。*1
鳴海清隆が気が付いた時には、盤面上に全ての駒が配置されていてそれらの駒がどの様に動くのかが見えていたのだろうな。それで、どの様に駒が動けば盤上から自分を弾き飛ばせるか? を考えたのだろう。そして確実にそう駒が動く様にするために、情報を隠蔽し、時には開示してきた。そして全ての駒を盤上から一掃することを望んだ。
でも、駒を用意したのは鳴海清隆では、ない。
で、鳴海清隆が唯一自分で用意し、盤上に乗せた駒。結崎ひよの。
それが鳴海清隆の負けを決定づけることになるわけだ。今手許に無いので確認はできないが、13巻か14巻あたりに「盤上にきれいに全ての駒が並べられている」といった様な台詞があったはず。その時に結崎ひよのは? と思ったので、最終巻で決定的な何かを担う役として彼女がいる、ということは想定していた。それでも結崎ひよのが、鳴海清隆が最後に歩に絶望を与えるために初めから用意されていた、つまりは架空のキャラクタだということは全く想像できなかった。
いや、図らずも鳴海清隆が言った様に「ロジックにおいては限りなく黒と理解してもそれを心の底では拒否するよう」になっていたのだろう。それを人は「自己欺瞞」と呼ぶ。面白いことに、私は、心から楽しみたい作品については自己欺瞞が働く様にできているらしい。後から考えるとなんでそんなことに気が付かなかったの? という単純なことに気が付かないことがある。どうにもお得な機能が自分には備わっている。
閑話休題。
結崎ひよのは架空の人格で、「彼女」の本当の名前はついに判らずじまい。なのでどう呼べばいいのか困るのだけど、それが明かされなかったことは興味深い。もっとも物語的には当たり前なのだ。歩が「彼女」の正体を調べることなどするはずも無いし、清隆や、ましてや「彼女」自身に尋ねることもありえない。歩にとって「彼女」は失わなければならない存在、なのだから。
最終巻の展開のうち(最終話を除いて)ほとんど全ての事象を歩は予想していたと思う。だけど、鳴海清隆との対面の後に「彼女」が現れるというのは意外だったのではないだろうか?
そのシーン以前の歩はあらかじめ決めていた台詞を口にしている様に見えるのだけど、「彼女」との最後の会話だけはその場で言うことを考えている様な、そんな感じがする。
そしてその会話がとても切ない。
「……と言ったら信じてくださいますか?」と、疑問形で言葉にしたのはなぜか?
「言わなかったか? 俺は何も信じないって」と、同じく疑問で、過去に口にした台詞で問い返さなければならなかったのはなぜか?
そこで、疑問の形にしなかったなら、真実になってしまう。真実にしてしまったら、歩は「彼女」という支えを得てしまう。
だけど歩は――歩の示した希望を現実にするためには――いかなる支えも手にしてはいけない。
だから二人とも疑問の形でしか口にできなかったのではないか。と考えると、とても切ない。
「彼女」も「結崎ひよの」も、そのどちらもが「あらかじめ失われた存在」で、つまりは失われることで初めて存在していたことになるという――あぁ、わけが判らなくなっているけど押井守がトーキング・ヘッドで示した「不在の存在」ってこういうものなのではなかろうか、などと不意にあらぬ方向に思考が跳んでいって――フェイド・アウト。
追記(2006/9/15)
単行本が全部揃った。結局買い集めることになったか。
さて。
いつまでも「結崎ひよの」の名前を覚えない歩くんとか。
13巻の火澄くんの台詞、
歩のタイプって外見かっこいいけど
中身意外にかわいらしい
年上の人やろ?
とか。
最終刊の「彼女」が泣くシーン。なぜ声を押し殺しているのか? とか。
……あぁ!
*1 ただ1人、歩だけは「清隆」と「運命」を同一視してもいいのかも、と思い直したので、取り消し。
2006-02-05 AppleIを作ろう
■google reader侮り難し
ページの一番下までいって、そこでもう一回スペースキーを押すと次のエントリに移って画面スクロールして一番上にいく。
スペースキー連打でエントリを全部読めるということ。
やっぱり、aggregatorよりもreaderの名前が合う。
追記
Shift+Spaceで一つ前のエントリに移るんだ。抜かりがない、というか。
■AppleIを作ろう 再び
昔見たニュース、
アップルIのレプリカを総額100ドル程度の部品を使って組み立てる
『アップルI』を自作してコンピューターの基礎を学ぶ本
の本。
Amazonで取り扱っていた。
アメリカのショップからのマーケットプレイス販売もあり。
2006-02-06 藤原京
■マクロを作る
「秀丸マクロを作る」「Vzマクロを作る」という表現には違和感がないなぁ。
検証のない仮説だけど、他のエディタ(上に挙げた秀丸やVzとか)から移った人が「Emacs Lispを作る」という表現をしているとか?
Webページを見ていると、Emacs Lispのプログラムを作ることを指して、「elispを作る」や「Emacs Lispを作る」、あるいは作ったEmacs Lispのプログラムのことを指して「elisp」や「Emacs Lisp」と書いているのをときどき見かけるのだが、これは何故なのだろうか?他の言語、例えばJavaやRubyのプログラムを作ることを指して「Javaを作る」、「Rubyを作る」とは言ったりしないと思うのだが。
Onion開発日記(2006-02-05) 「elispを作る」?
■冊子小包 vs メール便
冊子小包は5千冊まとめてとか、月に5千冊とかだと割引が効きますね。メール便だとセンターとの交渉次第。
市役所からある通知が届いた時に、定型封筒大なのに冊子小包の扱い。
「メール便の方が安くないか?」と疑問を口にするとカミさんがすかさず「冊子小包だと出す数が多いと割引があるから」と言われたことがあったので……。
メール便は冊子小包より安いです
セブンイレブンより一通から出せますし
メール便は根本的に冊子小包より優れていて
追跡が出来ます<メール便番号をウェブで入力して確認することが可能
昼サイブログ - 同人誌の通販にメール便を使わない手はない
2006-02-07 DIコンテナ?
■なんで new List(); か?
もしそんなことができるとしたら、あるいはできるようにするとしたら、どうなるのだろうか? と考えて楽しんでいるだけなんですがね。
■DIコンテナって
明確な仕様を持ち、異なる実装(異なるコンテナ)間での可搬性を獲得した、factory methodパターンの1実装?
……いやいやそれだけだとInversion of Controlという別名が示す、旧EJBコンテナとの対立概念であるという表明を明確に説明しない。
あー、対立概念ではないのか?
旧EJBコンテナもまたDIコンテナの1実装であって、つまり古い「コンテナ」という概念よりも広いアーキテクトとして Dependency Injectionコンテナという概念がでてきたのかな。
うーん。勉強不足。
■変数の動きを脳内で追ってみよう(短期記憶の強化にいいかも?)
ズバリ当てられなかった。どこかで計算間違えたらしい。
途中で挫折するほど大変ではないが、ちゃんと当てられるほど簡単ではない。
頭の中で一体何をやっているのだろうか…と問いただしたくなる。例えば変数を3つ使って行う作業を頭の中で行おうとしたら、最低でも3つのことを同時に、しかも正確に覚えていなければならない。そんなことができる人間がこの世に何人いるのだろうか…例えば、以下のプログラム。
1 a := 1; 2 b := 3; 3 c := 6; 4 a := a+b; 5 c := c+b-a; (引用 略) 17 a := (c+5)/(a-2); 18 b := (a+c)/b; 19 c := (c/b)+1; 20 a := c/a「:=」は代入を表す。…さて、このプログラムは必ず不正終了する。実際にこのスクリプトを組まず、メモも一切取らず、ただこのコードを眺めるだけで(これがルール)、何行目の処理でエラーが発生しているかをズバリ当ててみて欲しい。
Hatena::Diary::排他的論理和雑記 - 正しくないかもしれない、間違ってるかもしれない
どうでもいいけど := が代入だからPascalで、と思ったら / を div に変えないといけなかった……。: を削って ruby か perl で実行する方が楽。
■トラックバックがおかしい
わんこ日記さんのところでも指摘があったけど、確かにはてなへのトラックバックがおかしいみたいだ。
was not hatena-group. (TDiary::TDiaryTrackBackError)
わんこ日記(2006-02-11)
ってことで、hatenaにはじかれてしまった。hatenaからでないとトラックパックできないのかなぁ?
追記
復旧したみたいだけど……、しまった。テストのために自動トラックバックを設定したのをそのままにしてた。
■アノテーションでは「空気の様に」とはいかないか
↓(new List();を再度考えるのエントリ)の様なことを考えると、injectionする対象を絞り込みたいわけで、DIのためのアノテーションを文法に入れた方がよくなって「空気の様に」とはいかないかなぁ。
if (hoge) { List items = new List(); } else { List items = new List(); }
は、変数としてのitemsはスコープが分離しているので文法上okだけど、DIのための識別子としてはうまくない。
いや、変数としては別だけどDIとしての識別子は同じになる、という扱いにするか。それもなんとなく気持ち悪い。……じゃなくてやっぱり「空気の様に」とはいかないということか。
■new List();を再度考える
結城さんにも取り上げられたみたいだし、再度考えてみる。
List items = new List();
ナンセンス不定記
(略)
ランタイム時にnew List()の実装クラスを解決するわけだが、おそらく設定ファイルの類になる。すると規模が大きいと定義の数が増えて面倒だ。そこで、interface List内にアノテーション等でデフォルトの実装クラス(参照実装ともいえるかな)は何だという定義を埋め込んでおけばよい。すると、new List()のデフォルトはnew ArrayList()となり、もし違う実装クラスに変更したければ、設定ファイル等でオーバーライドすればよい。
現状ではどうするか? を考えてみよう。
ソースを書いている時点で、規模や使われ方が想像できなくてさてどんな実装にするか? と迷ったとして、
List items = new ArrayList(); //Todo
とか、
List items = new LinkedList(); //Todo
なんて書いておくんだ。
後々ソースができあがってくると、addとiteratorが使えれば十分と判ったり、get()が頻繁に必要だと判ったりする。
それで生成するものを変えたり、場合によっては List で定義されたメソッドではなくて実装しているクラスの方のメソッドを使うべきと判断したら、
ArrayList items = new ArrayList();
と書き直したりする。
あるいは、実際に動かしてみたり、運用のフェーズに入って、このitemsが何件ぐらいになるのか? の目星がついたりしたら、
List items = new ArrayList(50); //Todo
とか書き直したりする。
問題は、運用に入った後でget()が多くてLinkedListじゃ駄目だった! とか、itemsの見積もりが甘くて、ここは new ArrayList(100); が妥当だった! とか気がついてもソースを直すしかないってこと。
ま、この時点でプログラマとして失格、という感じがなきにしもあらずだけど、"とりあえず"で書いておいたコードがほったらかしになってました、とか言語の理解が浅かった新人に書かせた部分がまずかった、とか。
そんなことは……往々にしてあるなぁ。
で、
List items = new List();
の登場。
DIコンテナの本来の意図からは外れるとは判った上で書くけど、このclassのこのmethod内でのnew List() は、new LinkedList()を生成しろ! と後から指定できるのはいいかも。
でもなんか後ろ向き……。
ここまで書いてきてもひとつ思いついたのは、このitemsにどのぐらいの要素が入るか? とかハッキリしない状態で書かざるを得ないケース。その時に運用テストの段階(かそのもう一つ直前の段階)で、プロファイルを取るようなArrayListのサブクラスで動かしてみて確認して、本番ではそのプロファイルからはじき出した初期値でのインスタンス生成 new ArrayList(int) で動かすとか。
現時点では、こういうのをやるには――それが必要だと判っている局面であれば―― factory mthodパターンなどを自分で作り込む必要があったわけだ。
それが言語仕様のレベルでサポートされる、というのはつまり「factory mthodパターンを自分で書く必要が無くなる」というだけの話?
ありゃ、
で考えたことに話が戻っただけか。
DIコンテナという呼び方よりも、「言語仕様のレベルでサポートされる factory method」かしら。それとも、それこそがDIコンテナの本質?
不勉強さが露わになっただけだったか……。
2006-02-08 Ruby timeout
■lacoocan by @Nifty
なんのことはない。要するにレンタルサーバなわけだが、プレゼンテーションでそれと意識させない、ユーザが感じる敷居を低くさせるサービス案内ページに感心した。
メールアドレスの付与が無いように見えるが、それもレンタルサーバとの差別化で上記の様な印象を強めるための戦術なんだろうな。
価格もお手頃だし、なによりRubyが使えるのはいい。
■Ruby timeoutの落とし穴 追補
レンタルサーバにtDiaryの環境を引っ越した。
激っ速。
自宅マシンのDNS名の解決あたりに問題がありそうだが……。
■Ruby timeoutの落とし穴
自宅マシン(debian)にtDiaryを入れていじっているのだけど、更新がやたら遅い!
というかこれは何か異常だ。
どうもAmazonとか外側のサーバにアクセスに行くのが時間がかかっているのでは? とみた。
合間を見てRubyのレファレンスとか眺めていて、
timeoutの落し穴も参照
Ruby Reference Manual - るりま
Rubyで書かれたリゾルバを利用するという回避策があります。 require "resolv-replace" すると、resolv.rb で定義された、リゾルバが利用されるようになります。
Ruby Reference Manual - るりま
……これか?
require 'timeout' を手がかりにして grep で引っかかってきたスクリプトに、require 'resolv-replace' を入れていったらかなりマシにはなった。
原因の原因が判らないけど、まぁいいか? いやでも、まだ決して正常とは思えないレスポンスだしなぁ。
追記 2008/04/09
いまごろ気がついたのだが、tdiary.rb に書いておけばそれでよかったんじゃないか。
2006-02-09 陰陽師は式神を使わない, ソーシャルブックマーク×ニューラルネット
■interface の中にメンバクラス
を書いてFacoryにする、というアイデア。
public interface Something { //インターフェースに属するメソッド int get(); //ファクトリー class Factory { public static Something create() { return new ThatThing(); //適当な実装クラス } } }作りたいインスタンスの種類に応じて、Factory, Singletonなどとクラス名をかえておくことで、より分かりやすくなるのではないかと思います。
Java : ファクトリーとか - lethevert is a programmer
うーむ、こんなのは思いつかなかった。
文法上(↓参照)、 InterfaceMemberDecl に ClassDeclaration が確かにありますね。
http://java.sun.com/docs/books/jls/third_edition/html/syntax.html#18.1
■陰陽師は式神を使わない
……しきがみ→式神の変換って自分で登録したのかなぁ?
さておき、
だ。聖王の柩 (集英社スーパーファンタジー文庫)(藤原 京/菊地 竜也) からすると8年ぶりの新刊だ!
しかしこの人って、どうしてこう majority からほんのちょっとずれただけで minority になってしまうという、そんな傾向のネタが好きなんだろう。が、もっとも、自分もまたそんな氏の小説が好きなわけだが。
ただ今巻はタイトルがキャッチーなので、多くの人に手に取ってもらえるかも。そうだといいなぁ。
p132
(「易経」の文庫を本棚から出してきて)
陰陽師とかを小説に書く作家の誰も、読もうとしないみたいだけどね。
ああぁ! 耳が痛い。
ただ、氏自身があとがきで書いている通り、「知れば知るほど書けなくなる」。
戦国霊異伝の時も出てきたもん、陰陽師はこんなことしない! っていう主張が。それに目を瞑って「式神を使うっていう方向で」ってのがオーダーなんだもん、仕方ないじゃん。
――ま、もっとも、だからといって易経を読まないで済ませていいって理屈にはならないんだけど。
p158
天地非。
「ガメラ3にもでてきたなぁ。『天地非それ亡びなん』って台詞」と思った。が、次の瞬間、今まで大きな勘違いをしていたことに気が付いた。
天地非、それ亡びなん。
だと思ってた。
が、「天地非」が六十四卦の一つだとしたら?
を引っ張り出してきて脚本(準備稿だけど)を確認する*1。
あぁ、やっぱり!
「天地非。それ亡びなん、それ亡びなん、苞桑に懸かる」
後半部分は決定稿までに削られたらしく映画には出てこないが、果たして「天地非」の直後に読点があった。
p205
もともと鎌倉幕府ってのは、(略)京都の公家社会に対抗する関東の御家人連合政権だっていうのが実際で、頼朝はそのための権威として担ぎ出されたに過ぎないらしいんだよね。
ふむ。
と近い内容だな。
p214
「(略)五行相生と五行相克。生じる方は木火土金水の順番だよ。木が燃えて火が生じ(略)。克する順番は正反対で水金土火木だ。水は金を溶かして克し、(略)。でもこれの意味は、順番を覚えるための語呂合わせみたいなもんで、言葉の上に真の意味など特にないんだよ」
「そうなの?」と顔をあげた胡桃沢さん。
(略)
「これは単なる演算法則ってわけ。まさしく東洋の円環思想を表すもの、三すくみ的な演算法則。(略)」
木火土金水に兄弟(あにおとうと)で十干。それに十二支。この辺は情報科学のモジュロ(法)という考え方を知っていれば理解も早い*2。
そうそう「干支」っていうのは、十二支だけじゃなくて十干とセットの概念なわけだけど、正しく使ってもなかなか他人には伝わらない。
次の新刊も期待してますよ! 私は!
■ソーシャルブックマーク×ニューラルネットワーク
scenario experiments lain を読んで、アニメ版lainを(これで3度目なんだけど)観ている途中でふと思ったこと。
ソーシャルブックマークをニューラルネットワークに比喩させて語ることは可能だろうか?
ニューロン(ネットワーク上のノード)にあたるのが各個人のブックマーク。
「あるURIをブックマークする」というのが入力であり、同時にそのニューロンを発火させる行為でもある。ニューロンとニューロンの間にリンク*3が存在して、あるニューロンが発火するとリンクを伝わって別のニューロンの発火を促す。「そのURIの記事を読んでブックマークする」ことを発火に喩えれば、まぁいいか?
リンクに重み付けがあるわけではなくて、各々のニューロンが「入力に足して発火するかどうか」の確率関数のようなものを持つ……のか?
……そうか。リンクの重み付けは、発火したニューロンから別のニューロンへの伝播の度合いを示す。受け取ったニューロンが発火しようとしまいと、そこからさらにリンクを伝わって別のニューロンに入力が伝播する(その時にまた重み付けが働くわけだ。またこの過程ではリンクを逆に渡る伝播は考えない)。その伝播の結果としてどこかのニューロンが発火する(=誰かがブックマークする)とそれが入力となってリンクを辿って伝播する。
リンクは双方向で繋がる可能性もあるが、重み付けに対称性は無い(だろう)。他から伝播してきた入力に対して発火すると、重み付けが強化される。発火が無いと重みは低くなり、あまりに低くなるとリンク自体が切れる(はてブで言えば"お気に入り"から消える)。
入力に対して発火するかどうかの確率関数やリンクが持つ重みは"個人"に依るわけだけど、リンクそのものは"ソーシャルブックマークというシステム"に依るのではないだろうか。
こんなモデルでいいかな?
素朴なWWWネットワーク(HTTPとHTMLユーザエージェントで構成されているネットワーク)や、素朴なblogネットワーク(trackbackやpingで構成されるネットワーク。RSS aggregator の様な存在を考慮しないという意味で「素朴な」と言っている)もネットワークだし、似たような性質を持ってはいるのだろうけど――伝播の部分のモデルが若干違うということで……。
発想元
2006-02-10 思考の枠を規定するもの
■Firefox - Tab Mix Plus - Tab Rotation
F8キーを押すと、タブが勝手に切り替わっていく Tab Rotation モードになる。
……一体何が起きたのかと思った。何を押してそうなったのか判らなくて、終了させて検索してやっと探し出せた。
■tDiary
見出しのURLに手が出せないでいる。
はてダで言えば、*t*で始めた行で、時刻がその見出し(tDiaryで言えばセクション)のa要素name属性に入る。
tDiaryだと全体的にp01,p02の様に振られてしまう。
ま、表記自体はstyleの方をいじってなんとかなったのだけど……、RSSの生成とかには変更が及ばない。一応 HOWTO-make-io とかは読んでみたのだけど、セクションのためのクラスにこれを明に指定できるメソッドはないらしい。そんなわけで makerss.rb あたりを読んでも、
def makerss_update (略) diary.each_section do |section| index += 1 id = "#{date}p%02d" % index if diary.visible? and !cache[id] then cache[id] = RDFSection::new( id, Time::now, section )
def makerss_body( uri, rdfsec ) rdf = "" if rdfsec.section.respond_to?( :body_to_html ) then rdf = %Q|<item rdf:about="#{uri}#{anchor rdfsec.id}">\n|
とあって、順番に番号を振り出していてるんだなぁ。
と、いうことは、試してもソースを読んでもいないけどトラックバックあたりの方でもmakerss.rb と同じような格好になっていると想像がつくし、さてここで手を止めようかどうしようかという分水嶺にちょうどいるのだろう。
■Ruby 多値の戻り値とか
RubyではValuesというクラスで値の集合(配列やハッシュとはまた別のものというぐらいの意味)を扱うらしい。
を読んで自分で調べたのと実験したものをメモしておく。
追記
なんで調べたかというとちょうど今Rubyを使っているところで、かつ、つい先日そういう様なメソッドを書いたつもりなのに期待通りに動いてくれなかったから。
「PerlやRubyでは当たり前」なこと自体は知っていた。
追記:2006/2/14
では「多重代入」という言葉で紹介されている。
def multi return 1,2,3 end p multi.class.name #=> "Values" a, b, c = multi p a #=>1 p b #=>2 p c #=>3 a, b = multi p a #=>1 p b #=>2 a, *b = multi p a #=>1 p b #=>[2, 3] p b.class.name #=>"Array"
……しかし、
のRuby1.8対応版が切に欲しいと思う今日この頃。
追記:2005/2/14
p229
右辺の値(のオブジェクト)をobjとおくと、
- obj が配列であればそれを使う
- obj に to_ary メソッドが定義されていればそれで配列に変換する。
- [obj]を使う
とある。
Valuesにto_aryメソッドが定義されているから上記の様な挙動になるのだろう。
現実、
def multi return 1,2,3 end p defined? multi.to_ary #=> "method" p multi.to_ary #=>[1, 2, 3]
となる。
同じくp229
実は左辺,右辺ともに無限にネストできる。
a, (b, c, d) = [1, [2, 3, 4]] a, (b, (c, d)) = [1, [2, [3, 4]]] (a, b), (c, d) = [[1, 2], [3, 4]]
なにがなにやら……。
p414
Rubyで一番複雑な仕様はどこだ、と問われれば筆者は即座に多重代入と答える。多重代入の全体像を把握するなんて無理だ。そう思う根拠もある。ようするに、多重代入の仕様は仕様全体をきれいに設計しようなんてこれっぱかしも思わずに作られているのだ。仕様の基準になるのは常に「いくつかの典型的な使用パターンで便利だと思われる挙動」である。
追記
1.8 では Values はなくなり単なる配列(Array)になったようだ。
■思考の枠を規定するもの
後半部分を考える。
ネイティブな言語で物事の捉え方が変わる。
blogを書いている時の言葉遣い*1,人と雑談をしている時の言葉遣い,仕事の話をしている時の言葉遣い、それらは微妙に違っていて無意識にスイッチしている。
それは思考、物事の捉え方、他人が口にしたり記述したりした言葉や文の捉え方にも、やっぱり影響を及ぼすのだろうか?
と書いていて、そりゃそうだ、と思ってしまった。↑の様なことはblogを書いているこの瞬間ぐらいしか考えそうにない話だ。あとはカミさんと議論をしている時なんかもあるけど。
前半部分を考える。
ある物事を調べている時に、情報の元の性質に注意を払わなきゃいけない。情報はそれ自身が持つ意味*2以外にも、発信元や流通している場がバイアスとして受取り手に影響を与えるというわけだ。
googleならgooleのアルゴリズムというバイアス。
はてなならはてな市民(の中の積極的に回答する人たち)によるバイアス。
そういったものにも意識しなきゃならないんだろうな。
具体的には、学生諸君が提出するレポートなどを見ればわかる。課題となる対象のキーワードをグーグルなどのサイトで検索クエリとしてインプットして、得られる結果のページを幾つか切り貼りしたものばかりになりつつある。そこには、テキストやグラフィックスの切り貼りばかりではなく、例えばグーグルであればページランクというオーガニックな検索結果を左右するアルゴリズムが間接的に反映されているのだ。
結果、そんなレポートを制作した学生の思考の枠組みよりも、むしろ人工知能研究の成果として発展してきた検索エンジンの根幹を成す仕組みのほうが大きく影響するようになっている。それは、教育で獲得されるべき「物事の捉え方」や「理解の仕方」という側面が大きく抜け落ちつつあるということだ。本来、思考とは意識的・無意識的に学習された枠組みに大きく左右されるものであり、時としてネイティブである言語によって物事の捉え方自体が変わってくることは、認知言語学の研究成果によって明らかになっている。
思考の枠を規定するグーグル - (page 2) - CNET Japan
言語によって物事の捉え方自体が変わる、というのから連想したのは、
だった。
2006-02-11 雑記
■吊り広告を見ながら
潮か第三文明だと記憶していたのだけど、ネットで調べる限りはそうじゃなかったらしい。何て雑誌だったのだろうか?
ま、いいや。
雑誌の吊り広告で、特集記事に「ケータイで言語能力が低下する」「ケータイやインターネットを子供に使わせるな」との文字が(記憶は正確ではありません)。
で、
携帯電話のことをカタカナでケータイと書いたり、インターネットを「使う」と書いているあんたら(註:その記事を書いた人達のこと)の言語能力は低下しているとは言わないのか?
と私。
そんなの今の社会に合わせただけでしょ
とカミさん。
でも特集の一番左の記事タイトル(註:特集には複数記事が含まれていてその最後の記事のタイトルのこと)にはちゃんと携帯電話って書いてあるんだよ?
そこだけ「携帯電話」って書いてあるんだったら「ケータイ」って表記は編集部からのオーダーじゃ無くて、記事を書いた人がタイトルを考えたんだろ?
おかしくない?
大体同じ特集の中の記事タイトルで「ケータイ」と「携帯電話」って表記が揺れてるのはどうなのよ?
と私。
そんなありふれた日常。
(あんたら夫婦はそれが日常なんかい?)
(どうもそうらしいぞ)
2006-02-12 雑記
■日曜の朝
マジレンジャー
「無限」の勇気。
絶対神と自称するわりには、「満たされたい」などと言うン・マ。でも満たされた瞬間に「有限」に定まっちゃうわなぁ、とか思いながら見ていた。
ボウケンジャー
あー、いいんじゃないすか?
物語の縦糸が強そうだし、敵の設定もその辺に食い込んできそうなあたりが今時か。世界征服を企む秘密結社、なんて設定が出てこない雰囲気は、仮面ライダーだけじゃなくて戦隊シリーズにも移ってきたかなと思った。
やっぱりデカレンジャーでエージェント・アブレラの存在をかなり後までデカレンジャー側に見せなかったあの手法が効いているか。もちろんデカレンジャーでは「刑事もの」を意識した結果ではあるのだけど、組織的な敵なくして戦隊物が成立できることを示してしまったのは大きい。
続くマジレンジャーでもン・マの存在はずっと縦糸としてあったけど、冥獣→冥獣人→冥府神という様に遷移していって一つの組織という感じは抑えめだったし。
カブト
で、秘密結社といえばこちらのZECT。「組織の力をそう簡単に使うもんじゃないわ。もみ消しに苦労するだけよ」の台詞がリアルっぽいな(あくまでも「っぽい」という点に注意)。
その割りにはワームかどうかの判定基準がレベル低すぎ。
とはいってもそこを突き詰めると寄生獣になってしまって、髪の毛一本抜いて確かめるということで決着ついてしまう。だから髪から外れたバレッタを印象づけてはいるけれども、それが決定的な証拠であるという描写はしなかったのだろう。その辺はまだ曖昧なままにしておいた方が後から矛盾がでてくることを防げて便利だし。
戦いの描写として、クロックアップは龍騎のミラー・ワールドと同じ扱いなんだなと思った。やりたい放題だったあちらとは違って物を壊したりしたらちゃんとフォローしているところがほほえましい。だけど「一般人の目に見えないところで戦いが繰り広げられている」という印象づけにはは成功していると思う。
秘密結社
面倒だったので仮面ライダー伝統にならって「秘密結社」という言葉を使ったのだけど、実は秘密結社って存在を公にしている方が多いわけで。
秘密結社を秘密たらしめているのはやっぱりイニシエイションとかサインとかなんだろうな。それ自体は特に危険視する様な要素ではないけれども、マインド・コントロールという視点から見ると重要な要素ではある。
2006-02-13 狗狼伝承
■同名
たまたま「自分と同じ漢字でかつ同じ読みの名前」の方のWebサイトを見つけた。
同じ漢字の名前はさほど珍しくないが読みが同じ人は珍しいので、ちょっと嬉しい。
名字も名前も同じ漢字で読みが違う人が、昔fjで活発に発言をされていたので*1漢字フルネームでWeb検索するとその方の書き込みがたくさんヒットするのは余談。
■狗狼伝承
読まないで放っておいたわけではなくて、出版されていることに気が付かなかったのですよ……。
フラクタルって知ってる?
なら、自己相似性も知ってるね?
自己相似性ってどういう性質だったっけ?
そう。
あるサイズの図形の部分をズームアップすると、元のサイズの図形にそっくりなものが出てくる。
あるいは、その逆も然り。
カメラを引いて、縮尺を小さくしてやっても同じ。
うん。そうだよ。海岸線なんか、判りやすいね。
え? それがどうしたって?
じゃあ本題に入ろう。狗狼伝承っていうのは要するにそういう物語なんだ。
狗狼伝承全体の構造が各巻にそっくり入っている。あるいは最後の巻――いや最終章と呼ぼうか――最終章にそっくり投影されているんだ。それ以前の章も含めて、全体に組み込まれていた仕掛けが、この最終章のピースを成す様になっている。
あるいは、時念者も狗狼もその他のどんな脇役もそれぞれが同じ構造の中に組み込まれている、そんな物語なんだ。
え? 違う? あぁそうだったね、脇役なんてこの物語のどこにもいないんだったね。高野君が最終章でこう、心で呟いていた。「あいつらが誰かの脇役じゃないって、どうして断言できる? あいつらの運命が、誰かのあやつった結果じゃないって、どうして分かる? 戦ってるやつらだけが主人公だって、どうして言える? 見つめてるやつが主人公じゃないなんて、なんで言える?」ってね。
で、なんだっけ?
そうそう、どんな登場人物も同じ構造の中に組み込まれているって話しだ。
(ここでニヤリと笑って)でもねそれは正しくないんだ。高野君の台詞をもう一度読み返してごらんよ。
分かるかい?
「あいつらが誰かの脇役じゃないって、どうして断言できる? あいつらの運命が、誰かのあやつった結果じゃないって、どうして分かる?」という言葉だよ。
そうさ、周防くんや詩乃ちゃんの運命は、正真正銘新城カズマという小説家が運命をあやつった結果なんだよ。そうだろう?
じゃ、次の台詞だ。
「戦ってるやつらだけが主人公だって、どうして言える? 見つめてるやつが主人公じゃないなんて、なんで言える?」
こう言い換えてみるといい。「この物語の登場人物達だけが主人公だって、どうして言える? 見つめてるやつが主人公じゃないなんて、なんで言える?」さぁ、どうだい!(とここで大げさに両手を広げて)この「見つめてるやつ」が誰のことだか分かるかい!? 狗狼伝承という物語を「見つめてるやつ」、そうさ、僕や君も含めてこの物語を読んだ全ての者が彼や彼女の物語の主人公だって、そう言ってるんだ!
だからこの物語はフラクタルだって言ったんだ。
この物語の枠をもう一段高いところから見つめれば、この物語は「君たちもまた主人公なんだ」って、そう言っているんだ。ま、もっともそれは同時に僕や君やあるいは新城カズマも含めて、運命をあやつっている誰かがいるかもしれいってことでもあるけどね。
ところで、エッシャーの絵を見たことがあるかい? 「爬虫類」は? 「昼と夜」は? 二つの手がペンを持ってお互いがお互いを描いている「書いている手と手」は?
それらのモチーフは新城カズマを読み解くのに大きなヒントになるんだよ。
ま、そのへんはどうでもいいことだけどね。狗狼伝承という物語との間に縁があったこと。それは本当に喜ばしいことだと、そう思うんだよ。
僕はね……。
追記 08/07/15
冒頭部分、フラクタルと自己相似性に関する明らかな間違いを修正しました。
一応書いておきますが、文中の「僕」は私自身で、あえて「対話文形式の片方のみを取り出した」ような(そして新城カズマの小説に出てきそうな雰囲気の)文体で記述したものです。
■小中学生向けの本に無断リンクはなんと書かれているか?
土曜日に図書館の児童書コーナーにいた。
ちょうど目に付くところに総記の棚があったので眺めてみる。
という本があった。
p14
またウェブページに「リンクお断り」と書くのも意味のないことです。見られたくない、見られてはまずいものは、インターネットに公開しないようにしましょう。
うむ。
あたりまえのことが書いてある。
だけど多くの*2学校のサイトでは「あたりまえのことではない*3」んだよなぁ。
こういうことの啓蒙にオーソリティを持ち出すのは手段としては下だけど、でも小中学生向けの本にこう書いてあるというのはちょっと安心である。
さて、学校図書館にこの本が入ったとして、「この本にはこう書いてあるんだけどこの学校のホームページ*4には校長先生の許可が要りますって書いてあるのはどうして?」と児童生徒に尋ねられたら……、どう答えるつもりなのでしょうかね?
ま、もっともその右のページに、大意として
ダイレクトリンクはマナー違反。
ダイレクトリンクは窓から部屋に入るようなものです。
というようなコラムがあってこれには「んー?」と思ってしまった。
ま、個人サイトならそれもマナーと言えばマナー。
考え直してみると、リンクと引用ではまたマナーが異なるのかな。
「サイトとサイトを」リンクする時にはダイレクトリンク(以下、ディープリンク)はマナー違反かもしれない。
発言・著述の引用のためのリンクの時にはディープリンクをマナー違反とは言わないだろう。それは著作権法上の正当な引用で、そのための手段としてのディープリンクは正しいと思う。
追記
その他の本の話。
学校・教育委員会 ネットリテラシーの話。
2006-02-14 雑記
■雑記
今日から新しいエントリを下へ下へと書いていくことにしま〜す。
今日はRubyで遊んでました。
http://d.hatena.ne.jp/quintia/20060210#1139533976 あたりも書き足しておきました(トラックバックをいただいたみたいなので)。
楽しいです。
はてなのポイント? 変更点は私には関わりのないことばかりでございました。
でわ。
■ソーシャルブックマークのコメント
要約なのか、ブックマークした人の意見なのか、あるいは「同意」とか書いてあってもどのあたりに同意なのかとかがハッキリしないのも気持ち悪い理由の一つなのだろう、とか思ったけど当然誰かがすでに書いているであろう内容ではある。
■タイトル悪い
「“本物”のSSL証明書」てのはどんなものかが直観的に分からないんだけど……。
さてどんな風に言えばいいか。
実際のサイトのURLは
“本物”のSSL証明書を持つフィッシング・サイト出現:IT Pro
「https://www.mtnamerica.org」だが,偽サイトのURLは「https://www.mountain -america.net」だった。間違える可能性は高い。しかも偽サイトは,同サイトが「www.mountain-america.net」であることを証明するためのSSL証明書を取得していた。
2006-02-15 CD届く
■CD届いた〜
パトレイバ初期OVAシリーズ時代のサウンドトラックCD・リマスター版届いた。
CDのレーベル,ライナーノーツの中身,本で言うところの背や裏表紙はデザインし直して、統一感を出している。ライナーノーツの表紙1,4が当時のまま。アルバム解説,収録曲解説は変更されている。INTERMISSIONの収録曲解説は当時のものも入れて欲しかったかも。
ついでに。
2006-02-16 Drupal Japan, Factory Method パターンの誤解
■CSSのクリーンアップについて
今質問中の、
CSSのクリーンアップ(プログラミング流に言えばリファクタリング)を「支援」してくれるソフトってあるものでしょうか。
http://www.hatena.ne.jp/1140047047
とは別に1つ疑問がある。
CSSの性質として、セレクタがユニークならば――つまりセレクタの重複についてマージさえすれば――記述の順番を入れ替えたりしても同じ内容になるのだろうか?
反例を出すこともできないし、ましてや大丈夫だという証明も私にはできない。
仕様策定の上でそうなる様に気を配ってはいるのかもしれなくて、正式な文書の中には答えがあるのかもしれないけど。
自分にとっての優先度が低いので調べたりすることはまぁ無さそうだけど*1メモ。
■Factory Method (パターン)?
「ファクトリーメソッド」の出典と思われるGoF本では、単にインスタンスを生成するメソッドのことをファクトリーメソッドと呼んでいたわけではないはずなんだけど。
Onion開発日記(2006-02-16)
あ、ホントだ。
Creator, Product を abstract なクラスとする。Creator の中で Product のインスタンスを生成して使用する様な関係の時に、しかしながら Creator を実装している段階では Product を生成できない、というジレンマがある(abstract なので)。
その様なケースで、Creator 内に Product を返すメソッド(これを"factory method"と称することになるわけだ)を定義し、Creator 内の実装ではそのメソッドから Product のインスタンスを取り出す。
ConcreteCreator, ConcreteProduct を実装する際に ConcreteProduct のインスタンスを返す様に factory method をオーバライドする。
というのがGoF本での Factory Method パターンなのか。
「実装」の項の2.として"factory method をパラメータ化する"というのが呈示されているのだけど、この手法だけが広く使われていったことが、「Factory Method パターン」と「factory method」の混同に繋がっているのだろう。
……過去に間違った記憶のままで書いたエントリがありそうだなぁ。
■プロキシキャッシュからの全文検索
ってのを実現したいなぁ、と前々から漠然に考えていたのだけど、何となくブックマークの整理をしていたら、
が出てきて、「なつかしいなぁ。google登場以前はお世話になったなぁ」なんて思いながら、
を経由して、
に辿り着いた。
んん?
利用例に「プロキシのキャッシュ検索」というページがある!
ということでメモ。
*1 無さそうなので、の方がいいかしらん。
2006-02-17 雑記
■それにしても
昨日のエントリと一昨日のエントリの落差ありすぎ、と思う。
■facotry method 再び
「GoF本に出てくる"Factry Method パターン"の中の factory method」という意味で factory method が語られているのか、と再度思う。
しかし、私の認識ではデザインパターンというのは、開発者間のコミュニケーションのための道具として有用という捉え方をしていたのだけど、GoF本の発刊からこれだけ時間が経過してしまうとその辺りも揺らいでいるのかなぁ。
■ウィンドウ自動縮小してスペースを活かす
不思議なソフト。
たとえばエクスプローラのウィンドウを縮小して、ファイルのコピーを快適にするなどです。うまく使えば、ごちゃごちゃだったデスクトップはすっきり快適になります。
Software/Mokomado - Mocean Star Homepage
2006-02-20 漫画読んだ
2006-02-21 たまにはワイドショーも見たりして, イリヤの空 UFOの夏
■ワイドショーでメールヘッダの解説してるよ
なんじゃそりゃ。
X-Sender, X-Mailer をなぜ黒塗りしたか? なんて意図を勘ぐってどうするよ。
席に着いている人の中に「先行け!」と思っている雰囲気があって楽しかった。
印刷物の上に黒塗りしてあるペーパーを「オリジナル」とか言ったりしていて、やっぱり「そんなんオリジナルじゃねぇだろ!」と思っている人とのやりとりがおかしい。
……「技術的なところはよく判らない」と平気な顔して言う「上の人」と、「技術屋」の会議を見ているようなそんな雰囲気。
もう堀江さんやライブドアは(ワイドショー的には)どうでもいいみたいだ。
■続き
今まで思考から締めだしていたけど↑でなぜ黒塗りしたか? って、要するによく判らないものが書いてあるから一応消しておこう、ってぐらいの判断だったのでは……。
■イリヤの空、UFOの夏
さて。どうしたものか、と思う。
腑に落ちない。なんだか落としどころが見つからない。
面白かった、とは思う。
だけどこの先読み返すことがあるか? と問われれば、無いだろうとも思う。
読み返すことがなければ「面白い作品」という評価を与えることは、決してできない。
さて。どうしたものか、と考えてみる。
落としどころが見つからない、というのは過去に読んだ他の作品との相対化ができないということだ。
うん。
この作品と相対化できる、何か、他の作品を探してみよう。
「いつか猫になる日まで」だ。
それでいこう。
そうだ。自分の原体験でもあるあの小説――「いつか猫になる日まで」のネガなのかもしれない。
周りの環境が非日常へと変容していく中で、どこまでも"普通"であり続ける浅羽君。日常へと着地しようとする浅羽君。
彼は、「もくず」の対極。
世界を――デミウルゴスさえも――敵に回すことを方向付けられ、それ故に日常を拒否する「もくず」。
カチリ、どこかで音がした。
2006-02-23 無断リンクを見つける(?), 偽造URLクイズ Firefoxの警告
■無断リンクを見つける(?)
久々に楽しいrefererをみた。
の検索から、
に来た人がいる。
わはははは。
でも読んでおけ。
p41
またウェブページに「リンクお断り」と書くのも意味のないことです。見られたくない、見られてはまずいものは、インターネットに公開しないようにしましょう。
■ATOKの学習
思いつきでやってみたこと。
はてなダイアリーをエクスポートしたファイルから生テキストに書き出してAI辞書トレーナーにかけてみる。
さて。
■偽造URLクイズ Firefoxの警告
古典的なトリックの話。前にも書いたことだけど。
質問
上に書いたURLはgoogleの検索でしょうか?
答え
「違います。Yahooにアクセスします」
解説
http://<user>:<password>@<host>:<port>/<url-path>
という文法があります。
の 3.1. Common Internet Scheme Syntax あたりを参照してください。
最初に書いたURLは、www.yahoo.co.jpに"www.google.co.jp"というユーザIDと"searchsourceid=〜%81%99"というパスワードで認証を通す様にアクセスする、というものです。
本題
Firefoxでは最初のURLにアクセスすると「認証を要求していないサイトだけど本当にいいのか?」という様な文言で*1警告を出してくれます。
この警告ダイアログは一度見て覚えておくべきです。
IEだとwww.yahoo.co.jpに跳ばないですね。RFC1738に書いてあるBNFをちょっと見てみた分には問題ない書き方だと思うのですが……。後で調べ直してみましょう。
*1 私は日本語のFirefoxを使っていないので曖昧な書き方ですみません。
2006-02-24 雑記
■Debianの公開鍵
メモ。
2006になってDebian Packageの公開鍵を更新する必要がある
[Debian] 2006になってDebian Packageの公開鍵を更新する必要がある - わんこ日記 (2006-03-02)
2006-02-25 結界を「張る」
2006-02-27 DIコンテナ,IoCコンテナの真実
■DIコンテナ,IoCコンテナの真実
ちょっと前から気にかかってはいたけれど考える暇がない、というかそういう精神状態ではなかったので中途半端なまま。
Dependency Injection や Inversion of Control と呼ばれている概念って、GoF本のFactory Methodパターン*1を拡張したパターンとして記述可能なのではないか? という予感がしている。
GoF本p116の「構造」のUML図で言うと、ConcreteProductとConcreteCreatorとの結びつきは、ConcreteCreatorでオーバライドされたFactryMethod()――つまりCreatorに定義された抽象メソッドFactryMethod()の実装で行われている。
Product-ConcreteProductの関係と、Creator-ConcreteCreatorの関係の間にもう一段、何か(なんと呼べばいいのかが思いつかない)が入ることで、DIコンテナ,IoCコンテナをパターンとして記述可能なのではないか? という予感。
この2週間精神状態が普通じゃなくてろくな生活をしていなかったので、こんなメモだけ書き残してみる。
*1 「Factory Methodパターン」であって「factory method」ではないことに注意。20060216.html#p3 もしくはGoF本を参照のこと。
2006-02-28
■代わり映えしないのは
わざとです。
■RSSの配信はまだです
と、いうか、生成してはいるのだけどおかしいんです。
今日明日中には直したいなぁ。
■ぎゃぼー
asin記法が上手くいかなくなっているー。
……違うや。「本」以外には対応してなかったのか。
そのうち直そう。
■ナルニア
今のいままで気がつかなかったけど、
この邦題って……、
一番大事なWardrobeが抜けているじゃないか!
いや映画だけの話じゃないのだけどね。
p110
「開ける価値のない衣装ダンスの扉は無い」
と知世ちゃんも仰っているではないですか。