Menu


Microsoft Most Valuable Person

備忘録

コードが設計書

内部DSLをフル活用して、宣言的なコードが実行できて、かつ宣言的な部分が仕様書になる。

論理レベルではUIも自動生成できて、動きを確認できるとよい。ViewModelはその後の実装や自動テストにも使う。

少なくとも、言語組み込みデータ型は使わないことが必須。くっそくだらない範囲チェックとかそういうのをコードから全廃する。

サンプルとしては家計簿アプリがいいかも。

北限の海女ゲーム

早い者勝ち!

海女の斜め方向をタップして泳がせる。海底にはウニがいるが、距離が一定以内でスピードが一定速度以下でないと採れない。

海底や障害物などにぶつかると酸素が減る。酸素がなくなる前に海面で息をしないといけない。お客さんを待たせすぎるとゲームオーバー。

ボーナスキャラで南部ダイバーや影武者が出現。影武者はグラディウスのオプションみたいな感じでついてくる。泳ぐスピードが速くてもウニを採ってくれる。

麻雀

思考ルーチンを募集してみんなで競いあう。

IronRubyやIronPythonで書けたら面白いと思う。

マルチタッチ写真破りアプリ

おばかアプリのネタ。元恋人との写真をマルチタッチで破ったり、燃やしたり、ナイフをさしたり。
――似たようなのがあった。

VB6のfrmからXAMLへのコンバータ

VB6を捨てるには。

短縮アドレス

http://別名で.jp/短縮アドレスを生成

http://別名は.jp/というサイトを作ってはみた。最初は短縮アドレス部分も日本語にしてたのだが、twitterに張り付けてもリンクとして有効にならなかった。

そうこうしてる間にtwitterが公式にURL短縮機能を取り込んだのであまり便利じゃなくなった。

TODO: GitHubでソース公開

HTMLテンプレートエンジン

プレーンなHTMLでWeb Applicationのビューを定義できるテンプレートエンジン。 Javaで言えば、Apache Wicket、Apache Tapestry、Seasar Mayaaあたりが実装している。 (ただし、Wicketはwicket:id、Tapestryはjwcidという、HTMLにない属性を使う。Mayaaはm:idを使うこともできるが、HTMLのid属性を使うこともできる。)

もし.NETで実装するのであれば。以下メモ。

  • 新たな拡張子(例:astx)を決める
  • System.Web.Compilation.BuildProviderから派生したカスタムBuildProviderクラスを作る
    • foobar.astxとfoobar.htmlをパーズして、foobar.astx.csで定義されたIHttpHandler実装クラスの派生クラスをCodeDOMで生成する
  • IHttpHandlerFactory実装クラスを作る
    • *.astxへ要求が来た時にBuildManager経由でカスタムBuildProviderを呼び出して、IHttpHandler実装クラスのインスタンスをもらってくる

そうすると、以下のあたりが時間がかかるけど面白そう。

  • astxの仕様
  • IHttpHandlerを実装する抽象クラスの仕様
  • カスタムBuildProviderの実装 (ILと友達になりたくはないが)

びょーんすぽっすぽっゲーム

パチンコから球を2つ同時に打ち出して、2箇所に開いている穴に玉を入れる。

ゴムを引く力、打ち出し方向、2つの球の角度を調整しないと玉が穴に入らない。


Last Update: 2015-01-09 10:57:20