SlideShare a Scribd company logo
Submit Search
Upload
Login
Signup
Reactive Extensions v2.0
Report
Yoshifumi Kawai
Follow
CTO at Cysharp
Mar. 31, 2012
•
0 likes
•
2,018 views
1
of
17
Reactive Extensions v2.0
Mar. 31, 2012
•
0 likes
•
2,018 views
Download Now
Download to read offline
Report
Technology
#slintky
Yoshifumi Kawai
Follow
CTO at Cysharp
Recommended
C#次世代非同期処理概観 - Task vs Reactive Extensions
Yoshifumi Kawai
30K views
•
33 slides
.NET Web プログラミングにおける非同期 IO のすべて (Build Insider OFFLINE)
Tusyoshi Matsuzaki
4.9K views
•
23 slides
Reactive Extensionsで非同期処理を簡単に
Yoshifumi Kawai
14.8K views
•
47 slides
Deep Dive async/await in Unity with UniTask(UniRx.Async)
Yoshifumi Kawai
104.7K views
•
68 slides
async/await のしくみ
信之 岩永
19.6K views
•
41 slides
そうだったのか! よくわかる process.nextTick() node.jsのイベントループを理解する
shigeki_ohtsu
27.8K views
•
28 slides
More Related Content
What's hot
Project Loom - 限定継続と軽量スレッド -
Yuichi Sakuraba
5.2K views
•
45 slides
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
YujiSoftware
9.9K views
•
23 slides
VarnishではじめるESI
Iwana Chan
11.4K views
•
28 slides
Varnish 4.0 Release Party in Tokyo発表資料
Iwana Chan
9.5K views
•
72 slides
Project Loom + Project Panama
Yuichi Sakuraba
1.3K views
•
43 slides
Rx java x retrofit
Shun Nakahara
990 views
•
49 slides
What's hot
(20)
Project Loom - 限定継続と軽量スレッド -
Yuichi Sakuraba
•
5.2K views
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
YujiSoftware
•
9.9K views
VarnishではじめるESI
Iwana Chan
•
11.4K views
Varnish 4.0 Release Party in Tokyo発表資料
Iwana Chan
•
9.5K views
Project Loom + Project Panama
Yuichi Sakuraba
•
1.3K views
Rx java x retrofit
Shun Nakahara
•
990 views
東京Node学園#3 Domains & Isolates
koichik
•
2.4K views
MlnagoyaRx
Shoichi Kakamu
•
462 views
WebRTC multitrack / multistream
mganeko
•
4.6K views
OPcache の最適化器の今
y-uti
•
10.2K views
TypeScript 言語処理系ことはじめ
Yu Nobuoka
•
3.3K views
Node-v0.12の新機能について
shigeki_ohtsu
•
26.5K views
CPANの依存モジュールをもう少し正しく検出したい
charsbar
•
3.3K views
An Internal of LINQ to Objects
Yoshifumi Kawai
•
40K views
Openresty
ogawatti
•
1K views
tokyo.vcl発表資料(VarnishCache3.0新機能とVUPの仕方)
Iwana Chan
•
3.4K views
Clojureによるログ収集と解析
Yoshitaka Kawashima
•
7.7K views
静的サイトどこにする?
ogawatti
•
187 views
Varnishのログの眺め方
Iwana Chan
•
4.7K views
CMSとPerlで遊ぼう
Daiki Ichinose
•
1.9K views
Viewers also liked
20110126 azure table in mono meeting
Takekazu Omi
5.4K views
•
11 slides
IKT standardi 9-12 razred
Lidija Kralj
791 views
•
17 slides
Talk on .NET assemblies
Vidya Agarwal
1.3K views
•
17 slides
Talk on windows azure
Vidya Agarwal
456 views
•
27 slides
Viseo intro Prive Public Cloud vs hosting
thavo001
1.4K views
•
26 slides
Windows Azure Web Sites, Cloud Services ou Virtual Machines ? Quelles technol...
Microsoft
921 views
•
31 slides
Viewers also liked
(11)
20110126 azure table in mono meeting
Takekazu Omi
•
5.4K views
IKT standardi 9-12 razred
Lidija Kralj
•
791 views
Talk on .NET assemblies
Vidya Agarwal
•
1.3K views
Talk on windows azure
Vidya Agarwal
•
456 views
Viseo intro Prive Public Cloud vs hosting
thavo001
•
1.4K views
Windows Azure Web Sites, Cloud Services ou Virtual Machines ? Quelles technol...
Microsoft
•
921 views
linq.js - Linq to Objects for JavaScript
Yoshifumi Kawai
•
11.8K views
How to make the Fastest C# Serializer, In the case of ZeroFormatter
Yoshifumi Kawai
•
8K views
Modern C# Programming 現代的なC#の書き方、ライブラリの選び方
Yoshifumi Kawai
•
25.7K views
OVH Summit 2016 - Map as a Service by Löic Ortola
Jawg Maps
•
327 views
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
Yoshifumi Kawai
•
54.1K views
Similar to Reactive Extensions v2.0
RxSwift
Kosuke Usami
3.3K views
•
41 slides
Rx Showcase
Takaaki Suzuki
754 views
•
14 slides
SpringOne Platform 2016 報告会「A Lite Rx API for the JVM」/ 井口 貝 @ SmartNews, Inc.
SmartNews, Inc.
1.2K views
•
71 slides
Sansan様 登壇資料
Daisuke Nagata
639 views
•
67 slides
ReactiveSignalR
Takaaki Suzuki
3.7K views
•
23 slides
実践 Reactive Extensions
Shin Ise
1.5K views
•
23 slides
Similar to Reactive Extensions v2.0
(20)
RxSwift
Kosuke Usami
•
3.3K views
Rx Showcase
Takaaki Suzuki
•
754 views
SpringOne Platform 2016 報告会「A Lite Rx API for the JVM」/ 井口 貝 @ SmartNews, Inc.
SmartNews, Inc.
•
1.2K views
Sansan様 登壇資料
Daisuke Nagata
•
639 views
ReactiveSignalR
Takaaki Suzuki
•
3.7K views
実践 Reactive Extensions
Shin Ise
•
1.5K views
Rx swift,Repro framewolrk
Daisuke Nagata
•
469 views
Nginx
Soichi Takamura
•
986 views
クラスメソッド第4回登壇資料 RxRealm
Daisuke Nagata
•
1.8K views
node-handlersocket
koichik
•
2K views
Rx入門
Takaaki Suzuki
•
26.8K views
JavaScript Tips 2015(PDF 版)
taskie
•
2.9K views
R5 3 type annotation
EIICHI KIMURA
•
2.8K views
serverless
Akira Otsuka
•
3.2K views
ATN No.2 Scala事始め
AdvancedTechNight
•
1.3K views
LL2021 Java update
torutk
•
58 views
How to Make Own Framework built on OWIN
Yoshifumi Kawai
•
38.1K views
RxSwift x APIKit
Kosuke Usami
•
3.5K views
Reactつかってみた
Minori Tokuda
•
6.9K views
react_rails
Shigeru Kondoh
•
292 views
More from Yoshifumi Kawai
A quick tour of the Cysharp OSS
Yoshifumi Kawai
59.2K views
•
20 slides
A Brief History of UniRx/UniTask, IUniTaskSource in Depth
Yoshifumi Kawai
1.8K views
•
19 slides
Building the Game Server both API and Realtime via c#
Yoshifumi Kawai
53.4K views
•
67 slides
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
Yoshifumi Kawai
42.8K views
•
44 slides
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Yoshifumi Kawai
4.7K views
•
52 slides
Unity C#と.NET Core(MagicOnion) C# そしてKotlinによるハーモニー
Yoshifumi Kawai
42.8K views
•
37 slides
More from Yoshifumi Kawai
(20)
A quick tour of the Cysharp OSS
Yoshifumi Kawai
•
59.2K views
A Brief History of UniRx/UniTask, IUniTaskSource in Depth
Yoshifumi Kawai
•
1.8K views
Building the Game Server both API and Realtime via c#
Yoshifumi Kawai
•
53.4K views
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
Yoshifumi Kawai
•
42.8K views
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Yoshifumi Kawai
•
4.7K views
Unity C#と.NET Core(MagicOnion) C# そしてKotlinによるハーモニー
Yoshifumi Kawai
•
42.8K views
Implements OpenTelemetry Collector in DotNet
Yoshifumi Kawai
•
42.6K views
Deep Dive async/await in Unity with UniTask(EN)
Yoshifumi Kawai
•
35.8K views
The Usage and Patterns of MagicOnion
Yoshifumi Kawai
•
46.8K views
True Cloud Native Batch Workflow for .NET with MicroBatchFramework
Yoshifumi Kawai
•
33.1K views
Memory Management of C# with Unity Native Collections
Yoshifumi Kawai
•
64.6K views
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
Yoshifumi Kawai
•
74.4K views
Binary Reading in C#
Yoshifumi Kawai
•
28.1K views
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
Yoshifumi Kawai
•
252.3K views
RuntimeUnitTestToolkit for Unity(English)
Yoshifumi Kawai
•
17.5K views
RuntimeUnitTestToolkit for Unity
Yoshifumi Kawai
•
70K views
NextGen Server/Client Architecture - gRPC + Unity + C#
Yoshifumi Kawai
•
78.7K views
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
Yoshifumi Kawai
•
48.7K views
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
Yoshifumi Kawai
•
56.5K views
Photon Server Deep Dive - View from Implmentation of PhotonWire, Multiplayer ...
Yoshifumi Kawai
•
4.6K views
Recently uploaded
20230921_IoTLT_vol103_kitazaki_v1.pdf
Ayachika Kitazaki
73 views
•
16 slides
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
NTT DATA Technology & Innovation
24 views
•
21 slides
CCoE実践者コミュニティ#1_CCoEが進めるセキュリティカイゼンの旅.pptx
Tomoaki Tada
23 views
•
20 slides
IGDA Japan SIG Audio #20-1 室内・野外でのマイク収録と整音.pdf
IGDA Japan SIG-Audio
94 views
•
31 slides
gtk4_gem_usage.pdf
ssuser0ef4681
11 views
•
6 slides
遠隔お酌IoTLT2309.pptx
Yoshiaki Ito
49 views
•
12 slides
Recently uploaded
(9)
20230921_IoTLT_vol103_kitazaki_v1.pdf
Ayachika Kitazaki
•
73 views
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
NTT DATA Technology & Innovation
•
24 views
CCoE実践者コミュニティ#1_CCoEが進めるセキュリティカイゼンの旅.pptx
Tomoaki Tada
•
23 views
IGDA Japan SIG Audio #20-1 室内・野外でのマイク収録と整音.pdf
IGDA Japan SIG-Audio
•
94 views
gtk4_gem_usage.pdf
ssuser0ef4681
•
11 views
遠隔お酌IoTLT2309.pptx
Yoshiaki Ito
•
49 views
松下研究室紹介_関西大学高槻キャンパスオープンキャンパス
Matsushita Laboratory
•
25 views
20230912JSSST大会基調講演_丸山.pdf
Hiroshi Maruyama
•
163 views
テスト自動化.pdf
ssuserf8ea02
•
16 views
Reactive Extensions v2.0
1.
Reactive Extensions v
2.0 (+ Silverlight 5) @neuecc 2012/3/31 #slintky
2.
Profile Twitter
=> @neuecc HN => neuecc 読むときは“のいえ”と読ませてます サイトのドメイン(特に意味はない)を繋いだだけ で、識別子になればそれだけでいいと思って発音考 えてなかったので割とアレ Microsoft MVP for Visual C#(2011/4-) 明日、期限切れor更新の勧告が! というわけで若干そわそわ中
3.
サイト http://neue.cc/ C#とかLINQ
配色がアレ
4.
linq.js http://linqjs.codeplex.com/ LINQのJavaScript移植
5.
ReactiveProperty http://reactiveproperty.codeplex.com/ Rxスタイルのバインディング補助ライブラリ
.NET4/SL5/SL5/WP7.1 対応
6.
ReactiveOAuth http://reactiveoauth.codeplex.com/ Rxを使った非同期系OAuthライブラリ
.NET4/SL5/SL5/WP7.1 対応
7.
What is Rx?
8.
LINQ to Events LINQ
to Asynchronous
9.
Demo
10.
History
in BCL??? (Future) RxJS 2.0 Beta (2011/12/30) mono-reactive Rx v1.0 (2011/1/21) Rx v2.0 Beta (2011/1/21) Phone.Reactive Rx Experimental RxJS v1.0 (2010/3/18) Rx in DevLabs (2009/11/18)
11.
位置付け 準標準、的なライブラリ Microsoftが開発、配布しているものだけど標準ラ
イブラリではない 将来的に標準入りするかはまだ分からない .NET3.5,4/SL3,4,5/WP7/WinRT/JavaScript 対応 Portable Library対応 ※ただしRx v2.0は.NET4.5/SL5/WinRT/WP7.1のみ Rx v1.0 ExperimentalはRx v2.0 Betaに吸収された SilverightではRx v2.0 BetaはSL5のみ利用可
12.
Demo
13.
SingleValue + Asynchronous
Rxは一つの値も複数の値も同じに扱ってしまう 利点でもあり欠点でもある // Synchronous SingleValue var x = GetValue(); // Asynchronous SingleValue(C# 5.0) var x = await GetValueAsync(); // Asynchronous SingleValue(C# 4.0) GetValueAsync.ContinueWith(x => /* Action */); // TPL // Asynchronous Single or MultiValue(C# 4.0) GetValueAsync.Subscribe(x => /* Action */); // Rx
14.
MultiValue + Asynchronous
非同期におけるMultiValueの元はイベント(例えば テキストチェンジ)だったりタイマーだったり // Synchronous MultiValue Enumerable.Range(1, 10) .Select(_ => WebRequest.Create().DownloadString()) .ForEach(s => { // Action }); // Asynchronous MultiValue Observable.Interval(TimeSpan.FromSeconds(1)) .Select(_ => WebRequest.Create().DownloadStringAsync()) .Subscribe(s => { // Action });
15.
Demo
16.
Power of Rx
例外処理、Retry処理、Timeout処理などRxの持つ パワーは非常に強力 C# 5.0と合わせるなら一時的にTask->Rx変換して、 それをawaitするなどで利用可能 但しRetry系はObservable.DeferやFromAsyncを被せ ておかないと悲惨なことに……! FromAsyncはRx v2.0で初お目見え、Taskとの連携用 var res = await Observable.FromAsync(() => WebRequest.Create().GetResponseAsync()) .Retry();
17.
link, linq, lync
Reactive Extensions http://msdn.microsoft.com/en-us/devlabs/gg577609 NuGetでRx v2.0を落とすときは-Preをつける Install-Package Rx-Main –Pre RxJSの各種ライブラリバインディング https://github.com/Reactive-Extensions 本体はDownload CenterかNuGetで @ITで連載やってます(絶賛原稿遅延中) http://www.atmarkit.co.jp/fdotnet/introrx/index/index. html