Enviar pesquisa
Carregar
LINQ雑談
•
Transferir como PPTX, PDF
•
1 gostou
•
1,081 visualizações
Lee Choong Geun
Seguir
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 15
Baixar agora
Recomendados
もがいているエンジニア集まれ~今度こそ英語をモノにしよう~
もがいているエンジニア集まれ~今度こそ英語をモノにしよう~
Kiyotaka Kunihira
Lチカ入門の準備 おっさん達が好きなことを話す会
Lチカ入門の準備 おっさん達が好きなことを話す会
Tsutomu Sakaguchi
C# LINQ ~深く知って、使いまくろう~
C# LINQ ~深く知って、使いまくろう~
Fujio Kojima
ヤマハルータで始める自宅LANのすゝめ
ヤマハルータで始める自宅LANのすゝめ
Lee Choong Geun
TeslaCryptを焼き肉に変えた話
TeslaCryptを焼き肉に変えた話
Lee Choong Geun
Gradle入門
Gradle入門
Lee Choong Geun
もっと気軽に勉強会を
もっと気軽に勉強会を
Lee Choong Geun
簡単!Groovy入門
簡単!Groovy入門
Lee Choong Geun
Recomendados
もがいているエンジニア集まれ~今度こそ英語をモノにしよう~
もがいているエンジニア集まれ~今度こそ英語をモノにしよう~
Kiyotaka Kunihira
Lチカ入門の準備 おっさん達が好きなことを話す会
Lチカ入門の準備 おっさん達が好きなことを話す会
Tsutomu Sakaguchi
C# LINQ ~深く知って、使いまくろう~
C# LINQ ~深く知って、使いまくろう~
Fujio Kojima
ヤマハルータで始める自宅LANのすゝめ
ヤマハルータで始める自宅LANのすゝめ
Lee Choong Geun
TeslaCryptを焼き肉に変えた話
TeslaCryptを焼き肉に変えた話
Lee Choong Geun
Gradle入門
Gradle入門
Lee Choong Geun
もっと気軽に勉強会を
もっと気軽に勉強会を
Lee Choong Geun
簡単!Groovy入門
簡単!Groovy入門
Lee Choong Geun
PBLのためのはじめてのGit
PBLのためのはじめてのGit
Lee Choong Geun
Effective Java輪読会 vol0
Effective Java輪読会 vol0
Lee Choong Geun
出、出~!勉強会参加技術向上思奴wwww
出、出~!勉強会参加技術向上思奴wwww
Lee Choong Geun
xamarin for android試してみた
xamarin for android試してみた
Lee Choong Geun
西区プログラム勉強会説明資料OSC発表版
西区プログラム勉強会説明資料OSC発表版
Lee Choong Geun
ハードウェアで遊ぼうよ
ハードウェアで遊ぼうよ
Lee Choong Geun
西区プログラム勉強会(仮)Ver2
西区プログラム勉強会(仮)Ver2
Lee Choong Geun
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Mais conteúdo relacionado
Mais de Lee Choong Geun
PBLのためのはじめてのGit
PBLのためのはじめてのGit
Lee Choong Geun
Effective Java輪読会 vol0
Effective Java輪読会 vol0
Lee Choong Geun
出、出~!勉強会参加技術向上思奴wwww
出、出~!勉強会参加技術向上思奴wwww
Lee Choong Geun
xamarin for android試してみた
xamarin for android試してみた
Lee Choong Geun
西区プログラム勉強会説明資料OSC発表版
西区プログラム勉強会説明資料OSC発表版
Lee Choong Geun
ハードウェアで遊ぼうよ
ハードウェアで遊ぼうよ
Lee Choong Geun
西区プログラム勉強会(仮)Ver2
西区プログラム勉強会(仮)Ver2
Lee Choong Geun
Mais de Lee Choong Geun
(7)
PBLのためのはじめてのGit
PBLのためのはじめてのGit
Effective Java輪読会 vol0
Effective Java輪読会 vol0
出、出~!勉強会参加技術向上思奴wwww
出、出~!勉強会参加技術向上思奴wwww
xamarin for android試してみた
xamarin for android試してみた
西区プログラム勉強会説明資料OSC発表版
西区プログラム勉強会説明資料OSC発表版
ハードウェアで遊ぼうよ
ハードウェアで遊ぼうよ
西区プログラム勉強会(仮)Ver2
西区プログラム勉強会(仮)Ver2
Último
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Último
(12)
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LINQ雑談
1.
LINQ雑談 西区プログラム勉強会 李充根
2.
LINQの雑談します • C#勉強会の時発表したものの使い回しです(笑) • 最近LINQを使ってみて面白かったので紹介しま す •
去年までは全然使ったことなかったのでまだわ からないことや曖昧なこといっぱいあるので変 なところはお構いなく突っ込んでね • C#勉強会の時は友人に「LINQよくわからん」と 言われました、わからないことは適宜聞いてく ださい
3.
LINQとは? • LinQ(リンク)は、2011年4月17日にデビューし た福岡県福岡市を拠点に活動する日本のローカ ルアイドルグループ。 • 2012年のスローガンは「出ろ!
しゃべれ! スベれ! 笑え! 馬鹿になれ! 笑う門には福来たる! 雑草ア イドルLinQよ行くぞ!」である (出典:wikipedia)
4.
LINQとは? • 統合言語クエリ (LINQ,
Language INtegrated Query)とは、.NET Framework 3.5において、様々 な種類のデータ集合に対して標準化された方法 でデータを問い合わせることを可能にする、言 語に統合された機能のことである。開発ツール はVisual Studio 2008から対応している。 (出典:wikipedia)
5.
つまり? • 簡単な書き方でデータの操作ができる • SQL、XML、リストなどを操作できる •
普通のメソッド構文(ラムダ式を使用)でもかけ るけどクエリ構文で書くと簡単! • 使わなきゃ損損! • いつまで古い文法で縛られているの?(C#全般) • • • • delegate event ラムダ式 etc…
6.
書き方 • メソッド構文 ワンライナー! ▫ var
hoge = numbers.Where(num => num % 2 == 0).OrderBy(n => n); • クエリ構文 ▫ var hoge= from num in numbers where num % 2 == 0 orderby num select num; ラムダ式 ラムダ式 可読性! SQL的構文
7.
ちなみに • JavaでもJava8からラムダ式が採用されて StreamAPIが実装されているので似たようなこと できるよ • でも一度streamに変換しなきゃいけないしナン カ垢抜けてない…… •
詳しくはきしださんの記事を↓ • http://d.hatena.ne.jp/nowokay/20130504
8.
なんで使い始めたか? • 数万件のCSVデータから数千件の検索用CSVと マッチするデータを抽出 • それと同時にアンマッチデータも抽出 •
社内で検討→excel?DB(SQL)?スクリプト? • エクセルは面倒なので論外、DBに一旦入れて処 理しても良かったけど客先にDB入れるの大変 • プログラム簡単に組んで処理しよう!
9.
よし、プログラムつくろう • 最初はパッと書いてぱっと修正できるスクリプ ト言語を検討 ▫ そもそも俺あんまりスクリプトかけない ▫
(Pythonかじった程度、PHPは読むだけ、Ruby??) • Java,C#ならわかる! ▫ そういえばデータ操作ならLINQ便利らしい SQLっぽいことやりつつデータの整形ができる 二つのデータのマッチもJOIN使えばすぐできる! • LINQ使えば楽じゃん!
10.
使ってみて • 予想以上に簡単にデータ処理ができる • 糖衣構文(クエリ構文)になっているから見やすい •
一方 ▫ アンマッチデータの取得どうするんだ? ▫ 最初は抽出データと検索データ照合したけどM*Nの時 間がかかって遅い! ▫ (抽出がほぼ一瞬なのに対して数分かかる) • vivisukeさんがN^2はダメでlog(N^2)までだよねって 言ってたことが身を持って実感できたよ
11.
Twitterで嘆いたら • すぐに面識のない人から返事が! ▫ (LINQ星人ってボットが拾ってくるみたい) ▫
GroupJoinを使えばいいんだよ! • GroupJoinはJoinしたものをグループでまとめて くれる • DefaultIfEmptyでマッチしなかったデータも使え るのでアンマッチリストも作れる!
12.
結果 • 速度が数百倍! • ほぼストレスなく実行できた •
その他 • 遅延評価(遅延実行?)→キャッシュないので重い 処理は気をつけないと何度も実行される • 回避するにはToList()でリスト化してしまう
13.
サンプルプログラム紹介
14.
その他 • Xamarin(mono)でももちろん使える ▫ Xamarin
for Android使えばAndroid開発でも使える 前回発表を参考 • 個人で開発する分ならいいけどグループで開発 するにはみんなのスキル向上が必要 ▫ とは言ってもすでに.net4.5の時代だしそろそろみ んな使えてもいいはず • スクリプト言語で同じような処理したいな ▫ 関数型使えばいいのかい? ▫ Haskell勉強中
15.
ご清聴ありがとうがございました!
Baixar agora