Submit Search
Upload
Linq to XXXX(Reactive Extensionsの紹介)
•
3 likes
•
1,768 views
Hiroshi Maekawa
Follow
2013/08/24のLinq勉強会 #2での資料です。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 25
Download now
Download to read offline
Recommended
Llvm Talk 社内LT大会資料
Llvm Talk 社内LT大会資料
Ken'ichi Sakiyama
プログラミングNet framework3のお題
プログラミングNet framework3のお題
Kazushi Kamegawa
歌舞伎座tech発表資料 RxJSの中を追う
歌舞伎座tech発表資料 RxJSの中を追う
wilfrem
Exaリーディングのすゝめ
Exaリーディングのすゝめ
Shinichi Makino
Prototypeベース in JavaScript
Prototypeベース in JavaScript
Ryo Maruyama
LINQ to XML
LINQ to XML
ukdpe
The Essence of Using Ruby on Rails in Corporations
The Essence of Using Ruby on Rails in Corporations
Koichiro Ohba
超Linq入門 実践編
超Linq入門 実践編
yone64
Recommended
Llvm Talk 社内LT大会資料
Llvm Talk 社内LT大会資料
Ken'ichi Sakiyama
プログラミングNet framework3のお題
プログラミングNet framework3のお題
Kazushi Kamegawa
歌舞伎座tech発表資料 RxJSの中を追う
歌舞伎座tech発表資料 RxJSの中を追う
wilfrem
Exaリーディングのすゝめ
Exaリーディングのすゝめ
Shinichi Makino
Prototypeベース in JavaScript
Prototypeベース in JavaScript
Ryo Maruyama
LINQ to XML
LINQ to XML
ukdpe
The Essence of Using Ruby on Rails in Corporations
The Essence of Using Ruby on Rails in Corporations
Koichiro Ohba
超Linq入門 実践編
超Linq入門 実践編
yone64
Flang kkd1
Flang kkd1
florets1
おとなのテキストマイニング
おとなのテキストマイニング
Munenori Sugimura
パーフェクト"Elixir情報収集"
パーフェクト"Elixir情報収集"
Keisuke Takahashi
徳丸本ができるまで
徳丸本ができるまで
Hiroshi Tokumaru
Build Dockferile with Haskell
Build Dockferile with Haskell
Nobutada Matsubara
RubyKaigi2011講演資料「日本の図書館はどのようにRubyを使っているか」
RubyKaigi2011講演資料「日本の図書館はどのようにRubyを使っているか」
Kosuke Tanabe
LINQ 概要 + 結構便利な LINQ to XML
LINQ 概要 + 結構便利な LINQ to XML
ShinichiAoyagi
DBFluteハンズオンで学んだこと etc.
DBFluteハンズオンで学んだこと etc.
Masato Tokuda
How to read linux kernel
How to read linux kernel
Naoya Ito
sphinx + blockdiag で始めるドキュメント生活 2011/05 yokohama.pm
sphinx + blockdiag で始めるドキュメント生活 2011/05 yokohama.pm
Takeshi Komiya
Scalaで学ぶ関数型言語超入門
Scalaで学ぶ関数型言語超入門
yujiro_t
LINQ to なにがし
LINQ to なにがし
Yuta Matsumura
PHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考える
Takuya Sato
新しい技術を取り入れるための実験のやり方 〜サーバーレス・機械学習・PWAを実戦に投入するまで〜
新しい技術を取り入れるための実験のやり方 〜サーバーレス・機械学習・PWAを実戦に投入するまで〜
Hiroshi Maekawa
老舗大企業からスタートアップでの二年間
老舗大企業からスタートアップでの二年間
Hiroshi Maekawa
芯を通す開発を目指して ー アジャイル"ファン"が本気でアジャイル開発に取り組んだ2年間 ー
芯を通す開発を目指して ー アジャイル"ファン"が本気でアジャイル開発に取り組んだ2年間 ー
Hiroshi Maekawa
第8回大阪Jenkins勉強会LT: iOS vs CI
第8回大阪Jenkins勉強会LT: iOS vs CI
Hiroshi Maekawa
Visual Studio Online as a CI Service
Visual Studio Online as a CI Service
Hiroshi Maekawa
Travis, Circle そして Jenkins 2.0
Travis, Circle そして Jenkins 2.0
Hiroshi Maekawa
Dockerとdev ops
Dockerとdev ops
Hiroshi Maekawa
Getting Start with React Native
Getting Start with React Native
Hiroshi Maekawa
「価値探索」がつないだクライアントと開発者の絆
「価値探索」がつないだクライアントと開発者の絆
Hiroshi Maekawa
More Related Content
Similar to Linq to XXXX(Reactive Extensionsの紹介)
Flang kkd1
Flang kkd1
florets1
おとなのテキストマイニング
おとなのテキストマイニング
Munenori Sugimura
パーフェクト"Elixir情報収集"
パーフェクト"Elixir情報収集"
Keisuke Takahashi
徳丸本ができるまで
徳丸本ができるまで
Hiroshi Tokumaru
Build Dockferile with Haskell
Build Dockferile with Haskell
Nobutada Matsubara
RubyKaigi2011講演資料「日本の図書館はどのようにRubyを使っているか」
RubyKaigi2011講演資料「日本の図書館はどのようにRubyを使っているか」
Kosuke Tanabe
LINQ 概要 + 結構便利な LINQ to XML
LINQ 概要 + 結構便利な LINQ to XML
ShinichiAoyagi
DBFluteハンズオンで学んだこと etc.
DBFluteハンズオンで学んだこと etc.
Masato Tokuda
How to read linux kernel
How to read linux kernel
Naoya Ito
sphinx + blockdiag で始めるドキュメント生活 2011/05 yokohama.pm
sphinx + blockdiag で始めるドキュメント生活 2011/05 yokohama.pm
Takeshi Komiya
Scalaで学ぶ関数型言語超入門
Scalaで学ぶ関数型言語超入門
yujiro_t
LINQ to なにがし
LINQ to なにがし
Yuta Matsumura
PHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考える
Takuya Sato
Similar to Linq to XXXX(Reactive Extensionsの紹介)
(13)
Flang kkd1
Flang kkd1
おとなのテキストマイニング
おとなのテキストマイニング
パーフェクト"Elixir情報収集"
パーフェクト"Elixir情報収集"
徳丸本ができるまで
徳丸本ができるまで
Build Dockferile with Haskell
Build Dockferile with Haskell
RubyKaigi2011講演資料「日本の図書館はどのようにRubyを使っているか」
RubyKaigi2011講演資料「日本の図書館はどのようにRubyを使っているか」
LINQ 概要 + 結構便利な LINQ to XML
LINQ 概要 + 結構便利な LINQ to XML
DBFluteハンズオンで学んだこと etc.
DBFluteハンズオンで学んだこと etc.
How to read linux kernel
How to read linux kernel
sphinx + blockdiag で始めるドキュメント生活 2011/05 yokohama.pm
sphinx + blockdiag で始めるドキュメント生活 2011/05 yokohama.pm
Scalaで学ぶ関数型言語超入門
Scalaで学ぶ関数型言語超入門
LINQ to なにがし
LINQ to なにがし
PHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考える
More from Hiroshi Maekawa
新しい技術を取り入れるための実験のやり方 〜サーバーレス・機械学習・PWAを実戦に投入するまで〜
新しい技術を取り入れるための実験のやり方 〜サーバーレス・機械学習・PWAを実戦に投入するまで〜
Hiroshi Maekawa
老舗大企業からスタートアップでの二年間
老舗大企業からスタートアップでの二年間
Hiroshi Maekawa
芯を通す開発を目指して ー アジャイル"ファン"が本気でアジャイル開発に取り組んだ2年間 ー
芯を通す開発を目指して ー アジャイル"ファン"が本気でアジャイル開発に取り組んだ2年間 ー
Hiroshi Maekawa
第8回大阪Jenkins勉強会LT: iOS vs CI
第8回大阪Jenkins勉強会LT: iOS vs CI
Hiroshi Maekawa
Visual Studio Online as a CI Service
Visual Studio Online as a CI Service
Hiroshi Maekawa
Travis, Circle そして Jenkins 2.0
Travis, Circle そして Jenkins 2.0
Hiroshi Maekawa
Dockerとdev ops
Dockerとdev ops
Hiroshi Maekawa
Getting Start with React Native
Getting Start with React Native
Hiroshi Maekawa
「価値探索」がつないだクライアントと開発者の絆
「価値探索」がつないだクライアントと開発者の絆
Hiroshi Maekawa
「価値探索」がつないだ クライアントと開発者の絆 〜Craful開発チームの60日〜
「価値探索」がつないだ クライアントと開発者の絆 〜Craful開発チームの60日〜
Hiroshi Maekawa
スタートアップこそ巨人の肩に乗りまくれ! 〜Craful開発とMackerel〜
スタートアップこそ巨人の肩に乗りまくれ! 〜Craful開発とMackerel〜
Hiroshi Maekawa
ドメイン『駆動』『開発』
ドメイン『駆動』『開発』
Hiroshi Maekawa
なれる!IL
なれる!IL
Hiroshi Maekawa
ポストJenkins時代のCI戦略
ポストJenkins時代のCI戦略
Hiroshi Maekawa
iOSのCI as a Service事情
iOSのCI as a Service事情
Hiroshi Maekawa
テストって何をするもの? - テストの5W1H -
テストって何をするもの? - テストの5W1H -
Hiroshi Maekawa
テスト自動化のパターンと実践
テスト自動化のパターンと実践
Hiroshi Maekawa
ホントは楽しいエイブンポー
ホントは楽しいエイブンポー
Hiroshi Maekawa
テスト自動化のパタンランゲージ@Agilet Tour Osaka
テスト自動化のパタンランゲージ@Agilet Tour Osaka
Hiroshi Maekawa
雑食系エンジニアの作りかた
雑食系エンジニアの作りかた
Hiroshi Maekawa
More from Hiroshi Maekawa
(20)
新しい技術を取り入れるための実験のやり方 〜サーバーレス・機械学習・PWAを実戦に投入するまで〜
新しい技術を取り入れるための実験のやり方 〜サーバーレス・機械学習・PWAを実戦に投入するまで〜
老舗大企業からスタートアップでの二年間
老舗大企業からスタートアップでの二年間
芯を通す開発を目指して ー アジャイル"ファン"が本気でアジャイル開発に取り組んだ2年間 ー
芯を通す開発を目指して ー アジャイル"ファン"が本気でアジャイル開発に取り組んだ2年間 ー
第8回大阪Jenkins勉強会LT: iOS vs CI
第8回大阪Jenkins勉強会LT: iOS vs CI
Visual Studio Online as a CI Service
Visual Studio Online as a CI Service
Travis, Circle そして Jenkins 2.0
Travis, Circle そして Jenkins 2.0
Dockerとdev ops
Dockerとdev ops
Getting Start with React Native
Getting Start with React Native
「価値探索」がつないだクライアントと開発者の絆
「価値探索」がつないだクライアントと開発者の絆
「価値探索」がつないだ クライアントと開発者の絆 〜Craful開発チームの60日〜
「価値探索」がつないだ クライアントと開発者の絆 〜Craful開発チームの60日〜
スタートアップこそ巨人の肩に乗りまくれ! 〜Craful開発とMackerel〜
スタートアップこそ巨人の肩に乗りまくれ! 〜Craful開発とMackerel〜
ドメイン『駆動』『開発』
ドメイン『駆動』『開発』
なれる!IL
なれる!IL
ポストJenkins時代のCI戦略
ポストJenkins時代のCI戦略
iOSのCI as a Service事情
iOSのCI as a Service事情
テストって何をするもの? - テストの5W1H -
テストって何をするもの? - テストの5W1H -
テスト自動化のパターンと実践
テスト自動化のパターンと実践
ホントは楽しいエイブンポー
ホントは楽しいエイブンポー
テスト自動化のパタンランゲージ@Agilet Tour Osaka
テスト自動化のパタンランゲージ@Agilet Tour Osaka
雑食系エンジニアの作りかた
雑食系エンジニアの作りかた
Recently uploaded
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
Recently uploaded
(8)
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
Linq to XXXX(Reactive Extensionsの紹介)
1.
Linq to XXXX 第二回
LINQ勉強会 @Posaune 1
2.
自己紹介 Posauneです。@Posauneです。まえかわです。 C#ラブ、F#すげえ、Ruby好き、Powershell好 き、Haskellがんばりたい 京都アジャイル勉強会(#京アジャ)やってま す。 最近はテストとか品質とかUXとかも好きで す。節操がない系エンジニア。 2
3.
3
4.
資料は来てから作りました 資料は少ないのでコードを沢山書こうと思い ます 適宜ツッコミをすることにより初めて成立す るセッションです 僕もRxは勉強中なので、一緒に勉強しましょ 4
5.
Linq to ... Linq
to Object メモリ上のデータをクエリする Linq to XML XMLテキストをクエリする Linq to SQL (Entity) DB上のデータを書く 5
6.
Linq to ... 基本的に、「同じ型のデータが連なって出て くる」というものならOK フィルタリング(Where,
Take, Skip) 加工(Select) 合成(Zip, SelectMany) 6
7.
同じ型のデータが 連なるもの・・・? 7
8.
Linq to Event Eventも同じ型のデータが大量に列挙される だからEventHandlerが使える、ですよね 8
9.
とはいえ。。。 Event は非同期呼び出しなので、IEnumerable とは本質的に合わない 同期呼び出し(Pull型) 非同期のものをPullで呼ぶと、いつ終わる かわからないものがメインスレッドに来る こわい 9
10.
Pull型の呼び出し 10
11.
そこでIObservable! Push型の列挙を行う 非同期列挙 最初に、「これが起きたらどうするか」を 登録しておき、実際に発生した時に呼び出さ れる、というイメージ。 11
12.
Push型の呼び出し 12
13.
Reactive Extensions! IObservable /
IObserver は.NET標準クラス でも、実装したクラスは存在しない! 実装したクラスを簡単に作るのが、Reactive Extensions 略称:Rx 13
14.
まず基本から Observableなデータソースをとりあえず作っ てみる。 Observable.Rangeメソッド Subject<T>型 14
15.
HotとCold ObservableにもHotとColdがある Hot:”動的”なIObservable 何が起こるのかは繋いでみないと わからない すべてのつないだものに同じ列挙をPushする Cold:”静的”なIObservable つないだ瞬間に発火する 何が起こるか事前に決まっている つないだもの毎に列挙をPushする 15
16.
HotとColdは 時間余ったらデモします 16
17.
いよいよEventにつなぐ Observable.FromEventというのがあるのです 17
18.
Linq to Event 大量のデータをLinq的メソッドチェーンによりさばける 見やすい(鍛えれば) 書きやすい(慣れれば) イベントの登録・解除も楽に ラムダでも解除できるよ! イベントのモックが簡単にできるようになる! UI系の単体テストが書きやすくなる System.Reactive.Testあたりを参照すべし イベントがFirst
Classオブジェクトに! 18
19.
さて何しましょう? 最初はマウスイベントをもう少しガッツリや ろうかとおもっていた D&Dとかも割とスッキリ書ける 昨日見たセッションビデオが面白くて ですね… 19
20.
Curing Your Event
Processing Blues with Reactive Extensions 20
21.
ホントはKINECTでやりたいお(´・ω・`) でもKINECT高いんだお(´;ω;`) だからLEAPでやるお!(`・ω・´) 21
22.
DEMO:LeapでRx! 22
23.
まとめ Rx:Linq to Event Event処理を簡潔に書けるようになる、かも Eventだけじゃなく、非同期にデータが飛んで くるものにはなんでも有効 23
24.
学習リソース neueccさんのBlog:http://neue.cc/category/ programming/rx okazukiさんのBlog:http://okazuki.hatenablog.com/ entry/20120324/1330956809 xin9leさんのBlog:http://xin9le.net/rx-intro 動画 http://channel9.msdn.com/Blogs/codefest/ DC2010T0100-Keynote-Rx-curing-your- asynchronous-programming-blues http://channel9.msdn.com/Events/TechEd/Europe/ 2012/DEV413 24
25.
おまけ: Interactive Extensions Rxで便利げだったものがIEnumerableに逆輸入 されたもの 略称Ix 便利らしいけれど、殆ど見れていない… @gushwellさんの学習リソース:http:// gushwell.ldblog.jp/archives/52257023.html http://www.nuget.org/packages/ Ix_Experimental-Main/ 25
Download now