2008年3月20日木曜日

あの広告インスパイア

reblogされるかな?

ドメイン駆動

同僚の尾島氏が(いつのまにか)監修。
ドメイン駆動

ドメイン駆動

  • 作者: Jimmy Nilsson, 尾島良司, 株式会社ロングテール長尾高弘
  • 出版社/メーカー: 翔泳社
  • 発売日: 2008/03/20
  • メディア: 大型本

翔泳社のページに概要が書いてあった。

デザイン&パターンへのドメイン駆動適用法解説

この本の最大のテーマは、ドメインモデルをクリーンに作りつつ、永続記憶とも仲良くする方法である。ドメインモデルようなもののための永続記憶はどのように構成されるかを示し、ドメインモデルとデータベースの間に橋をかける。
また、単にパターンの使い方を説明するだけでなく、たとえば、O/Rマッパーでパターンがどのように使えるかまで説明する。
この本の中心はパターン自体ではないが、この本ではすべての章でパターンをツールとして、設計のさまざまな側面を論じるための言語として利用していく。この方法には、パターンを知らない読者が、本を読むうちにパターンに興味を覚え、パターンとは何かということに関してイメージをつかんでいくだろう。
プラットフォームごとに読者を分類して言うなら、この本は、ドロップするまでドラッグするというような場当たり的なやり方ではなく、しっかりとした理論に支えられたアプローチを取りたいと思っている.NET世界の人々の役に立つだろう。また、DDDとO/Rマッピングの組み合わせ方についての議論やサンプルからは、Javaの世界の人々も学べるだろう。
(「序章」より抜粋)
同じく翔泳社のページに著者紹介がある。
それを読むと、原著者のWebサイトはhttp://www.jnsk.se/WeBlog/だそうだ。
原書は"Applying Domain-Driven Design and Patterns: With Examples in C# and .NET"とのこと。

2008年3月18日火曜日

ClassNamerに笑った

ClassNamer
何度かリロードさせよう。
こういう、一発ネタのような冗談が好きだ。今回のはプログラマーにしか面白みが分からないだろうが……

出てきた中の秀作。
ConfigurableGirlfriendState

ブラックホール? Google

Project Looking Glassで有名な川原英哉さんもGoogleに転職していたとは。(古川亨ブログで知った)

QuickCheckをC#に移植すると

結構嬉しいのではないか。うずうず。

2008年3月13日木曜日

Mash up? the subtitled MIX 08 keynote video

I wrote a Silverlight app to watch the MIX 08 keynote video with a subtitle.
UI of the app is derived from Expression Media Encoder.

the mechanism is simple: after the video is opened, TimelineMarker objects are dynamically created and added to MediaElement.Markers property.
and in a MarkerReached event handler, the caption of the player is set to the value of TimelineMarker.Text.
I tagged all the timings manually. (yes, I took advantage of another app I wrote.) If only I had a speech recognition system.

EDIT:Actually, there is a trick.
all videos are hosted on "msstudios.vo.llnwd.net" domain and you can't dynamically added TimelineMarker objects. (it's a cross domain restriction, I think.)
So, I put an asx file at a server. I doubt that it works on Mac.
A problem is that a browser occasionally freezes when closing for an unknown reason. Can anybody fix it? EDIT: fixed. a WMV file I chose was wrong.

2008年3月12日水曜日

Mix 08のキーノートに字幕をつけた

Silverlightアプリはここに置いた。
UIも付けた。(Expression Media Encoder付属のプレイヤー)
やってることは単純。ビデオがロードされたあとに、TimelineMarkerを動的にくっつけて、MarkerReachedイベントハンドラでテキストを表示するだけ。
マーキング(Timeタグ付け)は手打ち(専用アプリを書いた)。音声認識できるんだったら自動でタグを付けられるかもしれないけどね。

(追記)以下修正
実際には、ちょっと謎のハックが入っている。
ビデオ自体はMSがホストしている(http://msstudios.vo.llnwd.net/o21/mix08/ 以下)ので、普通にやるとクロスドメインの制限に引っかかるのか、TimelineMarkerをくっつけられない。そこで今回はローカルにasxファイルを置いている。試してないけど、Macだと動かないかも。
落とし穴として、ウィンドウを閉じようとするとフリーズするときがある。(これ回避できるのかな…)(追記)ダウンロード用ムービーファイルを指定していたのが良くなかったみたいだ。配信用ムービーファイルにリンクしなおしたら直ったっぽい。


英語でも説明が要るかな……?

(追記)「っき」さんからコメントを頂いた。

asxファイルをサーバに置くまで動かなかったという話が奇妙に思えたので、勝手ながらmix08/ 以下を自サイトにコピーして実験させて頂きました。その結果、StartPlayer.jsの”media.asx” をmedia.asxで指定されていたURLに置き換えても動作する事を確認しました。
asxファイルで参照しないと動かなかったというのは、お手元のローカル環境でテストした時にイントラゾーンからインターネットゾーンのURLを参照した事で引っかかったかのではないか?と思っているのですが、いかがでしょうか?
尚、SDKのヘルプを確認したところ、MediaElementのSetSourceメソッドはクロスドメイン制限があるので、他サイトのURLを指定したい場合はXAMLのSourceプロパティで直接指定しろとの記述がありましたが、このプレイヤーはDOMを操作して回避しているようですね。
スキームの違いについては、httpsとhttpの間では問題になりますが、httpとmmsの間であれば今のところ(本物のmmsを使わずhttpにフォールバックしているせいかもしれませんが)問題ないようです。
コメントで長文失礼しました。m(__)m

ということでasxの件はこちらの環境の問題だったみたいだ。スクリプトはasxを使わないように変えた。

中島聡×海部美知 講演会に行ってきた(ダイジェスト版)

お二人の出版記念トーク&サイン会に行ってきた。
一緒に行った友人のメモのノリが面白かったので勝手に引用。(ごめん!)

TOKYO駅とても広い。

ヤエスブックセンター四階から階段。

シリコンバレーのGoogleの食堂は厳しいぬるま湯。

俺会社つぶしたことあるんだぜ、タイマンなら負けねぇ。

技術者は神だ!
世界の半分をお前にやろう。
俺は変態だ、お前らも変態だ。

変態に優しい社会を!!
外国人は日本語が読めない。

ユー達英語しゃべっちゃいなよ。

金があれば君の好きな研究がいくらでもできるんだよ。
君には期待してるよ。

分かるかな?分かんないだろうなあー。
ちゃんとした?レポートは後で書きますよ。

2008年3月8日土曜日

MIX 08 3日目

今日で最後。あっという間だなあ。
  • Bring Your Data to Life with Windows Presentation Foundation
  • Microsoft Silverlight and Dynamic Languages
    John Lamの話も面白いなあ。セッションの内容は彼のブログに書かれていることとかぶっている。
  • Applications = Designers + Developers
    Expression Design, Expressino Blend, VS2008の紹介どまり。つまんないので退出。
  • Effective User Interfaces in Windows Presentation Foundation and Microsoft Silverlight
    Innotive corpという会社の人が自社製品の紹介ばかり。つまんないので退出。
終わったー!

2008年3月7日金曜日

MIX 08 2日目

あまり更新してる余裕がないな……
今日はガイ・カワサキのキーノートに期待。
  • Real-world AJAX
  • Creating Rich, Dynamic User Interfaces with Silverlight 2 Controls
  • 昼ごはん
  • キーノート
    Guy KawasakiとSteve Ballmerの対談……といってもGuyが話を振ってSteveが答える感じ。GuyはGoogleの話を振ったり、MacBook Airを薦めてみたり。会場からの質疑応答の時間では、会場からのリクエストに乗って「Web Developer! Web Developer! Web Developer!」と叫ばされたSteve。
  • Social Networks: Where Are They Taking Us?
  • Exploring Mono
    Miguel de Icazaの話が面白ぇー!
  • Crossing the Usability Chasm - Advanced and Adaptive User Interfaces(reprise)
    再放送もとい再セッション。裏のShow Offが気になる……
  • Rock Band Tournament
    ギターマニア&ドラムマニア&カラオケ大会。すごく参加したいのだが、一人では無理だしなあ……

2008年3月6日木曜日

MIX 08 1日目

(適宜更新)
朝ごはんつき。
もう10分ほどでキーノートが始まるぞ。
今歌ってるのはVince Miraというシアトルのシンガーで、15歳らしい。とてもそうは見えない。
keynote終了。
Silverlight 2 beta1はここから入手。
IE8 beta1はここから入手。
ASP.NET 3.5 Extensions Previewの最新版はここから入手。
キーノートの内容はここで確認できます(おれ涙目)
Ray Ozzie
Web as Hub
  • connected devices
  • connected entertainments
  • connected productivity
  • connected business
  • connected development
Dean Hachamovitch
IE8 (Tシャツ着てた)
  • css 2.1
  • css certification
  • performance
  • html 5 start
  • developer tools
  • activities
    (x)htmlの中にactivity定義xmlを書いておくと、それをie8が読み取って、スマートタグみたいなものを表示する感じ。
    仕様はこれ。Creative Commons by-saでライセンス。
  • webslices
    RSSの1エントリみたいな。cssのクラスとして書く。ie8でsubscribeできる。eBayやfacebookでのデモ。
    仕様はここ。Creative Commons パブリック・ドメイン寄贈。要するに制限なし。
    activitiesとwebslicesについてはここに書かれてることも参照
    ほんとの詳細はIEBlogが一番。あとで訳すかな。
  • feedback
Scott Guthrie
Silverlight 2 beta1
  • media
  • tco
  • business opotunities
  • RIA
  • dev-igners (developer + designer)
  • lots of demos
    シルク・ドゥ・ソレイユの人のデモが面白かった。パフォーマーを評価する業務アプリをWPF&SilverLightで作ったとのことでデモをしたのだが、テストデータにスコット・ガスリーを選んだ。面談もどき。「何かパフォーマンスをやって」と依頼し、スコットはその場でジャグリングを!その様子をムービーにしてアプリに登録してた。
昼ごはんつき。
午後1のセッションは、「What Is the face of the next Web?」が満員。「Opportunities and Challenges in Mashing Up the Web」に行ってみた。でも「Crossing the Usability Chasm - Advanced and Adaptive User Interfaces」もよかったかも。