「.NET Core5から概観する、.NETのOSSへの取り組み」 – Nagoya ComCamp 2016 powered by MVPs

WP_20160220_10_04_02_ProNagoya ComCamp 2016 powered by MVPsが開催されました。そこで登壇してきた話です。

ComCampは、Microsoft MVPが登壇するコミュニティ主体勉強会です。MVPだけではなく、技術的な強みを持つ方も招きます。一年に一度のペースで、全国の各会場で同日に一斉に開催するので、トータルで見るとかなりの規模となってます。名古屋会場は約60名近い動員がありました。

今年の名古屋会場は「オープンソースソフトウェア」が一つのキーワードとして、様々な角度から発表がありました。私は表題の通り、「.NET Core5」のリリースが迫っていることもあり、ここから展開して、現在のマイクロソフトのOSSに対する取り組みを概観出来たら良いなと考えました。

# ちなみにComCampは初登壇でした。


「.NET Core5」じゃなくて「.NET Core 1.0」とか

タイトルとデスクリプションを決めろと言われて連絡し、公式サイトに掲載されてから3日後、いきなり「.NET Core5は.NET Core 1.0と名称変更」などと言う話が流れ、既にアカンやつやと言う流れにww

まあ、それはそれとして、今回の発表でどんな話を展開しようかと、日程的にギリギリまで考えあぐねてました。と言うのも、マイクロソフトがと言うより、OSSと言う枠組みでなぜ業界がその方向に向かうのかと言うのは非常に幅が広くて、自分が考えている事だけでも1日で話が出来ないような大きな「うねり」です。

で、あまり一般論みたいな話をしても、ComCampで私に期待される話でもない気もするし… 幸いその方面は、OSSコンソーシアムの吉田さんから丁寧に解説して頂いて、私の出る幕などない感じだったので良かったです。

今までの.NET開発とこれからの開発が、OSSというエッセンスが加わることによってどんなふうに変わるのか、そしてマイクロソフトはなぜその方面に向かっているのか。やっぱり技術方面で入口を紹介するのが良いかなと思いました。また、口でしゃべり続けてもアレなので、多分がりっちもデモで攻めてくるだろうと考え、私も全部デモみたいな流れでやってみることにしました(ちなみに、デモ主体は初めての試み)。

大きくは、以下のような構成です。詳しくはスライドを参照してください。

  • What is .NET Core? (.NET Coreって何?)
  • Disposable Infrastructure (破棄可能な環境)
  • Integrated Development Environment (統合開発環境)
  • まとめ

オリジナルスライドはこちら: NETCoreから概観するNETのOSSへの取り組み.pptx


裏話 – デモの悪魔

… やっぱり現れた、それも凶悪な奴が (;´Д`)

まず、登壇前日までデモ機材の不調に悩まされ続けました。.NET Coreがマルチプラットフォーム対応を目指している事を鮮明にしようと、UbuntuをインストールしたノートPC(非仮想マシン)を使って、スライドも含めて完全に非Windows環境でデモしようと準備していたのですが、UEFI BIOSにバグがあって64ビットUbuntuがブートしない…

# これは動いた気がしただけで、実はダメだった

デモでは.NET CoreとDockerを使うので64ビット版がどうしても必要(.NET Coreは現在はまだamd64のみサポート)で、前日まで横でトライし続けていたのですが、これ以上やってるとスライドも完成しないというギリギリ状態になり、泣く泣く断念…

それ以外にも、当日朝からOneDriveの同期が長時間やりまくり、何故か過去のフォルダ構成を再現しようと一生懸命ダウンロードしはじめる… もう危なくてスライドをOneDriveに置いておけないので、OneDriveを切断してローカルディスクにコピーしてUSBメモリにも入れて準備。

デモについては、ThinkPad X201sのHyper-Vで動かす事にしました。所が、このX201sも最近は能力不足が露呈していて、Hyper-Vで仮想マシンを動かしているとどうにも重くて辛い。LibraOfficeでスライドを披露というのも妥協するしかないかなと思っていました。

こういう状況で「とどめを刺される」というのは、何度も経験しているので嫌な予感しかしない。当日会場に入ってからも、念のためにAzure上でUbuntu VMを作り、本当の最悪はこれでデモしようと、2つ目のバックアッププランをちまちまと用意していました。

Azure VM、X201sでローカルで動かすよりも速い! 以前よりも格段にパフォーマンスが向上しているのが体感できます。しかし、Azure VMでは、Ubuntu Desktopを使い、VNC使えるようにするまで持っていかない限り、Visual Studio Codeのデモが出来ないという問題もあり、やっぱり最終手段として取っておくつもりでした。

が、奴はそれだけでは飽き足らず、X201sのHyper-Vをハングさせてボイコットの構えに (*´Д`) 勘弁してくれー (この時点で11時ぐらい)

それからスライドを一部修正したり、脳内で立ち回り方法を再構築したりなど、それはもう酷いプレッシャーぶりで。あとはリアルタイムで聞いて頂いた方ならお分かりの通りな内容でした… すいません。

# 特にVisual Studio Codeのお話は大幅にカットせざるを得ませんでした。幸い殆どの方は使ったことがあるとの事だったので、良かった。Ubuntuでも殆ど使用感は変わらないです。多分!きっと!!

でも、それなりに楽しくやれました。特にDocker周りは語ってない事も多いのですが、事前準備でも結構面白かったです。折角.NET Coreで依存性が大幅に緩和され、MacやLinuxでも動くようになるので、Dockerと組み合わせて是非遊んでみて下さい。そのための足掛かりになるような解説は行ったつもりです。

それではまた!!

投稿者:

kekyo

A strawberry red slime mold. Likes metaprogramming. MA. Bicycle rider. http://amzn.to/1SeuUwD