Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
RxJava
Search
Breno Ferreira
July 13, 2013
Programming
1
330
RxJava
Palestra sobre RxJava na trilha de Scala do TDC 2013 em SP
Breno Ferreira
July 13, 2013
Tweet
Share
More Decks by Breno Ferreira
See All by Breno Ferreira
TDC Globo Sistemas Distribuídos
brenoferreira
1
49
Trabalho Remoto TDC Globo 2020
brenoferreira
1
69
Immutable Da
brenoferreira
0
38
Remote Work
brenoferreira
0
45
Fun with Types
brenoferreira
0
180
Monads na prática - QConSP 2014
brenoferreira
0
91
.NET Além do Mundo Microsoft
brenoferreira
0
63
TDC2013 - Programação assíncrona com Javascript
brenoferreira
1
490
TDD com Javascript
brenoferreira
1
430
Other Decks in Programming
See All in Programming
“あなた” の開発を支援する AI エージェント Bedrock Engineer / introducing-bedrock-engineer
gawa
4
250
ecspresso, ecschedule, lambroll を PipeCDプラグインとして動かしてみた (プロトタイプ) / Running ecspresso, ecschedule, and lambroll as PipeCD Plugins (prototype)
tkikuc
2
1.9k
Оптимизируем производительность блока Казначейство
lamodatech
0
950
情報漏洩させないための設計
kubotak
5
1.3k
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
940
ある日突然あなたが管理しているサーバーにDDoSが来たらどうなるでしょう?知ってるようで何も知らなかったDDoS攻撃と対策 #phpcon.2024
akase244
2
7.7k
ESLintプラグインを使用してCDKのセオリーを適用する
yamanashi_ren01
2
240
PSR-15 はあなたのための ものではない? - phpcon2024
myamagishi
0
410
20241217 競争力強化とビジネス価値創出への挑戦:モノタロウのシステムモダナイズ、開発組織の進化と今後の展望
monotaro
PRO
0
290
Scaling your build logic
antalmonori
1
100
선언형 UI에서의 상태관리
l2hyunwoo
0
270
PHPで学ぶプログラミングの教訓 / Lessons in Programming Learned through PHP
nrslib
4
1.1k
Featured
See All Featured
Practical Orchestrator
shlominoach
186
10k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.2k
Why Our Code Smells
bkeepers
PRO
335
57k
Producing Creativity
orderedlist
PRO
343
39k
Music & Morning Musume
bryan
46
6.3k
Unsuck your backbone
ammeep
669
57k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
230
52k
Optimising Largest Contentful Paint
csswizardry
33
3k
Designing Experiences People Love
moore
139
23k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.2k
Raft: Consensus for Rubyists
vanstee
137
6.7k
Transcript
PROGRAMAÇÃO REATIVA COM RXJAVA Breno Ferreira @breno_ferreira http://www.github.com/brenoferreira
FUNCTIONAL REACTIVE PROGRAMMING
NA MAIOR PARTE DO TEMPO, ESTAMOS REAGINDO AO AMBIENTE
• Dados de geolocalização (GPS) • Push notifications • Eventos
complexos
ITERATOR VS OBSERVER interface IEnumerable<T> { IEnumerator<T> GetEnumerator(); } interface
IEnumerator<T> { bool MoveNext(); //throws Ex T Current { get; } }
ITERATOR VS OBSERVER interface IObservable<T> { IEnumerator<T> GetEnumerator(); } interface
IEnumerator<T> { bool MoveNext(); //throws Ex T Current { get; } }
ITERATOR VS OBSERVER interface IObservable<T> { IEnumerator<T> GetEnumerator(); } interface
IObserver<T> { bool MoveNext(); //throws Ex T Current { get; } }
ITERATOR VS OBSERVER interface IObservable<T> { void Subscribe(IObserver<T> observer); }
interface IObserver<T> { bool MoveNext(); //throws Ex T Current { get; } }
ITERATOR VS OBSERVER interface IObservable<T> { void Subscribe(IObserver<T> observer); }
interface IObserver<T> { void OnNext(T item) T Current { get; } }
ITERATOR VS OBSERVER interface IObservable<T> { void Subscribe(IObserver<T> observer); }
interface IObserver<T> { void OnNext(T item) void OnError(Exception ex) }
ITERATOR VS OBSERVER interface IObservable<T> { void Subscribe(IObserver<T> observer); }
interface IObserver<T> { void OnNext(T item) void OnError(Exception ex) void OnCompleted() }
O VERDADEIRO PODER DO RX • filtros (where, distinct, skip,
take, all, any) • agregações (count, min, max, avg, sum, aggregate) • Transformações (map, flatMap) • Combinações (concat, merge, zip) • Schedulers
RXJAVA Implementação do Rx for .NET em Java Feito pela
Netflix Adaptors para Scala, Groovy, Clojure, JRuby
HTTP://GITHUB.COM/NETFLIX/RXJAVA
LIBRARYDEPENDENCIES ++= SEQ( "COM.NETFLIX.RXJAVA" % "RXJAVA-SCALA" % "0.9.0" )
HTTPS://GITHUB.COM/BRENOFERREIRA/RXJAVATESTS
PERGUNTAS?
OBRIGADO! @breno_ferreira