放浪軍師のアプリ開発局

Xamarin.Formsを使ってAndroid,iOS,UWP,WPFで動くアプリを開発したりしています。

【ふくてん】Visual Studio 2019 Launch Event in Fukuoka に参加してきました!【ブログ書く枠】

こんにちは、放浪軍師で御座います。
今回は Visual Studio 2019 の勉強会へ参加した件を書かせていただきます。

Visual Studio 2019 Launch Event in Fukuoka に参加してきました。

4/14(日)に Fukuoka.NET (通称:ふくてん)という、福岡のコミュニティーにて Visual Studio 2019 Launch Event in Fukuoka というイベントが開催されました。参加費は無料です。(懇親会参加の場合は1000円必要)
fukuten.connpass.com

今回私は一般参加ではなく『ブログ書く枠』という枠で参加しましたので、技術的にアレではありますが感想などを書かせて頂いております。なお、このイベントの内容としては、4/2に行われたイベント Visual Studio 2019 Launch Event の振り返りイベントという事になっています。
visualstudio.microsoft.com

開催場所は日本マイクロソフト九州支店

開催はなんとMSですよ!MS!MSの九州支店です!自分の人生でマイクロソフトの中に入る事があるとは思ってませんでしたので、なんだかすごく興奮しましたね。
f:id:roamschemer:20190417084508j:plain:w150
折角なのでロゴと一緒に写真撮ろうかとも考えましたが流石に恥ずかしいのでやめておきました…が、撮っときゃ良かったと後悔…まぁまた機会もあるでしょう!
f:id:roamschemer:20190417084753j:plain:w150
こんな感じで飲み物が無料で提供されるのはありがたいですね~。3本ぐらい頂いちゃいました。
f:id:roamschemer:20190417084822j:plain:h150
また、ステッカーも配布されていていましたので、いくつか頂いてMacBookAirにペタペタしておきました。
f:id:roamschemer:20190417085758p:plain:h150

オープニング

今回のイベントの管理者である まつむら@PHPカンファレンス福岡実行委員長&MLBお兄さん (@tsubakimoto_s) | Twitter さんの挨拶から始まりました。ふくてんでは運営メンバーをガチで募集されているらしいです。興味がある方は声をかけると全力で取り込んでくるらしいですよ!
fukuten.connpass.com

Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル

マイクロソフトの中の人である Akira Inoue (井上 章) (@chack411) | Twitter さんが最初に登壇されました。内容としては本家 Visual Studio 2019 Launch Event の発表内容の振り返りでしたので、結構ガチな奴でした。結構なボリュームだった為、ここでは気になった部分を紹介させて頂きます。スライドも公開されていますので、よろしかったらそちらもご覧ください。

www.slideshare.net

Visual Studio 2019 は Visual Studio 6.0 から数えて 9世代目

最初に世代の話から入られていました。1998年に発売されたVisual Studio 6.0から数えて今回は9世代目になるそうです。
いやぁ心に刺さる!仕事で未だに VB6 ばっかりな私は9周遅れな訳ですよ!笑えないね!でも大丈夫…この次の日に退職届だしたから…(この話はまた別の機会に…)

メモリ使用量が激減!

なんと1/4ぐらいまで抑えられるらしい。ものすごいですね!もちろん物によるみたいですが、どちらにせよこの減少量ならどんなアプリでも大きく減少するんじゃないですかね。これだけでも2019を使う理由として充分ですね。

地味だが重要!UI/UX の強化!

スタートウィンドウや検索機能も向上しているとの事ですが、個人的にはタイトルバーが1行分減ったのは嬉しいかもしれません。この1行無くなった代わりにコードが1行見えるわけですしね!あと1行見えればちくしょう!って機会が稀によくあるの私だけ?

不要コードを一括修正!コードクリーンアップ!

不要なコード(usingなど)を消すの面倒ですよね?これがワンクリックで消せる機能です。消すだけじゃなく並び変えたりもできるみたいです。カスタマイズも可能なので、自分の好みにあわせて構成すると良いですね。

AIでコーディング支援!Visual Studio IntelliCode!

これはデモもされていましたが、ついにプログラミングをAIが支援する時代に突入したそうです。凄いね!具体的には入力中に.とか打つとポップするアレ。ありますよね?従来なら.だけだとずらっと候補が並んじゃうんで続きを打ってフィルタリングした後選択したりするんですけど、あれが.を打った時点で使用される可能性の高い入力候補を予測して上位に表示してくれるそうです。実際にやってみたらこんな感じ。

f:id:roamschemer:20190417094126g:plain

この場合、l.の時点で Length を選ぶだろうと予測して ★付きで Lenght がトップに来ていますね。今までなら l.le ぐらいまでは打つところです。また、自分のソースコードを AI に学習させて、その傾向から精度を上げたりも出来るんだそうです。なんだか凄い時代がきたなという感じがしました。そのうちAIが勝手にコーディングしてくれる時代がくるのかもしれませんね~。

Visual Studio Live Share

複数人で同一のコードをリアルタイムで書くことができるそうです。

後輩「先輩ちょっと来てもらっていいですか?」
先輩「ん?どうした?」(後輩の席へ行く)
後輩「ここなんですけど、こういう風にしてみたんですがどうですかね?」
先輩「あーここな。ちょっとどいてみ?」(後輩の席に着く)
先輩「ここはこうやってこう書いたらいいんだよ」(カタ!カタ!ッターン!!!)
後輩「成程ありがとうございました!」(先輩がどいて後輩が席に着く)

みたいな場面で、わざわざ席を変わらなくても、お互い自分の席について修正できるとかで活躍できそうですね。最大30人いけるらしいので、複数名の場合でも活躍します。

.NET Core 3

現在プレビュー版ですが、5月頃には正規版がでるんじゃないかとの事でした。こちらもデモで WPF のアプリをライブコーディングされていましたね。

クラウドネイティブ

ここからはWebアプリやクラウドについての解説でした。残念ながら私はこの辺の知識が皆無なので、ここは別のブログ書く枠の人に任せたいと思います(無念…)

Azure + VisualStudioで簡単アプリを作ってみよう

小休憩をはさんだ後、引き続きマイクロソフトの中の人である
odasho@MS (@MS_odasho) | Twitter
さんによる登壇がありました。前枠とは違い、こちらは笑いを引き出すような話をされていたのが印象的でした。

www.slideshare.net

Azure から Xamari.Forms のプロジェクトを作る

なんと Visual Studio はほとんど使ったことがないとの事で、徹夜で勉強して来たそうです。Azure から Xamari.Forms と Swift のアプリを作る方法をデモされていました。ただ私の場合、普段 Xamarin.Forms で開発しているとはいえ、Azure にほぼ触れたことがない身では何をされているのか理解できませんでした。やっぱ難しそうですねぇ…とりあえず Azure からある程度完成した形でプロジェクトがzipで出力される流れみたいです。リストで情報を共有させたりさせるのがこんなに簡単にできるというのは驚きでした。
ほんと、何も書けなくてすいません… Azure 勉強しなきゃな…

Azure って何種類あるの?

Azure は何種類あるのか?という問題が出されていました。確かに多すぎて、どこをどう学んでいいのかわからないんですよねぇ…
正解はなんと270!これは厳しい!!!
ちなみに勉強するには Microsoft Learn を使うと良いそうです(無料)。そういや一回やった事あるんだけど、結局放置してたなぁ…落ち着いたらやりたい。
docs.microsoft.com

イケてる技術で品質を担保しつつスピード感のある開発を実現する冴えたやり方

今回のイベントの管理者である まつむら@PHPカンファレンス福岡実行委員長&MLBお兄さん (@tsubakimoto_s) | Twitter さんの登壇です。開発に関しての心得や気をつけている事なんかを話されていました。

www.slideshare.net

テスト大事

開発においてなぜテストが大事なのか?それは変更に伴うデグレを生まない・残さないようにする為との事。確かに誰かの修正で前よりひどい状況になったりする事ってあるよなぁ…

テストを書きやすいコードとは

大きく3つを挙げられていました

  • 処理の目的が明確かつ粒度が小さい
  • 途中処理の差し替えが容易
  • 外部リソースの挙動の差し替えが容易

特に最後の奴に関しては、外部リソースがあると何故テストがやりにくいのか?また、それをテスト時に偽装するにはInterFaceを使うと良いという話をされていましたね。Xamarin.Forms オンリー開発な自分は InterFace って、各プラットフォーム別の動作を指定する DependensyService に使うだけだったのですが、なるほどと合点が行きました。InterFace って従来はそういう用途に使う物だったんですねぇ…

Microsoft Learn ハンズオン

上にもありましたが、Microsoft Learn を用いた Azure のハンズオンです。
github.com

なんか動かねぇ!

ご使用の Docs アカウントとは異なるアカウントで Cloud Shell にサインインしています。 Cloud Shell からサインアウトして、サンドボックスへのアクセスをもう一度お試しください。

というエラーでいきなり足止めを喰らいました。アカウントを別メアドで登録したりパスワード変えたりと色々してみましたが、結局ダメだったので松村さんに聞くことに。曰く何人かが同じエラーが出てるらしいとの事で、そういう場合は Visual Studio を使ってやってみてくださいと教えてもらいました。実はやってる事は Visual Studio と同じなんですねぇ…知らなかった。で、早速手順を見ながら Visual Studio で進めてみました。具体的な手順については、かきそふと@物流系エンジニア (@kakisoft_tab) | Twitter さんが早速記事にされていましたので、そちらをご覧ください。
kakistamp.hatenadiary.jp
ただ、私の Visual Studio for Mac では、Main メソッドにある host.Run(); で例外が発生しました。これもわからなくて松村さんに教えて頂いたのですが、ターミナルを開いて

dotnet dev-certs https

を実行する事により例外が発生しなくなりますので Mac の場合は試してみると良いかもしれません。証明書関係が原因みたいですね。

ライトニングトーク

ハンズオンが終わり、後は希望者によるライトニングトークが行われました。ゆるゆるからガチなものまで色々とありましたが、ざっと紹介させていただきます。

組織改革の話

でかい会社のSIerで、超保守的らしいです。時代はクラウドネイティブ、サーバレス、デジタルトランスフォーメーション等なのに上から振ってくる仕事だけをこなす日々に危機感を覚え、社内の技術力向上の為に尽力されたそう。曰く、勉強会に休日返上で参加している人はみんな変態らしい。そんなんじゃなく業務中に飲みながら勉強会しようぜ!と上に申請しOKを出させた剛の者。提案する方も凄いが、それをOK出す上も懐がでけぇ…

VSのバージョンアップを促すアプリを作ってみた

www.slideshare.net
ドラクエ風画面にゆっくり霊夢Visual Studioのバージョンアップを迫るアプリを作成したそうです。まだ未完成らしいですが、出来たら是非導入してみたいですね~。実際の画面はこんな感じ。うぜぇwwww
f:id:roamschemer:20190417100102j:plain:h300
f:id:roamschemer:20190417100136j:plain:h300
f:id:roamschemer:20190417100158j:plain:h300
f:id:roamschemer:20190417100219j:plain:h300
f:id:roamschemer:20190417100245j:plain:h300
ちなみに最後まで断り続けると、デスクトップ右下に常駐し続けるウザさを発揮してくれるそうです。

RevRel is changing my life!

tokyo-2019.devrel.net
DEVRELCON 東京というイベントについて話されました。なんでもLTで規定時間を超えると日本刀で斬られるらしいですよ!東京こええ!

クラウドネイティブデイズ福岡

cloudnativedays.jp
福岡で4/15〜4/16開催されるイベントの紹介でした。ごめんなさい!ブログ更新時点で終わってるわ!!!

Fiddler 使ってますか?

www.slideshare.net
全く知らない技術だったので残念ながらチンプンカンプンでした。どうやらWeb開発で使う物みたいですね。ちなみにこの話をされたジョニーさんはインドネシア出身の方ですが、流暢な日本語を話されます。

VS2019 for Mac

Visual Studio 2019 for Mac に絞った話です。注目したのは複数インスタンス起動。以前は特殊な方法をしないと出来なかったんでありがたいですね。また、Xamarin.FormsにおけるXamlのプレビューやビルド表示がかなり早くなったそうです。ありがてぇ…!あと、東京で行われる De:code19 の振り返り会をふくてんでやる予定があると話されていました。日程はまだ決まっていないそうですが、是非参加したいですね!要チェきら!

エンディング

シャツとかPhoneRingとかのじゃんけん争奪戦がありました。シャツは最後まで残ったのですが惜しくも最後に負けてしまいました! …が、Ringはゲットしたよ!やったぜ!なんかレアらしいよ!
f:id:roamschemer:20190417100818j:plain:w150

懇親会

懇親会ではアルコールとピザが振舞われ、立食会が行われました。ここでは色んな技術を持った方々とそれこそ技術的な話だけでなく、愚痴や本気でくだらない笑いばなし等も聞けて楽しかったです。…この懇親会って、普段なら話すのも難しいような方々と歓談できるんで、時間に余裕があるなら絶対参加した方が良いと思っています。まぁつよつよの方々と会話するのってちょっと引け目を感じるのはわかるんけどね。…でも、そういう人こそ、懇親会には参加した方が良いと思います。非常に刺激になりますし、勉強では決して得られない情報や繋がりが持てますからね。それにほら…技術最下層には俺が鎮座していますから大丈夫ですよ!(自虐)

まとめ

懇親会も合わせると 13:00 ~ 21:00 の8時間とかなりの長時間だったわけですが、あっという間に時間が過ぎてしまったぐらい楽しかったです。もし勉強会に参加されたことないという方、この機会に参加されてはいかがでしょうか?