de:code day1 感想

すっかりブログほったらかしてましたがちゃんと生きてます。ここ半年くらい、仕事があまりに忙しすぎて死んでました(どっちだよ)。

さて、5/29、30 に de:code という MS の有償イベントに参加してきました。レポートという程ではないですが、せっかくなので感想くらいは残しておきます。写真は原則撮影禁止なのでないです。公式ブログ(day1)はこちらです。

とにかく楽しめました

MS の有償イベントには初参加でしたが本当に楽しかったです。同じ会社の同僚がいたこともあってぼっち感も程々で助かりました。day 1 夜のパーティはあれはさすがに一人ではきつかった。

あとまあちょっとお高いのがアレですが、今回と同じくらいのお土産が毎回付いてくるなら、Y(ome)Auth が実装されてない方は参加を積極的に考えても損はないんじゃないですかね。ここらへんは賭ですね。後日全体に対する感想書くつもりですが、お土産ないなら参加費高すぎなので個人的にはおすすめしません。

Keynote 『エンジニアの力を無限大に & Developers build the Future』

Keynote です。樋口さんを初めて生で見ました。社長されてる方にこれいうのも失礼かもしれませんが、話がめっちゃ上手でした。話し方が上手いので聞いてて飽きないし、声も素敵でしたね。程よく威厳がありつつ、でもフレンドリー。僕はゲイではないですよ?

どうやらそのうち動画が公開されるそうなので整理してもあんま意味ないかなと思いますが。しかも興奮してたのでメモ取ってません、かなりうろ覚えです。

Mobile First, Cloud First

de:code 開催中ずっとプッシュしてましたね。Cloud はまあそりゃあね、という感じですが Mobile は意外です。タブレットも Mobile に含まれてるんですかね?

とりあえず Windows Phone だけイメージしたので驚いた次第です。実は海外だとめっちゃ宣伝してたりしてそうでもないんですかね?早々に「WP に関する新しい発表はありません」宣言されたのでアレですが、日本でも WP が出てくれるのをお待ちしておりますですよ。

de:code 今後も継続するよ

だそうです。 こういう関係者が一同に集って何かやる機会は貴重だと思います。コミュ障なのでお友達は出来ませんでしたが、何人かの方とは名刺交換させて頂いてギリ知り合いになることができました。エバンジェリストに会えるのもこういう公式イベントの良いところですね。それと、ちょっとした勉強会だと本当に興味のあるカテゴリしか参加しないのでどうしても知識が偏っちゃうってのもあります。

Technical keynote

エバンジェリスト数人が代わる代わるデモをしていました。単純にプレゼンが上手だなぁというのそうですし、スムーズにセッションを切り替えていてその点も勉強になりました。

Windows & .NET は組み込みでも使ってるよ」という話は大変興味深かったですね。実際ラジコン動かしたりしてて、おー、もう全然普通に組み込みで .NET 使っていけるんだな、と。そっち方面で .NET 使ってお仕事している方とお話してみたくなりました。

Building Big : スケーラブルでサービス継続性の高いクラウドアプリ設計の基礎

昔は眼前の機能のことしか考えてなかったんですが、ここ数年システム全体見るようになってきたので非常に勉強になりました。あんまりクラウド関係なく普遍的に知っておくべきお話だったように思います。

コスト注意

SLA を 99.9 => 99.99 にするコストすごいよ、という話。トレードオフ大事。

SLA を考えるときは広い視点で

仮に全ての提供サービスにおいて SLA 99.99% のクラウドサービスがあったとしても、それを五つ組み合わせればシステム全体の SLA は 99.95% になるので注意しましょうというお話でした。

そりゃそうだよね、と思った一方で「可用性は常に一定である必要が無いので要件をきちんと捉えろ」という話はなるほど確かにとうなりました。どういうことかというと、セッションではスポーツ情報 Web サイトを例にしていたのですが

  • 試合の配信中は SLA 100%(!?) を期待する
  • が、試合がない日は最悪 0% でも良い
  • 選手の各種資料ページは 99% 程度で良い
  • これらを平均すると、SLA 99.95% になった

ということですね。

障害発生前提の設計をする

クラウドでは障害の発生を前提として、「如何に落ちないようにするか」よりも「如何に素早く復旧するか」という思想で設計しなさい、ということでした。なぜクラウドだとそうなるのかは失念してしまって、、、誰か覚えてたら教えて下さい。

障害を前提としたテクニックとして、リトライ意外にもスロットリング(絞る)、縮退運転、Circuit Breaker パターンなどがある。

  • Circuit Breaker パターン
    • いくつかの評価基準を持ち、いずれかが閾値を超えたら新規接続を打ち切る
    • 既存のセッションは維持して障害による影響は感じさせない
    • 新規接続セッションには「現在混み合っています」と表示するなど

Windows Phone 8.1 プラットフォーム徹底解説

とにかく楽しかったです。他のセッションと違って皆「分かってる」感があるというか、すごく仲良い感がありました。すいません、上手く説明できません。

で、TL 見る限り忍さんの話ばかりだったので、専門の人からすると多分深い話ではなかったんだろうと思いますが、仕事が ASP.NET な私は「興味あれども知識なし」なので非常に勉強になりました。忍さん、本当に皆に愛されているんですね(そっちかよ)。

Windows Phone の設計すごいよ

タイルもフラットデザインも実は Windows Phone が最初ですよ、と。 他にもスリープ状態からハードウェアキーでのカメラ起動やカーブフリックWord Flow Keybord などなど先進的な機能が盛りだくさん。で、Windows Phone で試したデザインを Windows にフィードバックする流れということらしいです。

Windows Phone は

  • 新機能だして
  • ユーザからのフィードバックをもらって
  • すぐに反映、アップデート

する思想、設計になっているとのこと。 具体的には、今まで OS に持たせていた機能を出来るだけアプリにして、アップデートによる影響範囲を抑える設計になっているそうです。OS も身軽になってアップデートしやすくなったそうで、良い設計ですね。見習いたいです。

おすすめアプリ

Bing 翻訳家 Office Lens

アプリ構築のための次世代 .NET テクノロジ

ちょっと予習不足なのとその日の最終セッションで正直疲れてて記憶が。。。すごく面白い話をしていたと思うのですが、、、後悔しています。動画公開されないのかな。

.NET 戦略 2014

生産性もパフォーマンスも欲しい

.NET の Native は、C# の生産性を持ちながら C++ のパフォーマンスも持たせることが基本方針。C++ のパフォーマンス優位性の例としてデバイス毎の最適化がある。ビルドに時間が掛かるようになるので開発時はちょっと面倒かもしれないが、アプリ配布についてはストア側でデバイス毎に事前ビルドしてくれるので問題ない。公式 から開発者プレビュー落としてくれば今でも使えるよ、とのこと。

ロッズリーン/

新しい .NET コンパイラ プラットフォームコンパイラOSS になります。コンパイラOSS になってうれしいことの一つに、どう構文解析してるかが分かるようになるのでリファクタリング機能が充実するという話でした。デモも見せてもらいましたが、普段 R# 使っているので正直あんまり。。。まぁ今後さらに R# が進化すると思えば。