T6-307 ASP.NET MVC 2 Web 開発 ~ 全貌と応用、そして vNext に向けて ~
ASP.NET MVC2の紹介セッション。ASP.NET MVCすら使ったことがないので、MVC2の新機能を耳に入れておくというのが目的で参加しました(すみません)。
前々からビュー名にリテラル文字列が入っているのが気になってたんですけど、T4MVCを使うと、それらも隠蔽できるとのこと。SQLクエリーを実行するのにも、LINQによってリテラル文字列を使わなくなってるんだから、当然あるべき進化ですね。
このセッションで出てきたEdtterを作ることをテーマにしていると思われるHands-on Labもありました(参加してないけど)。
T1-309 Windows Azure ストレージ詳説
詳説っていうから、内部のアーキテクチャの説明があるのかと思ったけど、違いました。セッション番号が300番台なんだから、そりゃそうですね。内容は、今までのTech·DaysやTech·Edで聞いてた話の範囲に収まってた感じです(事前にスライドを見ておけと)。アジェンダを見る限り、ストレージの概要に続いて、ブロブ、ドライブ、テーブル、キューを説明するはずのセッションなのに、実際にはブロブの話だけでほぼ時間切れ。naokisさんは、いつも話が半分ぐらいで時間切れになってるような……。
ドライブは、NTFSボリュームとして使えるクラウド上のストレージということで、Azureになっても過去との互換性を維持する姿勢は、さすがMicrosoftという感じです。NTFSはかなり高機能ですけど、どこまで互換性があるんでしょうか。名前付きストリームとかも大丈夫?
T5-306 SharePoint 2010 & Office 2010 開発レシピ
- マイクロソフト株式会社 ジニアス平井(平井昌人)氏
主題がSharePointだし、今回はさすがにジニアスのセッションを外そうかと思ってたんですが、ジニアスの魔力に負けてこのセッションを選んでしまいました。SharePointの使い方紹介が中心になるかと思いきや、そこはジニアス、終わりに近づくにつれてどんどん開発寄りの話になっていって、逆に、SharePointというタイトルにつられて聞きに行ったITPro寄りの人が泣いたんではないかと。
「SharePointを使い始めて3箇月」というジニアス、SharePointを使ったプログラミングのデモを次々と繰り出してましたが、SharePointを導入しようと思う層と、SharePointを相手にしたプログラミングをする層は、少しずれてるかもしれない。その意味で、マイクロソフトの狙いとは少しポイントがずれたセッションになっちゃったのかもしれません。私は楽しみましたけど。
いつも、その時点でのマイクロソフト一押しプロダクトのセッションを担当している(と私は思ってます)ジニアス。クラウド一色のTech·Edで、ジニアスがなぜSharePointのセッションを担当することになったのか、少し興味深いです。
T6-501 多言語パラダイムによる実践的手法 ~ 動的言語、関数型言語などを含めたプログラミング言語の有効活用へ ~
Tech·EdやTech·Daysで、いつも実装に関する深い所の話を担当されている荒井さんですが、今回は、世の中にたくさんあるプログラム言語をいかに選択し、有効に使い分けていくべきかについて、プログラム言語の成り立ちや性質にさかのぼっての解説。前半は、静的言語と動的言語の使い分け、後半は、関数型言語が注目され、それが必要となる理由の解説でした。
前半は、「変更の多い部分に動的言語(スクリプト言語)を、そうでない部分に静的言語(コンパイル言語)を使ってはどうか。」ということだと理解したのですが、現実の業務だと、たとえ動的言語を使っても、結局、リリースするには静的言語と同じ手続きを踏む必要があり、コンパイルの有無は誤差の範囲内です。はたして動的言語が解決の手段として使えるのかどうか。スクリプト言語であれば、リリースに対する制約が緩いというところもあるんでしょうか。
後半のほうは、私が「非同期処理が……。」というような仕事をしていないこともあって、率直に言って、ぴんと来ません。修行します……。プログラミング言語は、その背景に計算モデルを持っており、言語によって向いている処理、向いていない処理があることは分かったつもりです。クラウドコンピューティングを考えるときに、非同期処理というものが避けて通れない道であるのは、過去の萩原さんのセッションとかで聞いているので、これからは、関数型言語の一つでも、たしなみとして知っておく必要があるかもしれません。Visual Studioで動く言語として、F#も提供されてますしね。それにしても、Microsoftという会社は、先進の研究結果を次々と実際の開発環境に投入していて、すごいです。
# 素朴な疑問。同じパラダイムに属すると思われるC#とVBをどう使い分けるのか、手続き型言語ということではほかにもいくらでも選択肢があると思われるのにCOBOLがなぜ生き残るのか。どっちも過去のしがらみですか?
T2-401 Effective Hyper-V R2 SP1 ~ 詳説 Dynamic Memory ~
2008年のTech·Edから始まった、佐々木さんの「Effective Hyper-V」シリーズ。1回目のHyper-V全般、2回目のLive Migrationに続いて、3回目の今回は、Windows Server 2008 R2 SP1から実装される、Dynamic Memoryに関するセッション。
今までのHyper-Vは、VMに対して設定されたメモリ割当量が、VMの起動時に必ず割り当てられるという仕様だったものが、R2 SP1からは、必ずしもそうではなくなるということで、その仕組みの解説。
VM起動時に設定量のメモリが割り当てられない、物理マシンに実装されている以上のメモリを持つ仮想マシンを起動するということは、どこかにメモリ使用量をごまかす仕組みが必要になるわけで、そのごまかし方を、時にはVMwareと比較しながら解説。決してVMwareに対する優位性を主張するような内容ではなく、VMwareに採用されているアーキテクチャがHyper-Vではなぜ採用されなかったかを、最近のサーバーのハードウェア事情に即して説明したり、ときにはVMware関係者の論文を引用して、Hyper-Vの仕組みを解説したりと、とても有意義な時間でした。
今だから話したい Windows Phone 7
最初は「Windows Azure & クラウド All wrap up」のほうに行こうと思ってたんですが、部屋を間違えました。まあ、個人的にはWindows Phoneのほうが興味あるし、正式なセッションが終わった後の余興みたいなものだし、いいかと。
Tech·Daysの時と同じく、「ここで聞いた話は外で言わないでね。」みたいな注意書きから始まって、国内には数台しかないという、shintakさんが持っているWindows Phone 7の実機を使ったデモや、Windows Phone 7の今後の展開などを、楽しく聞かせてもらいました。
しかし、あのshintakさんの話し方(「あいつら……彼らは(^^;)」とか)は、仕込まれたネタですか、それとも本音? (^^;)
全体を振り返って
今年のTech·Edは、Windows Azure一色で、Hands-on Labでも、Azureを使うコースが用意されてました。私が初めて参加した2002年のTech·Edの頃は、普通のWindowsアプリケーションが主流だったので、個人的な範囲でもいろいろと役に立つ話が多かったのですが、去年、今年のTech·Edで前面に出てきた、クラウドで動くアプリケーションとなると、当然ながら大勢の人に利用してもらうものが中心になり、個人の範囲で使いこなすのは少し厳しいかもしれないです。ただ、開発からリリースまでについて言えば、Windows Azureによって逆に敷居が低くなっています。今までなら、サーバー運用なんて、個人の手に負えるものではありませんでしたが、Windows Azureの場合、サーバー運用は全部Microsoftに任せてしまって、開発したアプリケーションに集中できますからね。
今年のTech·Edは、レベルを上げていくという事前の予告通り、500番台のセッションも3件、400番台のセッションが普通にあるという内容でした。こっちしても、今回のような内容のほうが、聞きどころがあってよいですね。新商品紹介セッションばかりだと、「あ、それもう聞いてますか。」の連続になりますので。特定のMicrosoft製品の話だけにとどまらず、その製品が関わる分野の一般論に話が広がってくれると、さらに嬉しいです。今回だと、荒井さん、佐々木さんのセッション(レベル高すぎてついていけないのが明白だったので参加は見送ったけど、萩原さんのセッションも間違いなくそう)。
日程について言うと、マイクロソフトも参加者側も、通常セッションは後でストリーミングが提供されるからという理由で、聞きたいセッションの時間帯の重複を気にしなくなっているような気がします。でもやっぱり、セッションは直接聞きたいです。日程を4日間に戻して、もう少し分散させてくれないかな。
あと、マイクロソフトを退職されたエバンジェリストの方々のお名前が、何人か見られましたね。オンラインのみではありましたが、Tech·Ed新聞も復活してましたし。
ということで、ブログを書いたので、今年のTech·Edはこれで終わりです。また来年も行きたいです(自費で行ってるんだから、休みが取れるかどうかだけが問題だ)。