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 at Freeletics
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Dmytro Khmelenko
November 03, 2016
Programming
90
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
RxJava at Freeletics
How we use RxJava at Freeletics and why we like it
Dmytro Khmelenko
November 03, 2016
More Decks by Dmytro Khmelenko
See All by Dmytro Khmelenko
Securing High-Risk Django Applications: Lessons from the Payment Domain
dkhmelenko
0
49
Securing Python Web Applications
dkhmelenko
0
43
Best of login experience
dkhmelenko
0
120
Best of sign in experience @ Droidcon Lisbon
dkhmelenko
0
130
Red or Green? Let us test
dkhmelenko
0
52
A journey to smaller APK size
dkhmelenko
1
130
A journey to smaller apk size
dkhmelenko
0
77
How Git helps us with localization
dkhmelenko
0
110
Dagger.Android module
dkhmelenko
0
79
Other Decks in Programming
See All in Programming
書籍「プロフェッショナルAI駆動開発」紹介スライド
juntaromatsumoto
0
990
Hello, Hiroshima Geospatial Data! — Exploring DoboX with Python
ra0kley
0
170
新卒PdEのリアル
ryu1013
1
410
20260828_品質と開発生産性を両立させる、AI時代のE2Eテストの考え方
magicpod
0
160
Can LLMs Replicate 4 Years of Compose Migration? Exploring the boundaries of automation with 279 XML files from a real product
makun
0
130
AIに既存システムを理解させる技術 ~レガシーを見捨てないハーネスエンジニアリング入門~
ochtum
0
210
信頼性の目標を誰も求めてない
shubox
0
490
tsc.rip を支える技術 / Kyoto.なんか #8
susisu
0
4.3k
Deep dive into the select statement (GopherCon UK)
jespino
0
170
ハーネス設計入門 〜プロンプト、コンテキストの次〜
kinopeee
54
36k
変化を抱擁するドキュメントの作り方 - ビジネスルール駆動開発がもたらす、コードとの新しい関係
ioki
2
110
週末にAI-DLCを本気で回したら$1,600溶けた
hbashimizu
0
130
Featured
See All Featured
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
370
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
480
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
360
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
Building an army of robots
kneath
306
46k
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
660
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
Writing Fast Ruby
sferik
630
63k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
230
Transcript
RXJAVA AT FREELETICS Dmytro Khmelenko Software Engineer 3 November 2016
REACTIVE EXTENSION It’s a library for composing asynchronous and event-
based programs by using observable sequences. 2
GET FUNCTIONAL - avoid changing state - avoid mutable data
- declarative expression instead of statement - computation as the evaluation of math function 3
BEFORE 4 private Product getProduct() throws IOException, JSONException { AssetSource
assets = new AssetSource(context, "product_1_month.json"); String productJson = assets.asCharSource(Charsets.UTF_8).read(); return new Product(productJson); } private void handleProduct() { Product product = null; try { product = getProduct(); } catch (IOException | JSONException e) { e.printStackTrace(); } if(product != null) { String interval = product.interval(); //... } }
TRANSFORMATION 5
TRANSFORMATION 6
AFTER 7
GET FUNCTIONAL 8
TESTING 9
TESTING 10
TESTING 11
• Documentation • github.com/ReactiveX/RxJava/wiki • reactivex.io • Book • introtorx.com
12 RESOURCES
QUESTIONS?