より良いエンジニアを目指して

1日1つ。良くなる!上手くなる!

「.Net Day Online」を見よう

YouTubeで公開されています。

1セッション60分近くもあります。学校の授業です。

これをじっと聞き続けるのは、学生生活はとうの昔に過ぎ去った私には辛い。

Immutable Collection

www.youtube.com

そりゃ、英語なので、かなり大変です。

しかもスライドはサマリー程度で、詳細は英語を聞かないとわかりません。

それでも、さらなるワンランク上のエンジニアを目指すならば、わかろうとするしかないという意気込みで聞きます。

なぜImmutableなオブジェクトが必要か?

マルチスレッドを考慮した時、変化する共有オブジェクトは危険になる。

これについて懇々と図で説明してくれます。

次がImmutable Collectionの紹介。Array,Stack,Queue。この辺りは、一般のCollectionの知識かと。

ただ、ROPEというのは初耳でした。

www.ibm.com

そして、パフォーマンス。

Listではサイズが大きくなるにつれ、Immutableなコレクションがパフォーマンスが上回ります。

DicitionaryについてはImmutableの方が常にパフォーマンスは劣ります。

理由は不明みたいです。

Refactoring a 1000 Line Method into Cleaner Code

www.youtube.com

数独のプログラムに対して、コードを綺麗にしていこうというお話です。

本当に1000行のコード書いてきています。

Resharperのライブコーディングといったところで、メソッドの抽出のようなResharperの基本的な使い方をおさらいするのにいいです。

見なくてもわかりますが、我流になりがちです。こういう時、ライブコーディングは自分のコーディングを見直すのに便利です。

まずメソッドを抽出、はいOKではなく、out扱いになる引数を確認してからにしよう、とか。普段からそうしてるけど、まあ、そうだよね、と。

「Move to xxx.cs」なんてのは出来るのは知りませんでした。

Be More Productive with JetBrains Rider

www.youtube.com

Riderの使い方について触れています。

知ってはいますが、Gitも統合されて検索できる本当の統合環境だなと感じます。

Visual StudioからでもGit操作できますが使いづらいのでその辺りが良くなっているなら、と。

Machine Learning Made Easy – An Introduction to ML.NET

www.youtube.com

機械学習の概要から始まり、ML.NETの紹介、そこからライブコーディングもやります。

型付き言語のC#ではSchemeの宣言が、手間です。

ですが、BinaryClassficationと指定したら、複数のアルゴリズムで評価した後、最適なアルゴリズムを割り出してくれるらしく、これは良さそう。

How to Pitch Your Ideas so People Listen

www.youtube.com

人々に聞いてもらえるようにアイデアを披露するにはどうすれば良いか、ということなのですが、結論からすると物語、Storyです。

英語が聞き取れないと途中に披露されるストーリーを聞き取れないので英語力は必須です。

私は、もはやギブアップ気味。

コードやVisual Studioは全く登場しません。

Building a Fantasy Game Console with C#, MonoGame, and Rider

www.youtube.com

PICO-8 Fantasy ConsoleC#で! Rider(Mac)で! 起動できるよ!という話です。

github.com