SlideShare a Scribd company logo
1 of 21
Download to read offline
Reactive Extensions
はじめました
2015/04/16 歌舞伎座.tech #7
大田 一希
自己紹介
 名前
– 大田 一希
 SNS/Blog
– かずきのBlog@hatena
http://okazuki.hatenablog.com/
– Twitter
@okazuki
 自己アピール欄
– Microsoft MVP for Windows Platform Development
– Reactive Extensions 入門 v0.1
http://www.slideshare.net/okazuki0130/reactive-extensionsv01
– Reactive Extensions + メソッド名でググってください
– 左耳が聞こえにくい
お約束事項
 記載の内容は個人の見解であり、所属する企業を代表するもの
ではありません。
今日のゴール
 IObservable<T>のイメージを掴んでもらう
IObservable<T>とは
オブザーバーパターン
監視対象
Observable
監視者
Observer
監視
値の発行
つまりIObservable<T>は
 監視される人
– 状態が変化したら値を発行する
– 値が発行されたら監視者は、値を受け取って処理をする
時間の経過とともに値を発行するもの
 何かがあったら値を発行する
– こんな形の図で表されるもの
 Push型のコレクション
時間軸→
つまりIObservable<T>は
 Push型のコレクション
Push型のコレクションの例
 イベント
– クリック、クリック、クリック(時系列でイベントが起きる)
時間軸→
Push型のコレクションの例
 非同期処理
– 単一要素のPush型コレクション
時間軸→
処理の呼び出し
Push型のコレクションの例
 普通のコレクションも見方によっては…
– 0秒で一気に値が発行される
時間軸→
コレクションといえば
コレクションといえば
 LINQが出来る
– フィルタリング(Where)
– 射影(Select)
– マージ(Merge)
– 一定数無視する(Skip)
– 一定数だけ処理する(Take)
– etc…
IObservable<T> + LINQ
フィルタ
IObservable<T> + LINQ
射影(変換)
IObservable<T> + LINQ
合成
ありがちな例
 マウスイベントの組合せ
– マウスダウン
– マウスアップ
– マウスムーブ
まとめ
IObservable<T>とは
 オブザーバーパターン
 時系列に値を発行するもの
 Push型のコレクション
Reactive Extensionsとは
 IObservable<T> + LINQ
– 加工
– フィルタ
– グルーピング
– 合成
– etc…

More Related Content

Viewers also liked

20150530 めとべや東京8 universal windows platform appの画面開発
20150530 めとべや東京8 universal windows platform appの画面開発20150530 めとべや東京8 universal windows platform appの画面開発
20150530 めとべや東京8 universal windows platform appの画面開発一希 大田
 
20160416 Azure Data Lakeのはまりどころ
20160416 Azure Data Lakeのはまりどころ20160416 Azure Data Lakeのはまりどころ
20160416 Azure Data Lakeのはまりどころ一希 大田
 
めとべや東京5_XAML
めとべや東京5_XAMLめとべや東京5_XAML
めとべや東京5_XAML一希 大田
 
20150905 stream analytics
20150905 stream analytics20150905 stream analytics
20150905 stream analytics一希 大田
 
Visual Studio 2015 リリース記念 勉強会 universal windows platform app
Visual Studio 2015 リリース記念 勉強会 universal windows platform appVisual Studio 2015 リリース記念 勉強会 universal windows platform app
Visual Studio 2015 リリース記念 勉強会 universal windows platform app一希 大田
 
Prism + ReactiveProperty入門
Prism + ReactiveProperty入門Prism + ReactiveProperty入門
Prism + ReactiveProperty入門一希 大田
 
めとべや東京10 Universal Windows Platform appの新しいバインディング
めとべや東京10 Universal Windows Platform appの新しいバインディングめとべや東京10 Universal Windows Platform appの新しいバインディング
めとべや東京10 Universal Windows Platform appの新しいバインディング一希 大田
 
Reactive extensions入門v0.1
Reactive extensions入門v0.1Reactive extensions入門v0.1
Reactive extensions入門v0.1一希 大田
 
某rss収集アプリ
某rss収集アプリ某rss収集アプリ
某rss収集アプリ一希 大田
 
Universal Windows app 入門
Universal Windows app 入門Universal Windows app 入門
Universal Windows app 入門一希 大田
 
プログラミングのきっかけ
プログラミングのきっかけプログラミングのきっかけ
プログラミングのきっかけ一希 大田
 
20140531 めとべや東京4 ユニバーサル アプリ入門
20140531 めとべや東京4 ユニバーサル アプリ入門20140531 めとべや東京4 ユニバーサル アプリ入門
20140531 めとべや東京4 ユニバーサル アプリ入門一希 大田
 
Blend for visual studio 2013の新機能
Blend for visual studio 2013の新機能Blend for visual studio 2013の新機能
Blend for visual studio 2013の新機能一希 大田
 
かずきのUWP入門
かずきのUWP入門かずきのUWP入門
かずきのUWP入門一希 大田
 
Visual studio 2013 Overview
Visual studio 2013 OverviewVisual studio 2013 Overview
Visual studio 2013 Overview一希 大田
 
XAML + C#で開発するときの Visual Studio 2013(とBlend)の 便利機能
XAML + C#で開発するときのVisual Studio 2013(とBlend)の便利機能XAML + C#で開発するときのVisual Studio 2013(とBlend)の便利機能
XAML + C#で開発するときの Visual Studio 2013(とBlend)の 便利機能一希 大田
 
これからのコンピューティングとJava(Hacker Tackle)
これからのコンピューティングとJava(Hacker Tackle)これからのコンピューティングとJava(Hacker Tackle)
これからのコンピューティングとJava(Hacker Tackle)なおき きしだ
 
未来のプログラミング技術をUnityで -UniRx-
未来のプログラミング技術をUnityで -UniRx-未来のプログラミング技術をUnityで -UniRx-
未来のプログラミング技術をUnityで -UniRx-torisoup
 

Viewers also liked (20)

20150530 めとべや東京8 universal windows platform appの画面開発
20150530 めとべや東京8 universal windows platform appの画面開発20150530 めとべや東京8 universal windows platform appの画面開発
20150530 めとべや東京8 universal windows platform appの画面開発
 
20160416 Azure Data Lakeのはまりどころ
20160416 Azure Data Lakeのはまりどころ20160416 Azure Data Lakeのはまりどころ
20160416 Azure Data Lakeのはまりどころ
 
めとべや東京5_XAML
めとべや東京5_XAMLめとべや東京5_XAML
めとべや東京5_XAML
 
20150905 stream analytics
20150905 stream analytics20150905 stream analytics
20150905 stream analytics
 
Visual Studio 2015 リリース記念 勉強会 universal windows platform app
Visual Studio 2015 リリース記念 勉強会 universal windows platform appVisual Studio 2015 リリース記念 勉強会 universal windows platform app
Visual Studio 2015 リリース記念 勉強会 universal windows platform app
 
Prism + ReactiveProperty入門
Prism + ReactiveProperty入門Prism + ReactiveProperty入門
Prism + ReactiveProperty入門
 
めとべや東京10 Universal Windows Platform appの新しいバインディング
めとべや東京10 Universal Windows Platform appの新しいバインディングめとべや東京10 Universal Windows Platform appの新しいバインディング
めとべや東京10 Universal Windows Platform appの新しいバインディング
 
Reactive extensions入門v0.1
Reactive extensions入門v0.1Reactive extensions入門v0.1
Reactive extensions入門v0.1
 
Xamarin.forms入門
Xamarin.forms入門Xamarin.forms入門
Xamarin.forms入門
 
某rss収集アプリ
某rss収集アプリ某rss収集アプリ
某rss収集アプリ
 
Universal Windows app 入門
Universal Windows app 入門Universal Windows app 入門
Universal Windows app 入門
 
プログラミングのきっかけ
プログラミングのきっかけプログラミングのきっかけ
プログラミングのきっかけ
 
20140531 めとべや東京4 ユニバーサル アプリ入門
20140531 めとべや東京4 ユニバーサル アプリ入門20140531 めとべや東京4 ユニバーサル アプリ入門
20140531 めとべや東京4 ユニバーサル アプリ入門
 
WPF4.5入門
WPF4.5入門WPF4.5入門
WPF4.5入門
 
Blend for visual studio 2013の新機能
Blend for visual studio 2013の新機能Blend for visual studio 2013の新機能
Blend for visual studio 2013の新機能
 
かずきのUWP入門
かずきのUWP入門かずきのUWP入門
かずきのUWP入門
 
Visual studio 2013 Overview
Visual studio 2013 OverviewVisual studio 2013 Overview
Visual studio 2013 Overview
 
XAML + C#で開発するときの Visual Studio 2013(とBlend)の 便利機能
XAML + C#で開発するときのVisual Studio 2013(とBlend)の便利機能XAML + C#で開発するときのVisual Studio 2013(とBlend)の便利機能
XAML + C#で開発するときの Visual Studio 2013(とBlend)の 便利機能
 
これからのコンピューティングとJava(Hacker Tackle)
これからのコンピューティングとJava(Hacker Tackle)これからのコンピューティングとJava(Hacker Tackle)
これからのコンピューティングとJava(Hacker Tackle)
 
未来のプログラミング技術をUnityで -UniRx-
未来のプログラミング技術をUnityで -UniRx-未来のプログラミング技術をUnityで -UniRx-
未来のプログラミング技術をUnityで -UniRx-
 

More from 一希 大田

.NET 7 での ASP.NET Core Blazor の新機能ピックアップ
.NET 7 での ASP.NET Core Blazor の新機能ピックアップ.NET 7 での ASP.NET Core Blazor の新機能ピックアップ
.NET 7 での ASP.NET Core Blazor の新機能ピックアップ一希 大田
 
Azure Static Web Apps を試してみた!
Azure Static Web Apps を試してみた!Azure Static Web Apps を試してみた!
Azure Static Web Apps を試してみた!一希 大田
 
Visual studio 2019 updates pickup!
Visual studio 2019 updates pickup!Visual studio 2019 updates pickup!
Visual studio 2019 updates pickup!一希 大田
 
.NET 5 and Windows app dev
.NET 5 and Windows app dev.NET 5 and Windows app dev
.NET 5 and Windows app dev一希 大田
 
Uno Platform 触ってみた
Uno Platform 触ってみたUno Platform 触ってみた
Uno Platform 触ってみた一希 大田
 
WPF on .NET Core 3.1 で Windows 10 アプリ開発
WPF on .NET Core 3.1 で Windows 10 アプリ開発WPF on .NET Core 3.1 で Windows 10 アプリ開発
WPF on .NET Core 3.1 で Windows 10 アプリ開発一希 大田
 
.NET Core 3.0 + Windows 10 で WPF 開発
.NET Core 3.0 + Windows 10 で WPF 開発.NET Core 3.0 + Windows 10 で WPF 開発
.NET Core 3.0 + Windows 10 で WPF 開発一希 大田
 
はじめよう Azure Functions
はじめよう Azure Functionsはじめよう Azure Functions
はじめよう Azure Functions一希 大田
 
Windows 10 対応のデスクトップアプリを作る技術(事前公開版v2)
Windows 10 対応のデスクトップアプリを作る技術(事前公開版v2)Windows 10 対応のデスクトップアプリを作る技術(事前公開版v2)
Windows 10 対応のデスクトップアプリを作る技術(事前公開版v2)一希 大田
 
Xamarin.Forms アプリケーション 設計パターン
Xamarin.Forms アプリケーション 設計パターンXamarin.Forms アプリケーション 設計パターン
Xamarin.Forms アプリケーション 設計パターン一希 大田
 
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)一希 大田
 
WPF on .NET Core 3.0
WPF on .NET Core 3.0WPF on .NET Core 3.0
WPF on .NET Core 3.0一希 大田
 
Visual Studio 2019 の個人的なお勧め機能(発表時点)
Visual Studio 2019 の個人的なお勧め機能(発表時点)Visual Studio 2019 の個人的なお勧め機能(発表時点)
Visual Studio 2019 の個人的なお勧め機能(発表時点)一希 大田
 
Visual Studio 2019 の個人的なお勧め機能
Visual Studio 2019 の個人的なお勧め機能Visual Studio 2019 の個人的なお勧め機能
Visual Studio 2019 の個人的なお勧め機能一希 大田
 
Windows 10 に対応した デスクトップ アプリを作る技術(事前公開版 v2)
Windows 10 に対応した デスクトップ アプリを作る技術(事前公開版 v2)Windows 10 に対応した デスクトップ アプリを作る技術(事前公開版 v2)
Windows 10 に対応した デスクトップ アプリを作る技術(事前公開版 v2)一希 大田
 
事前公開版 Windows 10 に対応したデスクトップ アプリを作る技術 v1
事前公開版 Windows 10 に対応したデスクトップ アプリを作る技術 v1事前公開版 Windows 10 に対応したデスクトップ アプリを作る技術 v1
事前公開版 Windows 10 に対応したデスクトップ アプリを作る技術 v1一希 大田
 
スマートスピーカーのバックエンドで Azure を使う方法
スマートスピーカーのバックエンドでAzure を使う方法スマートスピーカーのバックエンドでAzure を使う方法
スマートスピーカーのバックエンドで Azure を使う方法一希 大田
 
Visual Studio App center 概要
Visual Studio App center 概要Visual Studio App center 概要
Visual Studio App center 概要一希 大田
 
はじめての HoloLens セッションの集大成お見せします!
はじめての HoloLens セッションの集大成お見せします!はじめての HoloLens セッションの集大成お見せします!
はじめての HoloLens セッションの集大成お見せします!一希 大田
 

More from 一希 大田 (20)

.NET 7 での ASP.NET Core Blazor の新機能ピックアップ
.NET 7 での ASP.NET Core Blazor の新機能ピックアップ.NET 7 での ASP.NET Core Blazor の新機能ピックアップ
.NET 7 での ASP.NET Core Blazor の新機能ピックアップ
 
Power Apps + C#
Power Apps + C#Power Apps + C#
Power Apps + C#
 
Azure Static Web Apps を試してみた!
Azure Static Web Apps を試してみた!Azure Static Web Apps を試してみた!
Azure Static Web Apps を試してみた!
 
Visual studio 2019 updates pickup!
Visual studio 2019 updates pickup!Visual studio 2019 updates pickup!
Visual studio 2019 updates pickup!
 
.NET 5 and Windows app dev
.NET 5 and Windows app dev.NET 5 and Windows app dev
.NET 5 and Windows app dev
 
Uno Platform 触ってみた
Uno Platform 触ってみたUno Platform 触ってみた
Uno Platform 触ってみた
 
WPF on .NET Core 3.1 で Windows 10 アプリ開発
WPF on .NET Core 3.1 で Windows 10 アプリ開発WPF on .NET Core 3.1 で Windows 10 アプリ開発
WPF on .NET Core 3.1 で Windows 10 アプリ開発
 
.NET Core 3.0 + Windows 10 で WPF 開発
.NET Core 3.0 + Windows 10 で WPF 開発.NET Core 3.0 + Windows 10 で WPF 開発
.NET Core 3.0 + Windows 10 で WPF 開発
 
はじめよう Azure Functions
はじめよう Azure Functionsはじめよう Azure Functions
はじめよう Azure Functions
 
Windows 10 対応のデスクトップアプリを作る技術(事前公開版v2)
Windows 10 対応のデスクトップアプリを作る技術(事前公開版v2)Windows 10 対応のデスクトップアプリを作る技術(事前公開版v2)
Windows 10 対応のデスクトップアプリを作る技術(事前公開版v2)
 
Xamarin.Forms アプリケーション 設計パターン
Xamarin.Forms アプリケーション 設計パターンXamarin.Forms アプリケーション 設計パターン
Xamarin.Forms アプリケーション 設計パターン
 
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)
 
WPF on .NET Core 3.0
WPF on .NET Core 3.0WPF on .NET Core 3.0
WPF on .NET Core 3.0
 
Visual Studio 2019 の個人的なお勧め機能(発表時点)
Visual Studio 2019 の個人的なお勧め機能(発表時点)Visual Studio 2019 の個人的なお勧め機能(発表時点)
Visual Studio 2019 の個人的なお勧め機能(発表時点)
 
Visual Studio 2019 の個人的なお勧め機能
Visual Studio 2019 の個人的なお勧め機能Visual Studio 2019 の個人的なお勧め機能
Visual Studio 2019 の個人的なお勧め機能
 
Windows 10 に対応した デスクトップ アプリを作る技術(事前公開版 v2)
Windows 10 に対応した デスクトップ アプリを作る技術(事前公開版 v2)Windows 10 に対応した デスクトップ アプリを作る技術(事前公開版 v2)
Windows 10 に対応した デスクトップ アプリを作る技術(事前公開版 v2)
 
事前公開版 Windows 10 に対応したデスクトップ アプリを作る技術 v1
事前公開版 Windows 10 に対応したデスクトップ アプリを作る技術 v1事前公開版 Windows 10 に対応したデスクトップ アプリを作る技術 v1
事前公開版 Windows 10 に対応したデスクトップ アプリを作る技術 v1
 
スマートスピーカーのバックエンドで Azure を使う方法
スマートスピーカーのバックエンドでAzure を使う方法スマートスピーカーのバックエンドでAzure を使う方法
スマートスピーカーのバックエンドで Azure を使う方法
 
Visual Studio App center 概要
Visual Studio App center 概要Visual Studio App center 概要
Visual Studio App center 概要
 
はじめての HoloLens セッションの集大成お見せします!
はじめての HoloLens セッションの集大成お見せします!はじめての HoloLens セッションの集大成お見せします!
はじめての HoloLens セッションの集大成お見せします!
 

Reactive Extensionsはじめました