Watch the recordings of JetBrains .NET Day Online 2019! Great sessions by community speakers #JBDotNetDay https://t.co/SY3Jw2MlDA pic.twitter.com/RAw3aXibgJ
— JetBrains ReSharper (@resharper) 2019年5月20日
YouTubeで公開されています。
1セッション60分近くもあります。学校の授業です。
これをじっと聞き続けるのは、学生生活はとうの昔に過ぎ去った私には辛い。
- Immutable Collection
- Refactoring a 1000 Line Method into Cleaner Code
- Be More Productive with JetBrains Rider
- Machine Learning Made Easy – An Introduction to ML.NET
- How to Pitch Your Ideas so People Listen
- Building a Fantasy Game Console with C#, MonoGame, and Rider
Immutable Collection
そりゃ、英語なので、かなり大変です。
しかもスライドはサマリー程度で、詳細は英語を聞かないとわかりません。
それでも、さらなるワンランク上のエンジニアを目指すならば、わかろうとするしかないという意気込みで聞きます。
なぜImmutableなオブジェクトが必要か?
マルチスレッドを考慮した時、変化する共有オブジェクトは危険になる。
これについて懇々と図で説明してくれます。
次がImmutable Collectionの紹介。Array,Stack,Queue。この辺りは、一般のCollectionの知識かと。
ただ、ROPEというのは初耳でした。
そして、パフォーマンス。
Listではサイズが大きくなるにつれ、Immutableなコレクションがパフォーマンスが上回ります。
DicitionaryについてはImmutableの方が常にパフォーマンスは劣ります。
理由は不明みたいです。
Refactoring a 1000 Line Method into Cleaner Code
数独のプログラムに対して、コードを綺麗にしていこうというお話です。
本当に1000行のコード書いてきています。
Resharperのライブコーディングといったところで、メソッドの抽出のようなResharperの基本的な使い方をおさらいするのにいいです。
見なくてもわかりますが、我流になりがちです。こういう時、ライブコーディングは自分のコーディングを見直すのに便利です。
まずメソッドを抽出、はいOKではなく、out扱いになる引数を確認してからにしよう、とか。普段からそうしてるけど、まあ、そうだよね、と。
「Move to xxx.cs」なんてのは出来るのは知りませんでした。
Be More Productive with JetBrains Rider
Riderの使い方について触れています。
知ってはいますが、Gitも統合されて検索できる本当の統合環境だなと感じます。
Visual StudioからでもGit操作できますが使いづらいのでその辺りが良くなっているなら、と。
Machine Learning Made Easy – An Introduction to ML.NET
機械学習の概要から始まり、ML.NETの紹介、そこからライブコーディングもやります。
ですが、BinaryClassficationと指定したら、複数のアルゴリズムで評価した後、最適なアルゴリズムを割り出してくれるらしく、これは良さそう。
How to Pitch Your Ideas so People Listen
人々に聞いてもらえるようにアイデアを披露するにはどうすれば良いか、ということなのですが、結論からすると物語、Storyです。
英語が聞き取れないと途中に披露されるストーリーを聞き取れないので英語力は必須です。
私は、もはやギブアップ気味。
コードやVisual Studioは全く登場しません。
Building a Fantasy Game Console with C#, MonoGame, and Rider
PICO-8 Fantasy ConsoleがC#で! Rider(Mac)で! 起動できるよ!という話です。