今日の午前は時間がないので午後からあちこち読むことにする。
2008年10月28日火曜日
2008年10月24日金曜日
Silverlightに3Dゲーム"Quake"を移植中
QuakeLight, the Silverlight port of Quake, is coming...
ほほう。
しかし、Flashみたいに環境が整備されているわけじゃないので、ハードルは高そうだ。
ちなみにFlashの環境の話は、「C 言語で書かれたソフトウェアが Flash で動くようになるかもしれない | METAREAL」とか、LL Future 「古い言語、新しい言語」におけるalohakunの発表資料(ppt)とかを参照のこと。
ほほう。
しかし、Flashみたいに環境が整備されているわけじゃないので、ハードルは高そうだ。
ちなみにFlashの環境の話は、「C 言語で書かれたソフトウェアが Flash で動くようになるかもしれない | METAREAL」とか、LL Future 「古い言語、新しい言語」におけるalohakunの発表資料(ppt)とかを参照のこと。
ソフトウェア開発の学派
ソフトウェア開発の学派をやっつけた。
「ソフトウェアのOOPSLA派(OOPSLA学派)」と角谷さんが書いているので、"school"の訳語は「学派」にしておいた。
「ソフトウェアのOOPSLA派(OOPSLA学派)」と角谷さんが書いているので、"school"の訳語は「学派」にしておいた。
“OOPSLA school”は、「OOPSLA派」がいいじゃろうか
それとも「OOPSLA学派」がいいじゃろうかわしは「OOPSLA流」も好きじゃ
「OOPSLA式だよ派」はふざけすぎじゃの
じゃあの。
平々毎々 (Hey hey, My my) | 明日まで暇じゃ。
2008年10月18日土曜日
GLEEでExpression Treeを視覚化
ソースはこちら(GraphAppSolution.zip, 1.94MB)
試してみたExpressionはこちら。
結果はこのようになった。

気が向いたので、Microsoft版GraphVizとも言えるGLEEを使って、Expression Treeを視覚化してみた。Expression Tree Visualizer を自作/改良してみようという人で,見た目をどうしようか悩んだときは,Mathematica 6.0 の TreeForm あたりが参考になるかも.
Visual Studio 2008 Add-Ins - NyaRuRuの日記
試してみたExpressionはこちら。
結果はこのようになった。
- 最初はリフレクションを使っていたが、見た目を良くしようと思うとif文が多くなってしまったのでやめた。
- 拡張メソッドを使用してVisitorパターンっぽく書いてみた。
- ところが、拡張メソッドではダブルディスパッチにならないので、結局のところif文の羅列になっている。
2008年10月16日木曜日
Silverlight 2 RTW対応した
今までブログにあげていた、Silverlight2 Beta用コンテンツをRC0および正式版で動くようにした。
Silverlightの起動パラメータに
"Remind me later"をクリックすると、こんな表示になる。
正式版を強制するのなら、minRuntimeVersionの値を"2.0.31005.0"にすればいい。
なお、対応したコンテンツは
だ。
<param name="minRuntimeVersion" value="2.0.30930.0"> <param name="autoUpgrade" value="true">と書いておくと、RC0と正式版以外ではこんなダイアログが出る。
2008年10月15日水曜日
インストールされてるSilverlightのバージョンを知るJS
こんな記事を書いても4人ぐらいしか読まないのでは……
Silverlight 2.0のインストール用ページに含まれているJSをざっと読んだ。 ポイントは、
Silverlight 2.0のインストール用ページに含まれているJSをざっと読んだ。 ポイントは、
- ActiveXコントロールの場合はIsVersionSupported()で細かく問い合わせていくしかない
- Mozillaプラグイン(Netscapeプラグイン)にはdescriptionプロパティがあるのでそこを見ればいい
- ところがMacOSのMozillaプラグインだとdescriptionプロパティは"major.minor. build" までしか返してくれないので、revisionを知りたければやっぱりIsVersionSupported()で細かく問い合わせていくしかない
http://www.microsoft.com/silverlight/scripts/General.jsより抜粋
http://www.microsoft.com/silverlight/scripts/Install.jsより抜粋
http://www.microsoft.com/silverlight/scripts/silverlight/General.jsより抜粋
(追記)2.0RTWになって少し修正された。2008年10月10日金曜日
JavaScriptでMVPパターン(jQuery編)
昨日の「JavaScriptでMVPパターン(ぷよぷよ編)」ではアニメーションできてないのが嫌だったので、今日はアニメーションを書いてみた。
jQueryでアニメーションしながらMVPパターン

モデルはこんな感じ。start()で開始。next()で状態遷移し、オブザーバーに通知。
ビューはこんな感じ。jQueryを使っている。update()の中でアニメーションを開始し、コールバック関数はプレゼンターを呼び出すようにしている。
プレゼンターはすごく短い。こんなのでもプレゼンターと言うのか?
MVPパターンを何か勘違いしてるだろうか?
jQueryでアニメーションしながらMVPパターン
モデルはこんな感じ。start()で開始。next()で状態遷移し、オブザーバーに通知。
ビューはこんな感じ。jQueryを使っている。update()の中でアニメーションを開始し、コールバック関数はプレゼンターを呼び出すようにしている。
プレゼンターはすごく短い。こんなのでもプレゼンターと言うのか?
MVPパターンを何か勘違いしてるだろうか?
2008年10月9日木曜日
JavaScriptでMVPパターン(ぷよぷよ編)
せっかくUIパターンについて3つも記事を書いた(UIパターン その1、UIパターン その2、UIパターン その3)ので、自分でもコードを書いて試してみようと思った。
連鎖シミュレーションツール

JavaScriptのコードはこれ(puyopuyo.js)。

モデルは2つ。fieldModel (6x12のフィールド)と、nextModel (次ぷよ)。observersフィールドにビューを追加しておくと、適宜update()関数をキックしてくれる。
fieldModelを書いたときにはgetter/setterをつけてみたのだが、まどろっこしかったのでnextModelではフィールドを直接公開してみた。

ビューも2つ。fieldViewと、nextView。どちらもupdate()関数を持つ。ビューを組み立てるときにはHTML DOMのノードコレクションを渡すようにしている。

プレゼンターは1つ。といってもあまりやることがない。

作ってみて気がついたが、Observerパターンを単純に実装すると困る。何が困るかって、アニメーションだ。
ぷよの落下と消滅はアニメーションするように作らないと、一瞬で終わってしまって何のことやらわからん。
ところが、JavaScriptでアニメーションするときって、完了後の処理はコールバック関数として渡さないといけないわけだ。
今回は手を抜いて、画面を更新するたびにダイアログを表示することにした。結果は情けないことになっているが、本来の目的はMVPのサンプル実装なので、大目に見てくれ。
ちなみに、なぜ「ぷよぷよ連鎖シミュレーション」にしたかというと、ぷよぷよが下手で連鎖を組めないからだ。これでじっくり研究できるぞ。
連鎖シミュレーションツール
JavaScriptのコードはこれ(puyopuyo.js)。
モデルは2つ。fieldModel (6x12のフィールド)と、nextModel (次ぷよ)。observersフィールドにビューを追加しておくと、適宜update()関数をキックしてくれる。
fieldModelを書いたときにはgetter/setterをつけてみたのだが、まどろっこしかったのでnextModelではフィールドを直接公開してみた。
ビューも2つ。fieldViewと、nextView。どちらもupdate()関数を持つ。ビューを組み立てるときにはHTML DOMのノードコレクションを渡すようにしている。
プレゼンターは1つ。といってもあまりやることがない。
作ってみて気がついたが、Observerパターンを単純に実装すると困る。何が困るかって、アニメーションだ。
ぷよの落下と消滅はアニメーションするように作らないと、一瞬で終わってしまって何のことやらわからん。
ところが、JavaScriptでアニメーションするときって、完了後の処理はコールバック関数として渡さないといけないわけだ。
今回は手を抜いて、画面を更新するたびにダイアログを表示することにした。結果は情けないことになっているが、本来の目的はMVPのサンプル実装なので、大目に見てくれ。
ちなみに、なぜ「ぷよぷよ連鎖シミュレーション」にしたかというと、ぷよぷよが下手で連鎖を組めないからだ。これでじっくり研究できるぞ。
2008年10月8日水曜日
ボウリングといえば、例のXPエピソード
最近会社の部署内で、ボーリングのスコア計算のプログラムを作るということがPGのネタのお題にあがっている。
[Other]最近は - かずきのBlog
ボウリングと聞いて思い出すのが、エクストリームプログラミング エピソード(関西弁バージョンもある)。
たまにKent Beckが出てきて、「私は、いつでも見ているぞー。」とか言うのが愉快。
2008年10月7日火曜日
Sudden Death Source
お台場のデックスに入ってたD&Beeで発見。

……や、買わなかったけど。
俺はCoCo壱の10辛をたまに食べる程度で充分。
(蒙古タンメン中本は、量が多すぎるのでツライ)
……や、買わなかったけど。
俺はCoCo壱の10辛をたまに食べる程度で充分。
(蒙古タンメン中本は、量が多すぎるのでツライ)
2008年10月3日金曜日
2008年10月2日木曜日
登録:
投稿 (Atom)