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

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

がやがやと作業をする会 〜 やることは先週と一緒!けど、たまにC#

weeyble-creative.connpass.com

 

初参加です。

主催のShionさんが気の利いた方で、机の上にお菓子を置いて準備していただいております。

再会とか辛いものとか 

で、やることは、先週のPythonもくもく会と一緒です。

で、その会で会った辛い物好きの方と再会。

彼には進展があったらしく、Windows + PythonからDocker + Pythonとなってました。

ちなみに、彼のお兄さんも辛いものに強いらしく。神田で繰り広げられる下記のイベントのスタンプラリーでゴールドを取ったそう。

kanda-curry.com

 ちょうど、今日開催しています。小雨ですが。

機械学習

ついに私も機械学習に挑戦。

あれ、この処理、いつまでたっても終わらないぞ。

Pythonの設定がおかしいのか? と思ったら。

f:id:rimever:20181104141002p:plain

4分近く処理をしていたようです。仕事してたのか。

本では3分だったのですが、勉強会用Macは貧弱なのでした。

 

本では、

  1. 基本的な計算を頑張って手で実装してもらってから、
  2. Kerasを使ってみて、Keras使うと速いでしょという流れになっています。

いざKerasを使おうぜとなったのですが、

「Using TensorFlow backend.」

Tensorflowも必要よと言われ、

じゃ、pip install tensorflowすっかとなると

 

  Found existing installation: numpy 1.10.1

Cannot uninstall 'numpy'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.

 

「なんなのヨー、これはー!」

 

NumPy - pythonでモジュールnumpyをインストールできない|teratail

上記リンクを参考にしました。 当然、対応法は無理やりインストールをチョイス。

レッツゴー!

92%の精度の手書き分析が以下。

f:id:rimever:20181104164308p:plain

7を9に間違えたのは、ありえないですが、一部は、人間でも間違えるか、わからないものも。

 

C#

一応Slackはあるのですが、

主催者のShionさんはハッシュタグでツイートされている様子。

#もくもくログ hashtag on Twitter

 

下記の記事を見られているようなので、一緒に勉強しながら、勝手に返信。

C# 7.0 の新機能 - C# ガイド | Microsoft Docs

ただ、作業するなら自宅でやればいいので、こういう交流も大事、のはず。

 

パターンマッチング

Resharperが勝手に修正するけど、いつの間にか追加された言語仕様でした。

会社は古い言語仕様のアプリが多いので、

rim「地味に書くか」

Reshaper「変更できます」

rim「じゃ、変えとけ」

Resharperの仕事にさせていたので、C#7.0からとか解釈してませんでした。

MSDN読まないとダメですね。

f:id:rimever:20181104143458p:plain

Not User Pattern Matchingというtypo

Shionさんによると、 Visual Studioでは指摘はしてくれても、修正まではしてくれないとのこと。

Resharperだからこそ、できる芸当らしい。 

ローカル変数

その関数でしか使わない処理をまとめてメソッドにしておきたいというケースはあるので。ラムダよりわかりやすくていい。

MSDNによると好みやスタイルで決めるが、ディティールには違いがあると。

ローカル関数とラムダ式の比較 | Microsoft Docs

 

戻り値にrefを返せる

自分も使ったことがなく。これは難しい話。

パフォーマンスを求めるところで、使えるらしいが、サッと出せるものなのか。

ufcpp.net

ufcpp.net