cometd を使ってみたという記事で、dojo 0.4.2 + cometd のセットアップ方法を記述しました。dojo 1.0 が出て、多少状況が変化したようなので、Kodougu で行った作業をもとに cometd のセットアップ方法を整理して掲載します。

続きを読む

Posted by あかさた
はてなハイク(俳句)って私はロムっているだけですが、すごく面白いですね。楽しみ方としては、お題を決めて、短文(五七五である必要はない)か落書きを書き連ねていく(読む側としてはそれを見ていく)だけなのですが、ざぶとん X 枚とばかりにはてなスターをつけることもできます。サクサクと書けてサクサクと読めるのも魅力なんでしょうね。

スターのたくさん付いたエントリをピックアップする機能とか、デイリーのランキングとか、マイリストみたいなものができてくると、あとで見返せていいかも。ネタが秀逸だと、流れていってしまうともったいないとか思うので。(そういう一期一会的な楽しみ方なのかもしれないですが。)

Kodougu でもお題を切って図を描けると面白そうですね。「会員管理システムのクラス図は?」みたいなお題になりそうですけど。(^^;

Posted by あかさた
私は趣味で Rmake という RPG 作成ソフトを開発しています。このソフトを開発する際に使っている手法を紹介します。

続きを読む

Posted by あかさた
スパムコメントが増えてきたので、このサイトのスパム対策(コメントのみ)を少し強化しました。

立てた対策は見えない入力領域を作って、そこに入力がある場合はスパムとみなすという感じです。ロボットなら、入力領域はとりあえず埋めてくる可能性があるので、多少効果があると踏んでいます。

Posted by あかさた
Rails勉強会@東京第25回のポジションペーパ。今月こそは参加するぞ!

ポジションペーパ(PNG)

■ 追記(2007/12/17 2:14)
今回も行けませんでした。orz

Posted by あかさた
Kodougu で使っていた dojo を 0.4.3 から 1.0.1 に上げました。0.4.x から 0.9 の段階でドラスティックに変わっていたので、Kodougu の JavaScript は 3000 行に満たないのですが、移行にかなり手こずってしまいました。

まだ、運用環境にはアップロードしていないのですが、大半の機能は動くようになったので、作業ログと感想を載せておきます。

作業環境:Firefox で移行作業を完了させてから、 IE での確認。

■ 疑問と感想
(1) イベント系について
イベント系が dojo._base に組み込まれたのはなぜでしょうか。個人的には従来の名前空間(dojo.event.browser)でもいいかなと感じました。それとも、よく使うものだから dojo 本体に入れ込んだのかな・・・?

(2) dojo.io.bind について
敢えて specific な構造(従来は dojo.io.bind という抽象的なメソッドだったのが、dojo 1.0 では、iframe や XMLHTTPRequest などのプロトコルごとにメソッドが準備されている)に変更されたのは・・・まぁ、なんとなく理由はわかりますが、従来の「とりあえず bind」でもよかったかなという気もします。

(3) dojo.io.FormBind が無くなった
また、dojo.io.FormBind がなくなったのが痛かったです。dojo.io.FormBind は、既存の Form の Submit ボタンが押されたイベントを拾って、Ajax 方式でリクエストをサーバに送信してくれるクラスです。

対策としては、Dojo の Form には、Form の Submit ボタンを押すと実行される OnExecute というイベントがあります。Form.execute というメソッドをオーバーライドして、ここで、xhrPost(Ajax)を送信するようにしました。このため、Rails の Form といまいち相性が良くありません(※)。もしかすると、Form 系は Rails を使わずにすべて dojo でやってしまうのも手かもしれません。Kodougu では、Rails で Form の外枠だけ作って、あとから dojo の Form 系 Widget を生成しています。

※ dojo 使っている時点で、Rails の Ajax 系ヘルパーをそのまま使うことはあきらめるしかないのですが。そのうちだれかが何とかしてくれるでしょうけどね。

(4) 感想
0.4.3 から 1.0.1 と、かなり隔たりのある更新作業だったので、正直大変でした。それでも、感覚としては、「ドラスティックな変更の割には、今のところ互換性による影響はそれほど出てない」と思います。(一番困るのは、「××が廃止されたから○○はできません」みたいなことが起こることですが、それはありませんでした。)dojo もいろいろな意味で品質が上がってきたのかもしれません。

dojo.collections -> dojox.collections のような変更が続くなら、バッドノウハウであるコンストラクタをラッピングするだけの Factory を作りたくなりました。ま、作らないと思いますけど。

続きを読む

Posted by あかさた
C# でオープンソースとして開発している RPG 制作ツール RmakeDycoon 氏 に使ってもらいました。かなりいやらしい使い方をしてくれたようで、致命的なバグをいくつか発見してくれました。(ユーザビリティ上の問題点もたくさん挙げてくれました。)いわゆる小規模なベータテストというやつです。

これまで自分でドッグフードしてきましたが、品質の改善には限界があるなとつくづく思いました。なにより、開発者よりもユーザーの方がヘビーユーザーになる可能性の高いツールなので、ドッグフードのやり方では、普通のテストでは見過ごしてしまう重要なバグを見つけきれないという問題もあります。

やはり品質を上げるには、使ってもらうのが一番なんですよね。開発途上版を使ってくれる人なんてそうそういないでしょうが。。。

Rmake は(ソースコードも含めて)こちらから入手できます。現在、アルファ版です。

Posted by あかさた
今、Kodougu の dojo を 0.4.3 から 1.0.1 に上げる作業をしています。その過程で見つかったちょいネタです。DojoX に含まれる Dojo Strage は Google Gears をラッピングしているそうです。夢が広がるなぁ・・・。

例:
dojox.storage.put("someKey", "someValue");


SQL 直打ちも可能:
var results = dojox.sql("SELECT * FROM DOCUMENTS");


情報元は The Book of Dojo です。
http://dojotoolkit.org/book/dojo-book-0-9/part-5-dojox/dojo-offline/storing-offline-data

■ 追記(2007/12/5 15:48)
以下から読み始める方が、理解が深まります。
http://dojotoolkit.org/book/dojo-book-0-9/part-5-dojox/dojo-offline

Posted by あかさた
via Dojo/JavaScript Toolkitのメモ

Dojo UML(リンク先は結構重いので注意) というものがあるみたいです。Kodougu と同じく Dojo Toolkit を使っているそうです。Web 上でベクターグラフィックスなんて結構楽勝な時代になったってことか。

Posted by あかさた
CodeRepos というリポジトリ共有サイトがはやっているようですね。参加している人であれば誰でもコミット可能という何とも素敵なサイトです。実際、ここまでオープンなリポジトリ共有サイトを使ったらどういうことになるかは分からないので、一回使ってみたいものです。

そのまま入れられるかわかりませんが Rmake をコミットしてみようかなと考えています。C# だと dis られるかと思いましたが、意外と C# のコードも入っているみたいです。これはこれで楽しそうです。

■ 2007/11/22 追記
コミット権もらいました。対応早い・・・。ありがとうございます。

以下自己紹介ページです。(まだほとんど何も書いてないけど。)
http://coderepos.org/share/wiki/Committers/akasata

Posted by あかさた