くまりゅう日記

2002/3/15(金)

うん、まだ外に出る気がせん。

PCエンジンがやりたい(笑)。というのも、ハードは持っているのだがめぼしいソフトを買う前に衰退してしまったんで、やりたいソフトをぜんぜんやってないのである。で、値段を調べてみる。…なんですかこれ。

あー、人のこと嘗めてるね、この値段。プレミアってやつですか。ワタルとワルキューレの伝説は持ってるのがまだ救いか。伝説を4000円で買う気にはならないからね。もっと安いところ探してみたほうが良いかな。

Ridge。ついにあきらめて、「ひとつのコントロールはひとつの親コントロールしかもてない」という仕様をつけることに。今まではひとつのコントロールがいろんなウィンドウにくっつくことが出来るようにと作っていた。が。さすがにdocumentとviewは分離しなきゃまずそうだと思い至って、分離することに。これによって設計が進み、実装も楽になる。あう、いいことだらけ?

2002/3/14(木)

しばらく具合が悪くて伏せる。

具合が悪いのは良くないね。単なる風邪なんだろうけど。

ナイツの掲示板をやっと作り上げる。OnlyOneっての使ったんだけど、CGI自体はシンプルで高機能。便利なのはいいんだけど…マニュアルが不完全ですね。削除機能の実装がわからなかったんで、結局ソースを見ることに。あ、簡単ですね。Perl*1でも意外と読めるわ。結局、書き込むときにnameがPASSWORDの値を書き込んでおけばいいんでしょう。それにしても、これだけのスクリプトでよくこんな高機能を発揮できるものだと関心。テンプレートHTMLいじるだけでプログラムかいてるぐらい柔軟な操作が出来るんだもんね。

いまさらながら。HTMLの書きにくさに困り果てる。どうしてこんなに書きにくいんだ?このサイトはRDで書いてるから良いものの、ナイツのほうは普通にHTMLを使ってる。最初はDreamweaverを使ってたんだけど、あんまりいいソフトとはいえない…。んで、手で書くかと思ってVimで読み込むも、こんなに書きづらいんじゃやる気もなくすよ。

ナイツはページ数が少ないからフレームのメニューからほとんどのページにすぐいけるようになってる。深さはほとんど2ぐらい。つまり、メニューからページを出してそこからひとつ奥まで行くともう終わり。「戻る」はいらない。戻らなくてもメニューをもう一回選べばいいだけだ。このぐらいの深さだと見るのも楽だし、各ファイルの依存関係が少なくなるから更新も楽になる。

しかし。しかしだ。HTMLが書きづらいと更新も億劫になるってものよ。Dreamweaverはなぁ。段落を選ぶのが面倒なのはどうにかならんか?PageMakerとかのDTPソフトみたいに段落スタイルは別なパレットに出来るとか。あと、FireWorksで書き出したPNGぐらいまともに読み込んでくれ。その連携が売りじゃないのか。

んー。Dreamweaverって自分で拡張できたんだよな。でもJavaScriptじゃなぁ…。C/C++での拡張って出来ないんだっけ。プラグインとか作るの。JavaScriptはソースが汚くなりがちなんであんまり好きでないな。Rubyで書ければ最高だが。

そういえば、PageMaker。まだアップグレードするタイミングがつかめず6.5+。7でもあんまり変わってないよな。どうせだったらInDesign2が欲しい…。ってそうじゃない。PageMakerのスクリプト言語も結構面倒。だが、PageMakerの拡張はなかなか優れもので結構柔軟。WindowsではDDEでスクリプトできるからRubyでの制御も簡単かな。実際、最初からあるスクリプトは外部プロセスからDDEで制御してるみたいだし。多分、RubyでDDE制御のライブラリを書いてRuby.exeの名前を書いて適当なとこに置いとけば動いてくれそうだ。上手く出来たらPageMakerいつまでも使いそうだな。HTML生成にも使えるかも。

2002/3/11(月)

眠い。

終業式。別に行かなくても良いと思ってたんだけど、行ってから思った、やっぱこなきゃ良かったって。何をやるわけでもないが、何をやるわけでもないのに来てるのが無駄。寝てりゃ良かったよ。明日の卒業式もどうしよう…。

Ridge。大変なことに気づく。コントロールの場所指定が出来ない。先週はこんな感じだった。

container.add(button, "button", (constraint))
print container.constraint(container.child_index("button"))

constraintってのが場所指定の情報で、どんなレイアウト組んでいるかによって変わる。この情報はコンテナ側に持たせたいんだが…。constraintってメソッドが返すようにした場合、値を返すのはかまわない。しかし、値を設定するのはどうかなぁと思うんだが。

そもそも、コンテナにconstraintのメソッドを持たせたくはない。というのは、これが必要ないレイアウトもあるはずだからだ。で、思いついたのがProxyオブジェクトをはさんでしまう方法。Decoratorパターンですな。

prox.obj = button
prox.property["constraint"]

これで問題なのはprox.objがいつのまにか別のオブジェクトに置き換わってる可能性があるってこと。これは大変だ…って、proxの生成時にしかobjを指定できないようにすれば良いじゃん。あとはpropertyとupdateをオーバーライドすればいいのかな。proxのクラスはクラス変数かなにかで指定できるようにしておこう。

ん、きょうはこの辺で。

ページのトップへ | 過去の日記 | kumaryu.net

*1Perlは苦手