Tech LT会を実施:みんなのC# 〜Various Tips〜 #2

■Contents
前回に続き、今回も梅雨期間でのLT会開催となりました。LT内容のボリュームが多いので、早速本題に移りましょう。
開催概要
| 開催日時 | 2019年7月19日(金)19:00~21:00 |
| 開催場所 | 株式会社コアコンセプト・テクノロジー カフェスペース |
| 概要 | 弊社はシステム開発を中心に「コンサルティング」「システム開発」「解析・AI」の事業と、これら事業に人材を供給する「SES(システムエンジニアリングサービス)」が各種事業を支えています。また、製造業を中心に開発してきた知見を活かし、「IoTソリューション Orizuru」を現在展開しております。 当イベントでは、これら事業に関わるTechメンバーを中心にそのナレッジや事例などの共有を行なっていきます。 興味があるテーマでエンジニアやメンバーにその技術話や開発体験談、顧客の抱える課題などを飲食を交えながらLTを行います。(今回はC#がテーマ) |
| 対象 |
|
発表内容
| 担当者 | 発表タイトル | 発表概要 | |
| ① | シニアエンジニア | データソースにLinqDataSourceを使った場合のGridViewの高速化 | 【GridView】 GridViewでデータソースをLinqDataSourceにした場合、OnSelectingイベントで任意の処理を挿入したい場合、データの取得が遅くなりがちです。LINQ to SQLでデータを取得している場合を例にして、高速化を行います。 |
| ② | シニアエンジニア | Linqの速度測ってみた | 【LINQ入門】 C#のイケてるリスト操作機能LINQの入門編です。各種操作とその実効速度比較してみました。 |
| ③ | シニアエンジニア | 開発環境をWindowsからMacに移行してみた話 | 【開発環境移行】 Windows一筋のC#開発者が、C#開発環境をMacに移行してみました。(現在進行形) Visual Studio,Azure,SQLServer,VSCodeとの付き合い方についてお話します。 |
| ④ | シニアエンジニア | コンソールアプリケーションでDIを使う | 【DI】 以下概要をご紹介します。
|
| ⑤ | シニアエンジニア | C#で速度を極めるいろは | 【高速化】 C#コンパイラとランタイムのJITとフレームワークの実装に焦点を合わせて、高速なコードの書き方についてTipsを紹介します。C#で基盤やライブラリを作る人向けです。 |
| ⑥ | センシング サイエンティスト | センシングサイエンティストが経費精算を自動化したらこうなった | 【自動化】 センシングサイエンティストとはセンサを使っていろいろなものを計測し、産業や日常生活の発展に貢献する人です。今回は経費精算の自動化にトライしてみました。 |
LT会の様子

今回もファシリテーターは安定の池田が担当しました。
データソースにLinqDataSourceを使った場合のGridViewの高速化

トップバッターは、シニアエンジニアの横山。
前回に続き、2回目の登場です。

まずは用意するデータです。


データソースにLinqDataSourceを使った場合の実装。

LinqDataSourceを使った場合の表示結果。



ObjectDataSourceに置き換えた場合の実装。

ObjectDataSourceを使った場合の表示結果。


見た目は変わらず、速度が大きく変わりました。
Linqの速度測ってみた

2番手は初登場のシニアエンジニア安宅。
好きな食べ物はハンバーガーだそうです。

まずはPCやデータの前提を提示。

ListとIEnumerableのCountを比較。

Max-LINQとMax-foreachを比較。

Where(抽出)を比較。

PLINQ-Heavy-ForAllとPLINQ-Heavy-foreachを比較。(重い処理)

PLINQ-Heavy-ForAllとPLINQ-Heavy-foreachの相違点。

PLINQ-Heavy-ForAllとPLINQ-Heavy-foreachを比較。(軽い処理)

やりがちな処理①。
存在チェックしたいだけなのにCountしちゃう。

やりがちな処理②。
全部処理する必要ないのにListで受けちゃう。
やりがちな処理③。
途中まで同じなのに遅延評価しちゃう。
ということで、以上。
開発環境をWindowsからMacに移行してみた話


3番手も初登場のシニアエンジニア吉倉。
今回は急遽出張が入り、遠方からビデオ会議システムで参加。
お寿司と飲み物は近くで買ってきてもらいました 。

MacBook Proを購入したところから今回の話はスタート。

お伝えする内容のアウトライン。

IDE。

ローカルにSQLServerを立てる。

データベース統合環境。

まとめ。
コンソールアプリケーションでDIを使う

そして4番手。こちらも初登場のシニアエンジニア安藤。

本日の概要。


コンソールアプリケーションでDIを使う。

どんな時にDIすると嬉しいか。





例えば、時計の場合。

まとめ。
C#で速度を極めるいろは

5番目も初登場のシニアエンジニア山本。
C#エンジニアのガチ勢の1人です。

C#と高速化のモチベーション。

効率的に高速化したい。



LINQの中身。

配列へのfor() vs foreach()。

配列とSpanと境界判定。

LINQとループを知る。

後編のコンテンツも用意していたのですが、時間の都合上、ここで終了。
今後お楽しみに。
センシングサイエンティストが経費精算を自動化したらこうなった

最後は毎回登場のセンシングサイエンティスト坂本。
今回も笑いありの涙ありのLTをご紹介。

本日ご紹介する内容。

現状。

今回のゴール。


どうやって達成するか。


実際に実演。
今回は上手くいきませんでした。。。涙
懇親会は立食形式で

LT会のあとは恒例の懇親会。
今回のC#をテーマにしたLT会は、申込数は少なかったですが参加率はとても高くていつもとのギャップを感じました。
また、参加者と話をすると「C#のLT会はめずらしいので参加しました」「C#ガチ勢の方のコンテンツが為になった」「優秀なエンジニアが多いんですね」「ずっとこのイベントに参加したかったんですけど、毎回抽選で漏れて参加できなかったんです」などの感想を聞くことができました。
次回もまた企画しますので、ぜひご参加いただければと思います。
また、一緒にイベントを開催してくださる企業さまも募集します。
ぜひ、ご興味があるかたはこちらからご連絡お願いいたします。

