「ベストスピーカー賞 総合1位」を受賞した at 日本最大級の開発者イベント「デベロッパーズサミット2017 (デブサミ)」 #devsumi


デブサミで「ベストスピーカー賞 総合1位」を受賞して嬉しい!って話!

16651380_1487690714597110_1198905397_o

live-coding

デベロッパーサミット2017 ベストスピーカー賞 総合第1位

来場者数3000人を超える、日本最大級の大型技術者イベント『デベロッパーズサミット2017』にて、「ベストスピーカー賞 総合第1位」を受賞しました。
来場者アンケートをもとに選出されたそうです。毎年受賞者が選ばれ、たとえば 2013年は、Ruby の まつもとゆきひろさんが受賞されたそうです。
とても名誉な賞をいただけて嬉しいです。ありがとうございます!




↑ このスクショは、CodeZineの記事「デブサミ2017アワードの受賞者が決定、総合1位はデブサミ初登壇のちょまど氏」より

ベストスピーカー賞

  • 基準:来場者満足度・来場者数(満席率)による総合評価
# スピーカー 講演タイトル
1位 千代田まどか(ちょまど)[マイクロソフト] C#で簡単にモバイルアプリを作ろう!
2位 中井悦司氏[グーグル] Googleのインフラ技術から考える理想のDevOps
3位 佐藤太志氏[Cygames] グランブルーファンタジーを支えるインフラの技術

デブサミについて

日本最大級の開発者イベントです。毎年開催されています。

デブサミ2017公式サイト:
http://event.shoeisha.jp/devsumi/20170216/

c48lyoquoae0z7i-jpg-large

私のセッションの内容

話したこと

screen-shot-2017-02-22-at-1-53-05

  • 言語C#はいいぞ
  • クロスプラットフォーム開発ツールXamarinはいいぞ
  • 神IDEVisual Studio 2017はいいぞ
  • MSのクラウドサービスMicrosoft Azureはいいぞ

外部記事

私のセッションの内容は、こちらを参照:

c43dzg3uyaaf6a4-jpg-large-2

セッション開始前、大部屋が立ち見で埋まる

私のセッションは、一番大きな部屋の「Room A」(A会場) をあてがわれました!光栄です!
14:10 から、A部屋です!「C#で簡単にモバイルアプリを作ろう!」というタイトルでセッションを持っています。

timetable

そして、会場は超満員になりました!壁三面、立ち見です。

↓ ズラッと並ぶ、シニアエンジニアのみなさま(前の方の席はプレス席と関係者席のため空いています)
kaijo

この写真はセッション開始10分前に撮ったもので、実際の開始時はもっとギュウギュウでした。
運営の、翔泳社鍋島さんに聞いたところ、
私のセッションには『385名 (15分後の目視カウント)』ほどがいらっしゃったようで、

screen-shot-2017-02-22-at-1-01-14

すごいです!A会場が立ち見で溢れるなんて。。信じられません。

とのことでした!光栄です!ドキドキ、、、!

セッションの待機列が長蛇の列

私はスピーカー控え室にいたので待機列のことは知らなかったのですが、
扉の前にズラーーーーーーーっと、とても長かったらしいです!

ライブコーディングで書いたコード

いくつかやった気がするけど、コード残ってたのはこれだけなので、これだけ紹介!

非同期処理

ライブドア社提供のお天気APIを使用させていただきました!
こちらのページに書いてあるように、JSONデータを返してくれる REST API を提供してくれています。
今回はそれを叩いて非同期で取得し、それをデシリアライズして表示する、ということをしました。

サンプルのJSONデータはこちら:
http://weather.livedoor.com/forecast/webservice/json/v1?city=400040

class Program
{
    static void Main(string[] args)
    {
        WeatherAsync().Wait();
        Console.ReadKey(); // 何かキーを押すまでプログラムが終了しない
    }

    private static async Task WeatherAsync()
    {
        // 叩くAPIのエンドポイント。天気予報データがJSONで降ってくる
        const string weatherApi = "http://weather.livedoor.com/forecast/webservice/json/v1?city=400040";

        // .NET で HTTP を扱うには、HttpClient というクラスを使う
        var client = new HttpClient();


        // Webからデータを「非同期で」取ってくる
        // (C# では、他の言語のような「コールバック」を使わず、await と書くことで、非同期処理の完了を待つことができる)
        var response = await client.GetAsync(weatherApi);

        // レスポンスから body のテキストを読み取る
        var json = await response.Content.ReadAsStringAsync();

        // 標準出力に表示。取得した生のJSONデータがコンソールに出力される
        //Console.WriteLine(json);

        // Json.NET で、JSON をデシリアライズします。
        // ここで、C#の機能のひとつである dynamic という、型の無い動的なオブジェクトとして受け取ります
        var result = JsonConvert.DeserializeObject<Rootobject>(json);
        Console.WriteLine(result.description.text);
    }
}

C# はいいぞ

C# はいいぞ。
ということで、プログラマ目線からの C# の具体的な紹介です!

C# の持っている機能

16777046_1487691254597056_1640467392_o

C# が好き過ぎて Microsoft に入社したくらいですので、C#の話題になると急に流暢に話せるようになります。

screen-shot-2017-02-22-at-2-34-00

  • 多値戻り値を可能にする タプル
  • コレクション操作のための LINQ
  • 非同期処理のための async/await
  • 型引数を受け取る ジェネリクス
  • 匿名関数 ラムダ式 … などなど

↑ ちなみに、TypeScript (コンパイルすると JavaScript のソースコードを出力する)も Microsoft が (オープンソースで)開発している言語です

サンプルコード

C# は様々な機能を持っていますが、サンプルコードを2つだけご紹介しました。

c4195ruueaebfmz-jpg-large-2

( *゚▽゚* っ)З「会場には優秀なエンジニアの先輩方ばかりだからね!言葉で説明するより実際にコード見てもらったほうが理解してもらえると思ったのよ」

コレクション操作:LINQ

ちょまど
私「LINQは目玉機能のひとつだもんね!前からあるもので」

コレクションを操作する時に、C#には LINQ(リンク)という超便利な機能があります。
WhereとかSelectとか SQL文みたいな感じのをメソッドチェーンで書くことができます。

screen-shot-2017-02-22-at-2-16-18

イベントがかっこよく書ける

screen-shot-2017-02-22-at-2-16-11

皆の感想

私の学び

  1. 登壇直前の「スピーカー控え室」重要。先に登壇を済ませている先輩方がアドバイスや警告をくれたりする。(例:今回は先輩エバンジェリストの牛尾さんがネットワークやばいと教えてくれたから対策が練れた)
  2. 会場のネットワークが貧弱な危険を考えて、ライブコーディングのデモは、バックアップ用の事前録画しておいたビデオを用意しておくの大切。常に「プランB」を用意。
  3. シニアエンジニアの方々、優しい。ネットワークの問題でライブコーディングを途中で諦め、動画に切り替える際、ちょっと停滞してしまったんですけど、皆優しかった。やはり真に強い強者は弱者に優しいのだ
  4. 会場の目黒雅叙園、素敵なところだった!お手洗いの中に川が流れてたり橋が設置してあったり、あと、鯉が泳いでた

「「ベストスピーカー賞 総合1位」を受賞した at 日本最大級の開発者イベント「デベロッパーズサミット2017 (デブサミ)」 #devsumi」への2件のフィードバック

  1. ベストスピーカー賞 総合1位、おめでとうございます。ちょまどさんの成長ぶりを見ていると私もとても嬉しいですし、励みになります。これからのご活躍にも期待しています。

コメントを残す

メールアドレスが公開されることはありません。