[デブサミ] デベロッパーズサミット 2017 で登壇した #devsumi #devsumiA


デベロッパーズサミット (通称『デブサミ』/ Developers Summit) 2017 で登壇してきました!デブサミとは、2500人以上の来訪者を誇る、日本で最も大きな技術者イベントのひとつです。(2日間延べ合計:3,389名/ ユニーク数:2,641名)
そんな大舞台での登壇の機会をいただけて光栄です!ありがとうございます!
ライブコーディングをメインにした構成で、C#Visual Studio 2017XamarinMicrosoft Azureについて話してきました。とても楽しかったです!
この記事では、登壇者としての当日の感想セッションの流れ/まとめについて書きました。当日ご参加できなかった方もこの記事を読んでいただければなと思います。(とはいえ、当日のスライド140枚の内容を全て突っ込むのは無理なので、かなり省略して書いています(それでもめっちゃ長い記事になってしまったけど…。) 実際のすべての内容は実際に私のセッションを聞いてくださった方だけに!)

16651380_1487690714597110_1198905397_o

live-coding

このエントリーをはてなブックマークに追加

デブサミ2017公式サイト:
devsummit17

この記事について

c43dzg3uyaaf6a4-jpg-large-2

この記事は何が書いてあるの?

  • デブサミ2017での登壇の記録 (日記)
  • デブサミ2017での私のセッションのオーディエンスの反応まとめ
  • デブサミ2017で話した技術的な話のまとめ

目次

c48lyoquoae0z7i-jpg-large

  1. セッション前
    1. セッション開始前、大部屋が立ち見で埋まる
    2. セッションの待機列が長蛇の列
    3. 私のセッションへの感想
    4. 本番5分前
  2. セッション導入部
    1. セッションが始まった!
    2. セッションAgenda
    3. まずは自己紹介
  3. C#
    1. C# の話
    2. C# はいいぞ
  4. C# + 神IDE Visual Studio 2017
    1. C# + VS2017 デモ
    2. クリップボードの 生 JSON を class に変換してくれる VS の機能
    3. 非同期処理のJSON操作のライブコーディング
    4. トラブル:会場のネット環境が貧弱過ぎて NuGet Package Manager が読み込めず、ライブコーディングの残り2割くらいの過程をバックアップ用の(事前に撮っておいた動画)に切り替える
    5. デモのおさらい
    6. 皆も Visual Studio 使ってね!
  5. C# でのクロスプラットフォーム開発ツール Xamarin
    1. C# は どこでも動くぞ!
    2. Xamarin
  6. Microsoftのクラウドサービス
    1. Microsoft Azure (アジュール)
  7. 皆の感想
  8. 私の学び
  9. 最後はアフタヌーンティー
  10. 登壇後の夜は渋谷で英語コミュニケーションで登壇
  11. 私のセッションを見た人の感想ブログ

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

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

timetable

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

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

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

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

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

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

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

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

私のセッションへの感想

私のセッションを最後まで聞いてくれた人たちの感想を、ここに。(時系列的には最後に置くべきだけど、でも最初に持ってきたかった)

本番5分前

みんなは会場の扉から入ったいたけど、登壇者は、ステージ裏の、台所とか冷蔵庫とかある「裏」から入った感じ。お姉さんに案内してもらった。寒くてたくさんクシャミした!

(↓自撮り写真が真顔のもの(まるで免許証写真のようだ)しか無いので仕方なくこの写真をチョイス)

201611_taxi
私「沢山の人!そして、みんな、私よりもずっと先輩のシニアエンジニアなんだ、そして彼らの貴重な50分間を頂いているのだし、満足して欲しいなあ、頑張らないと!緊張するよ〜!」

↓ 本番直前、モニターの接続確認などをしている私の写真

↑この、会場の写真取ってる私が撮られた写真↓

セッションが始まった!

14:10、会場の照明が落ち、
私のセッションが始まりました!

screen-shot-2017-02-22-at-1-52-40

このセッションについて。対象者は

  1. Microsoft 関連のことに疎遠
  2. C# わからない
  3. Xamarin?って何?

です。

screen-shot-2017-02-22-at-2-02-29

そして、ゴールは

  1. C# に興味を持つ
  2. モバイルアプリ開発に、Xamarin + Azure を選択肢のひとつに置く
  3. Visual Studio 2017 を入れる(無料)
  4. web漫画『はしれ!コード学園』を読む

です!

screen-shot-2017-02-22-at-1-52-50

口頭で説明したのですが、
どうしてツイート大歓迎!かというと、

セッションが終わった後、聞いてくださった皆様の感想が見たい」からです!

あと、皆様の実況により、このブログ記事のように、振り返り記事を後から書けますし!いつもありがとうございます!

写真撮影については、これも口頭で説明したのですが、

「仕事で登壇したさい、本社に『○○というイベントで登壇しました』とレポートを書くことになっている。その時、登壇したことを証明するために毎回レポートに写真を貼り付ける必要がある。(必須ではないがあると良い)。それで、私はいつもその写真をツイッターから拾っている。登壇中は自分の写真を撮れないからね。なので、登壇して喋っている私の写真を撮ってSNSでシェアしてくれたら嬉しい!」

ということです!
本当に、いつも助かっています、ありがとうございます!

Agenda

今日話すことの目次!
今日はこの4つについて話します:

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

  1. モダンな言語:C#
  2. モバイルアプリ開発:Xamarin
  3. 最新のIDE: Visual Studio 2017
  4. クラウド連携: Xamarin + Azure

まずは自己紹介

ちょまど
私「プレゼンの最初はアイスブレイクがてらの自己紹介がいいよね!自己紹介なら慣れてるからスラスラできるし!これで温度上げていきます!!」

最初は登壇者紹介です!私について。

screen-shot-2017-02-22-at-1-53-20
↑私の顔の上に「13」と書いてありますが、これは、MSのAIが写真から人間の顔を検出して年齢を予想してくれるサービス『How old do I look? (私何歳に見える?)』が私を13歳と判定したものです。

自己紹介で「プログラマ兼マンガ家」と書いたので、
描いた漫画の紹介も1枚。

screen-shot-2017-02-22-at-1-53-34
第一話:東京Node学園からJavaScriptが転校してきた!──はしれ!コード学園【第1回】
みんな読んでね!

C# の話

ちょまど
私「C#の基本的なことからお話ししようかな!」

今回のデブサミでは、セッション一覧を見るに、
DevOps 系や プロジェクトマネージャー系、Web系、インフラ系、人工知能系、など、非C#系の人が多いかなあと思い、
C#の基本的な話からしました。

C#とは、
Microsoft の開発している
プログラミング言語です。

つかみとして、”C#” の名前の由来も話しました。

screen-shot-2017-02-22-at-2-12-37

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

C# + VS2017 デモ

screen-shot-2017-02-22-at-3-29-16

「では実際にお見せしましょう」

と、Visual Studio 2017 RC を起動!
(Visual Studioとは、Microsoftの開発している、超強力 IDE です。無料版(Communityエディション)もあります)

live-coding

ライブコーディングに沸き立つ会場

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

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

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

Visual Studio 2017 は、起動と.slnファイルの展開が速い

Visual Studio 2017 は起動と.slnファイルの展開が速いよ!
と解説しながら VS 2017 を操作。

クリップボードの生JSONをclassに変換してくれるVSの機能

Visual Studio には、
コピーした生JSON (クリップボードの生JSON)を「JSONをクラスとして貼り付ける」という機能があります!(VS2017の新機能ではなく元々ある機能です。)

20150709124431
(↑画像は MS MVP のしばやんさんのブログから)

16811012_1794288444167630_776498196_o

詳細:VisualStudio コピペ JSONをClassとして貼り付けられるtips

これがなかなかインパクトがあったようです!

オリジナルのJSON:

VSによって「自動的に」classに変換されたもの:

ライブコーディング!

今のところ順調です。

デモは8割くらいうまく行っていました。今のところ順調です。

トラブル:会場のネット環境が貧弱

しかし。

この会場、なんだか、ものすごい、ネットワークが、貧弱だったのです…!

本番前。

私の前のスロットでセッションをしていた、同じく Microsoftのテクニカルエバンジェリストである牛尾さんから、
スピーカー控え室にて

ph05
牛尾さん「ネットワーク要注意でっせ。ネットが全く機能せんでワシはデモ全部失敗してん…無念」


(写真は日経BPさんのITpro記事から)

というアドバイスを賜っていました。
あまりに会場のネットワークが弱すぎて、彼はネットを使ったデモが全滅してしまったらしいです…。(VSTS を見せようと Webブラウザを開いても真っ白の画面)

↓牛尾さんのセッション(RoomB)を見ていた人のツイート

なので、私は事前に念のためにバックアップ用として、デモの動画を撮っておいたのです。
使うことがなければいいだけど、念のために、と。

んで、
予想通り、VSの NuGet Package (C#のパッケージ管理ツールシステム。Rubyのgemのような)Manager を起動しても「読み込み中」のままという悲劇になったので

201611_taxi
私「ネットワークの問題で、NuGet Package Manager が読み込めないので、ここから先は、バックアップ用の動画に切り替えます」

と、プランB 発動。

とはいえ、デモは8割くらいライブで成功していました。
最後までライブでやりきることができなくて悔しい。運営さん、来年はスピーカー用のネットワークだけでも改善して欲しいです。

↑「筋肉の人」とは牛尾さんのことです

デモのおさらい

私はいつも、デモをやった後は必ず「今何をしたか」の おさらい をします。

c43dzg3uyaaf6a4-jpg-large-2

ライブコーディングで書いたコードは全てこちらにあります:
https://github.com/chomado/ConsoleApp1

screen-shot-2017-02-22-at-3-30-40

screen-shot-2017-02-22-at-3-31-01

C# もオープンソースだよ!

screen-shot-2017-02-22-at-3-37-48

皆も Visual Studio 使ってね!

Visual Studioとは、Microsoftの開発している、超強力 IDE です。無料版(Communityエディション)もあります

一応Mac版の Visual Studioもありますが、こちらは2016年秋に発表されたばかりで、現在はまだ「プレビュー版」です。(今日紹介した「JSONをclassに変換して貼り付け」などの細かい便利機能などが未実装)
Windows版はフル機能です

VS2017の新機能デモ

時間がなくて VS2017 の新機能のひとつ Live Unit Testing の機能のデモができなかった!

ということもあろうかと、前もって詳しい手順をすべて記事にしておきました。ご覧ください

C# は どこでも動くぞ!

.NET環境があれば C#はどこでも動くぞ! Androidでもどこでも!

screen-shot-2017-02-22-at-3-40-51

Xamarin

Microsoft 入社前はずっと Xamarin でスマホアプリを作る developer だったので、経験者です!

screen-shot-2017-02-22-at-3-41-51

screen-shot-2017-02-22-at-3-42-01

screen-shot-2017-02-22-at-3-42-31

screen-shot-2017-02-22-at-3-42-11

Xamarin は、コード共有化が美味しいよね!
まあ何より C#だけで開発できるのが一番の旨味だと思うけど!(by C# lover)

screen-shot-2017-02-22-at-3-43-53

Xamarin もオープンソースだよ!

screen-shot-2017-02-22-at-16-29-45

Microsoft Azure (アジュール)

Microsoft Azure (アジュール)について!

screen-shot-2017-02-22-at-4-06-43

↓セッションの内容はすべてこちらの記事にまとまっています!↓

まとめ

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

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

皆の感想

私の学び

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

最後はアフタヌーンティー

会場が素敵なところだったので、登壇後は大好きな紅茶とスイーツです!

登壇後の夜は渋谷で英語コミュニケーションで登壇

201611_taxi
私「登壇後、ものすごい疲れてたけど、アフタヌーンティーを楽しんだし、そのまま渋谷に移動して、英語の練習だよ!英語でみんなの前で話す!」

screen-shot-2017-02-22-at-17-37-41

私のセッションを見た人の感想ブログ

Comments (8)

  1. クローチェ より:

    まとめブログ執筆、お疲れ様でした。じっくりと読んで勉強させていただきます。
    このようなまとめがあると、デブサミに参加できなかった人にとっては概要が分かり、参加できた人にとっては講演内容を思い出すきっかけにできるのでとても助かります。

    1. chomado より:

      クローチェさんいつもありがとうございます!

  2. つばみ より:

    おつかれさまでした。
    千代田ちょまどに改名?じゃあ、ちよちょだ(笑)
    まとめブログ、行った気分になれるね。
    ちょまさん、あらためて凄い人になった感がある。
    一度でいいからC#いいぞおライヴ見たいな。

    1. chomado より:

      つばみさんいつもありがとうございます!

  3. 山田波秋 より:

    とてもわかりやすかったです。ライブコーディングをしたとは!!
    できれば、動画を撮っておいて、公開とかしてもらえると(ダイジェスト版で良いので)、すごーく興味が倍増すると思います!(ちょまどさんの動く姿見たい!)

    1. chomado より:

      読んでくださってありがとうございます!
      登壇中、カタカタ実際にコード書いてるところ、たしかに動画欲しいですね(おばあちゃんに見せるためにも)

  4. K より:

    半月遅れですが、お疲れさまでした。

    デブサミの資料をダウンロードしていて気が付いたのですが、
    このブログの1行目にバグを見つけましたのでご報告です。
    >デベロッパーサミット (通称『デブサミ』/ Developer Summit) 2017
    正しくはデベロッパーズサミット(Developers Summit)2017ですね。

    C#はいいぞぉ!Visual Studio 2017はいいぞぉ!Xamarinはいいぞぉ!Microsoft Azureをいいぞぉ!は普及活動していきたいと思います(笑)

    1. chomado より:

      ぎゃーホントだ!修正します、ありがとうございます!

Skip to main content