ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
RX
R e   t h i n k i n g t h e   w a y   w e
              d o s t u f f
RX


  Rx is a library for composing asynchronous and event-based
  programs using observable collections.


Rx has a strong theoretical basis by using the duality between the
classic Iterator and Observer design patterns to simplify controlling
                            asynchrony
Genesis



JSON
Genesis



JSON
Genesis 2


AMQP (and it¡¯s brokers
RabbitMQ etc)
Genesis 2



AMQP
genesis III



ZMQ
What we want?



We want something Generic
Problem
CUGLY



CUGLY = FUGLY but for Callbacks
LINQ


Microsoft

Functional Programming (posta)
LINQ III
LINQ II

var?query?=?yourData
????.GroupBy(x?=>?x.Name,
?????????????(k,?g)?=>?g.Aggregate((a,?x)?
=>?(x.Priority?>?a.Priority)???x?:?a));
select es fmap (list map)

SelectMany (mapcat) listmap
DEMO
Implementation
Upload keynote to can view it.
Upload keynote to can view it.
In other words, x >>= k is a computation
which runs x, and then uses the result(s)
of x to decide what computation to run
second, using the output of the second
computation as the result of the entire
computation.
[ EVENT(KEY) -> (KEY ->
EVENT(MOUSE) ] -> EVENT(MOUSE)
In the process we've discovered what Rx really is: a fancy way of writing event handlers,
specifically event handlers that fire events that trigger other event handlers that fire events, and so on in big
chain that looks like a query
Async everywhere

NEXT STEPS:

RUBY LIBRARY

JS LIBRARY (for dealing with UI)
Ad

Recommended

Toy Model Overview
Toy Model Overview
Brandon McKinzie
?
Workshop introduction-to-rxjs
Workshop introduction-to-rxjs
KristinaBistrickiene1
?
³Ò²¹±ô±ô¾±²Ô²¹¤Ë¤è¤ëÔ^Ã÷ñl¶¯¿ª°k¤Î÷ÈÁ¦
³Ò²¹±ô±ô¾±²Ô²¹¤Ë¤è¤ëÔ^Ã÷ñl¶¯¿ª°k¤Î÷ÈÁ¦
Hiroki Mizuno
?
Memory Management & Garbage Collection
Memory Management & Garbage Collection
Abhishek Sur
?
Reactive Programming with RxJS
Reactive Programming with RxJS
Danca Prima
?
ACM DEBS Grand Challenge: Continuous Analytics on Geospatial Data Streams wit...
ACM DEBS Grand Challenge: Continuous Analytics on Geospatial Data Streams wit...
Srinath Perera
?
W3C HTML5 KIG-How to write low garbage real-time javascript
W3C HTML5 KIG-How to write low garbage real-time javascript
Changhwan Yi
?
Garbage collection
Garbage collection
Mudit Gupta
?
Introduction to Garbage Collection
Introduction to Garbage Collection
Artur Mkrtchyan
?
RxJS - The Reactive Extensions for JavaScript
RxJS - The Reactive Extensions for JavaScript
Viliam Elischer
?
In class, we discussed min-heaps. In a min-heap the element of the heap with ...
In class, we discussed min-heaps. In a min-heap the element of the heap with ...
licservernoida
?
Garbage Collection In Micorosoft
Garbage Collection In Micorosoft
SmithaNatarajamurthy
?
Parallel Computing in JS
Parallel Computing in JS
Ahmed Gaber
?
Raster Processing with Scipy.ndimage (Dev Meet Up II)
Raster Processing with Scipy.ndimage (Dev Meet Up II)
JHasthorpe
?
Rethinking garbage collection
Rethinking garbage collection
Bazlur Rokon
?
Streaming data to s3 using akka streams
Streaming data to s3 using akka streams
Mikhail Girkin
?
Discovering Unbounded Synchronization Conditions in Artifact-Centric Process ...
Discovering Unbounded Synchronization Conditions in Artifact-Centric Process ...
Marlon Dumas
?
S2
S2
Daniel Marcous
?
³Ò²¹³Ü³¦³ó±ð¤Ç±¾¤ò×÷¤ë
³Ò²¹³Ü³¦³ó±ð¤Ç±¾¤ò×÷¤ë
guest7a66b8
?
.Net Garbage Collector 101
.Net Garbage Collector 101
Woody Pewitt
?
From Java to Kotlin - The first month in practice v2
From Java to Kotlin - The first month in practice v2
StefanTomm
?
Incremental and parallel computation of structural graph summaries for evolvi...
Incremental and parallel computation of structural graph summaries for evolvi...
Till Blume
?
RxJS - The Reactive extensions for JavaScript
RxJS - The Reactive extensions for JavaScript
Viliam Elischer
?
Qtp excel compare
Qtp excel compare
Ramu Palanki
?
Graphite
Graphite
Adrian Moisey
?
201707 SER332 Lecture 16
201707 SER332 Lecture 16
Javier Gonzalez-Sanchez
?
Data exploration using elastic stack for beginners
Data exploration using elastic stack for beginners
Daliya Spasova
?
Home/Garden Still Life
Home/Garden Still Life
coreylesh
?
Cats: Provider of Happiness and Joy
Cats: Provider of Happiness and Joy
Satsugai Se-o
?
Glass Still Life
Glass Still Life
coreylesh
?

More Related Content

What's hot (19)

Introduction to Garbage Collection
Introduction to Garbage Collection
Artur Mkrtchyan
?
RxJS - The Reactive Extensions for JavaScript
RxJS - The Reactive Extensions for JavaScript
Viliam Elischer
?
In class, we discussed min-heaps. In a min-heap the element of the heap with ...
In class, we discussed min-heaps. In a min-heap the element of the heap with ...
licservernoida
?
Garbage Collection In Micorosoft
Garbage Collection In Micorosoft
SmithaNatarajamurthy
?
Parallel Computing in JS
Parallel Computing in JS
Ahmed Gaber
?
Raster Processing with Scipy.ndimage (Dev Meet Up II)
Raster Processing with Scipy.ndimage (Dev Meet Up II)
JHasthorpe
?
Rethinking garbage collection
Rethinking garbage collection
Bazlur Rokon
?
Streaming data to s3 using akka streams
Streaming data to s3 using akka streams
Mikhail Girkin
?
Discovering Unbounded Synchronization Conditions in Artifact-Centric Process ...
Discovering Unbounded Synchronization Conditions in Artifact-Centric Process ...
Marlon Dumas
?
S2
S2
Daniel Marcous
?
³Ò²¹³Ü³¦³ó±ð¤Ç±¾¤ò×÷¤ë
³Ò²¹³Ü³¦³ó±ð¤Ç±¾¤ò×÷¤ë
guest7a66b8
?
.Net Garbage Collector 101
.Net Garbage Collector 101
Woody Pewitt
?
From Java to Kotlin - The first month in practice v2
From Java to Kotlin - The first month in practice v2
StefanTomm
?
Incremental and parallel computation of structural graph summaries for evolvi...
Incremental and parallel computation of structural graph summaries for evolvi...
Till Blume
?
RxJS - The Reactive extensions for JavaScript
RxJS - The Reactive extensions for JavaScript
Viliam Elischer
?
Qtp excel compare
Qtp excel compare
Ramu Palanki
?
Graphite
Graphite
Adrian Moisey
?
201707 SER332 Lecture 16
201707 SER332 Lecture 16
Javier Gonzalez-Sanchez
?
Data exploration using elastic stack for beginners
Data exploration using elastic stack for beginners
Daliya Spasova
?
Introduction to Garbage Collection
Introduction to Garbage Collection
Artur Mkrtchyan
?
RxJS - The Reactive Extensions for JavaScript
RxJS - The Reactive Extensions for JavaScript
Viliam Elischer
?
In class, we discussed min-heaps. In a min-heap the element of the heap with ...
In class, we discussed min-heaps. In a min-heap the element of the heap with ...
licservernoida
?
Parallel Computing in JS
Parallel Computing in JS
Ahmed Gaber
?
Raster Processing with Scipy.ndimage (Dev Meet Up II)
Raster Processing with Scipy.ndimage (Dev Meet Up II)
JHasthorpe
?
Rethinking garbage collection
Rethinking garbage collection
Bazlur Rokon
?
Streaming data to s3 using akka streams
Streaming data to s3 using akka streams
Mikhail Girkin
?
Discovering Unbounded Synchronization Conditions in Artifact-Centric Process ...
Discovering Unbounded Synchronization Conditions in Artifact-Centric Process ...
Marlon Dumas
?
³Ò²¹³Ü³¦³ó±ð¤Ç±¾¤ò×÷¤ë
³Ò²¹³Ü³¦³ó±ð¤Ç±¾¤ò×÷¤ë
guest7a66b8
?
.Net Garbage Collector 101
.Net Garbage Collector 101
Woody Pewitt
?
From Java to Kotlin - The first month in practice v2
From Java to Kotlin - The first month in practice v2
StefanTomm
?
Incremental and parallel computation of structural graph summaries for evolvi...
Incremental and parallel computation of structural graph summaries for evolvi...
Till Blume
?
RxJS - The Reactive extensions for JavaScript
RxJS - The Reactive extensions for JavaScript
Viliam Elischer
?
Data exploration using elastic stack for beginners
Data exploration using elastic stack for beginners
Daliya Spasova
?

Viewers also liked (8)

Home/Garden Still Life
Home/Garden Still Life
coreylesh
?
Cats: Provider of Happiness and Joy
Cats: Provider of Happiness and Joy
Satsugai Se-o
?
Glass Still Life
Glass Still Life
coreylesh
?
Copyright & Web 2.0 for Teachers
Copyright & Web 2.0 for Teachers
C W
?
Researchsummary
Researchsummary
davidwzhang
?
???, ??? ??? ???? ??
???, ??? ??? ???? ??
Yoon Hyuk Choi
?
Satsugaicat Teach You how to start twitter
Satsugaicat Teach You how to start twitter
Satsugai Se-o
?
Home/Garden Still Life
Home/Garden Still Life
coreylesh
?
Cats: Provider of Happiness and Joy
Cats: Provider of Happiness and Joy
Satsugai Se-o
?
Glass Still Life
Glass Still Life
coreylesh
?
Copyright & Web 2.0 for Teachers
Copyright & Web 2.0 for Teachers
C W
?
Satsugaicat Teach You how to start twitter
Satsugaicat Teach You how to start twitter
Satsugai Se-o
?
Ad

Similar to Upload keynote to can view it. (20)

Introduction to RxJS
Introduction to RxJS
Brainhub
?
Luis Atencio on RxJS
Luis Atencio on RxJS
Luis Atencio
?
Reactive programming and RxJS
Reactive programming and RxJS
Ravi Mone
?
Real Time Big Data Management
Real Time Big Data Management
Albert Bifet
?
Intro to Rx Java
Intro to Rx Java
Syed Awais Mazhar Bukhari
?
NGRX Apps in Depth
NGRX Apps in Depth
Trayan Iliev
?
Introduction to RxJS
Introduction to RxJS
Abul Hasan
?
RxJs
RxJs
Akila Iroshan
?
2014.06.24.what is ubix
2014.06.24.what is ubix
Jim Cooley
?
2017 nov reflow sbtb
2017 nov reflow sbtb
mariuseriksen4
?
Reactive Functional Programming with Java 8 on Android N
Reactive Functional Programming with Java 8 on Android N
Shipeng Xu
?
How to Think in RxJava Before Reacting
How to Think in RxJava Before Reacting
IndicThreads
?
Reactive programming
Reactive programming
saykopatt
?
A "Do-It-Yourself" Specification Language with BeepBeep 3 (Talk @ Dagstuhl 2017)
A "Do-It-Yourself" Specification Language with BeepBeep 3 (Talk @ Dagstuhl 2017)
Sylvain Hall¨¦
?
Data analysis in R
Data analysis in R
Andrew Lowe
?
Taste of RxJS
Taste of RxJS
Md. Ziaul Haq
?
R and C++
R and C++
Romain Francois
?
Spring 5 Webflux - Advances in Java 2018
Spring 5 Webflux - Advances in Java 2018
Trayan Iliev
?
rx.js make async programming simpler
rx.js make async programming simpler
Alexander Mostovenko
?
WebCamp:Front-end Developers Day. §¡§Ý§Ö§Ü§ã§Ñ§ß§Õ§â §®§à§ã§ä§à§Ó§Ö§ß§Ü§à "Rx.js - §Õ§Ö§Ý§Ñ§Ö§Þ §Ñ§ã§Ú§ß§ç§â...
WebCamp:Front-end Developers Day. §¡§Ý§Ö§Ü§ã§Ñ§ß§Õ§â §®§à§ã§ä§à§Ó§Ö§ß§Ü§à "Rx.js - §Õ§Ö§Ý§Ñ§Ö§Þ §Ñ§ã§Ú§ß§ç§â...
GeeksLab Odessa
?
Introduction to RxJS
Introduction to RxJS
Brainhub
?
Reactive programming and RxJS
Reactive programming and RxJS
Ravi Mone
?
Real Time Big Data Management
Real Time Big Data Management
Albert Bifet
?
Introduction to RxJS
Introduction to RxJS
Abul Hasan
?
2014.06.24.what is ubix
2014.06.24.what is ubix
Jim Cooley
?
Reactive Functional Programming with Java 8 on Android N
Reactive Functional Programming with Java 8 on Android N
Shipeng Xu
?
How to Think in RxJava Before Reacting
How to Think in RxJava Before Reacting
IndicThreads
?
Reactive programming
Reactive programming
saykopatt
?
A "Do-It-Yourself" Specification Language with BeepBeep 3 (Talk @ Dagstuhl 2017)
A "Do-It-Yourself" Specification Language with BeepBeep 3 (Talk @ Dagstuhl 2017)
Sylvain Hall¨¦
?
Spring 5 Webflux - Advances in Java 2018
Spring 5 Webflux - Advances in Java 2018
Trayan Iliev
?
WebCamp:Front-end Developers Day. §¡§Ý§Ö§Ü§ã§Ñ§ß§Õ§â §®§à§ã§ä§à§Ó§Ö§ß§Ü§à "Rx.js - §Õ§Ö§Ý§Ñ§Ö§Þ §Ñ§ã§Ú§ß§ç§â...
WebCamp:Front-end Developers Day. §¡§Ý§Ö§Ü§ã§Ñ§ß§Õ§â §®§à§ã§ä§à§Ó§Ö§ß§Ü§à "Rx.js - §Õ§Ö§Ý§Ñ§Ö§Þ §Ñ§ã§Ú§ß§ç§â...
GeeksLab Odessa
?
Ad

Upload keynote to can view it.

Editor's Notes