Microsoftの開発者向けのイベントであるde:code2019に参加してきました。
Tech Summit 2018の時は基調講演に余裕をぶっこいて、ギリギリに行ったらサテライトで聴くことになったという幕開けでした。
今回はそうはなるまいと意気込んでました。
が、当日の朝起きたら、ギリギリの時間になってしまいました。
今回のdecodeは満席となり、ギリギリ受付終了前に滑りこめたというのに。
ですが、なんとか最前列を確保。
開演30分前の9:00がボーダーで、この頃に来ていれば最前列も空いてる状況でしたが、9:10になった頃には満席でした。
- 基調講演
- 一挙に紹介! Visual Studio 2019 新機能とMicrosoft Build 2019 で発表された開発ツール最新情報【.NET 開発者向け】
- Xamarin.Forms アプリケーション設計パターン
- 上級サポート エンジニアの経験お伝えします:Visual Studio 2019 でメモリー リークを追え!
- パーティー
- 自費負担すること
基調講演
- 奈良時代の仏像の年齢、表情の分析して掘った人の気持ちを知ろうとAIが皆のものになりつつある。
- https://www.ascent.ai/jp/company/によると、自動運転の課題は整備された環境でしか走れない。
- Edgeで画像をドラッグ&ドロップしてコレクション
- 機械学習によるWordのインテリジェンス
- Visual Studio よりReact Native for Windowsが開発できる
- WSL2で4、5倍パフォーマンスアップ
Fluid Framework
これは初耳でしたし、説明だけでは何のことか理解できませんでした。
要するにOfficeにもGoogleドキュメントと同様の共同編集ができますが、これが高速で出来るようです。
他の人の編集が、すぐに反映されてよりスムーズな共同編集が出来ます。
それどころか自動翻訳も出来るようです。
Azure
もっともMicrosoftが力を入れているのがAzure。
Fortune500のうち95%が使っているそうです。
【オリンパス株式会社による最新 #AI 事例】
— Microsoft Tech (@msdevjp) 2019年5月29日
Data Box Edgeと #Azure を活用することで、リアルタイムで手術進行の様子を分析し、医療スタッフ全員の作業効率向上に寄与しています。詳しくは動画でご確認ください。#decode19 pic.twitter.com/wAGk6Rt8Gc
井上章さんのデモ
面白かったです。
コミットのコメントでタスクが連動されるというのは良いなと思いました。
反応薄い? そんなことはないです。
昨年は麺類を分類するサービスを持って来てデモしてましたが、今回は感情分析でした。
絵文字を入れると100%になるという裏技まで披露。
HoloLens2
トリは、Alex Kipmanの登場です。
大人しいギャラリーの中から歓声があがるほど。
ハリウッドスターのようなルックスですしね。
男の私も期待してたんですよ。
それだけでなく、今回のde:codeにおける目玉はHoloLens2ですから。
HoloLens2はここで体験できるものの混雑を予想し、抽選で体験できるようになってます。
視野角やアイトラッキングなどの機能を搭載した高性能デバイス。
私も下記ツイートのような写真を撮るはずが。そのはずがぁ!
キップマン同士の対戦! #decode19 pic.twitter.com/4zTSGubM2l
— Tanaka Seigo (@1ft_seabass) 2019年5月29日
一挙に紹介! Visual Studio 2019 新機能とMicrosoft Build 2019 で発表された開発ツール最新情報【.NET 開発者向け】
どこのセッションも満席見込みでしたが、なんとかランチにありつき、落ち着かないままセッションが始まりました。
LiveShareは、visualstudio.com上でソースコードを共有するのでコードは外に出てしまいます。
前の会社では絶対NGですが、今の会社でもオンプレのGitLabなのでどうかな。
⒋8でWPFとWinFormsでアクセシビリティ向上
4.8で WPFやWinFormsにも手が加えられるようです。
4.7でもWinFormsにも手が加えられていたんですね。
まーた、4.6.1で止まってしまいそうな。
NET5についてWCFやWebFormはサポートせず、移行方法を提供するとのこと。
WebFormはBlazorとのことですが、どこまで移行方法を提供するんでしょうか。
#最高のゲームをつくろう! マイクロソフト Game Stacks でゲーム開発をしよう!
他のセッションを予定していたものの会場が正反対なのでもう少し近いこのセッションをチョイス。
スライドは公開されてます。
www.slideshare.net
気になったのはこのあたり。
某所でご一緒した時に既にスライドを見せていただいたのですが参加。
仕事ができる人は一週間前には準備が出来てるようです。
Prism for Xamarinについて、ViewModelからダイアログは地味に必要だと思います。
デモの成功の瞬間をシャッターに収めたかったのに残念。
上級サポート エンジニアの経験お伝えします:Visual Studio 2019 でメモリー リークを追え!
こんなコアな話をするとは。
そういうの聞きたかったけど、来る人そんなにいるのかと思ったら、普通に多いです。
やっぱり、難度高いです。あとでスライドを見直したいです。
メモリ不足エラーとは何のこと?
- 意図的にメモリを増やす処理
- System.OutofMemoryException
- しかし、タスクマネージャーで見てもメモリは16MB(/8GB)しか使っていない。
仮想メモリの概念で、物理メモリかスワップファイルに振り分けて物理メモリ以上のデータを扱える。
プロセスのメモリ空間が足りないから起きる。
コミットサイズをタスクマネージャーで列に表示させると3GB近くが使われていることがわかる。
メモリ不足エラーはシステム全体の不足ではない。メモリー空間不足。
GC.Collect GC.WaitForPendingFinalizers() GC.Collect
の3行を行う裏コードを入れると何かわかることがあるかもしれないようです。
ただし、ガベージコレクターにもコストがかかり、全スレッド停止することがあるので要注意です。
ダンプファイルを取る
タスクマネージャー、Visual Studioのデバッガやprocdumpなどでも取れる。
procdump.exe -ma -a -r
がオススメらしいです。
WinDbgで30分見てもわからなければ一度諦める。
リークしているとオブジェクトだらけでなぜ起きたかは難しいので勧められない。
というわけで、Visual Studioで開いてデバッグする。
ダンプファイルをマネージコードのみ実行でデバッグします。こっちの方が楽。
マイコードのみと小さなオブジェクトの種類のチェックは外す。
Visual Studioのデバッグ実行時に表示される診断ツールからリアルタイムにオブジェクトごとのメモリサイズを把握することが可能。
デバッグ実行できずとも、デバッグからパフォーマンスプロファイラーを選び、実行。
GCの強制というボタンもあり、プロファイラーにGCさせることも可能なようです。
また、診断ツールには.NET以外も有効にする設定もあります。ただし、重くなるとのこと。
Visual Studio2019になって、
- Visual Studio 2019使用メモリが2GBを超えてクラッシュすることがなくなった。
- プロファイラーが現実的なトラブルシューティング
になったとのことです。
パーティー
Tech Summit 2018とノリは違って美女DJとか抽選会とか派手なイベントがありました。
抽選はことごとく私を避けた方に当選し被弾せずに終わりましたが、交流も出来て良かったです。
やはり、想定以上の参加者数だった様子で、人も料理も足りてませんでした。
自費負担すること
私は自費負担で何万もするイベントに参加しています。入社したばかりなので、有給休暇を2日もさせてもらえてそれで十分なのですが。
私くらいなのかもしれませんね。自費負担って。
パーティーの時に話した方々は大企業の方々でした。(私も以前は大手グループ企業の一員だったのに全くこの手のイベントに理解なしでしたが)
実はメリットとして、業務優先で参加できないということはないというのがあったりします。
これから仕事〜とか、会社から電話かかって来た、そこから抜け出して仕事に戻るとか、そんなのなくて済みます。