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
RxNight
Search
mattak
November 19, 2015
Programming
0
110
RxNight
2015-11-19
mattak
November 19, 2015
Tweet
Share
More Decks by mattak
See All by mattak
最近やった作業環境改善施策10個
mattak
0
250
UnixTime is Simple
mattak
0
190
おっさんが停滞しないために
mattak
32
18k
tech invest
mattak
1
310
Nodux - node base redux framework
mattak
0
1.4k
what_is_technical_investment
mattak
0
120
unitypackage distribution
mattak
0
790
Unity energy usage
mattak
0
890
Unidux 0.3.1
mattak
1
390
Other Decks in Programming
See All in Programming
Building a macOS screen saver with Kotlin (Android Makers 2025)
zsmb
1
100
Fluent UI Blazor 5 (alpha)の紹介
tomokusaba
0
160
Denoでフロントエンド開発 2025年春版 / Frontend Development with Deno (Spring 2025)
petamoriken
1
1.3k
Kubernetesで実現できるPlatform Engineering の現在地
nwiizo
3
1.8k
英語文法から学ぶ、クリーンな設計の秘訣
newnomad
1
280
自分のために作ったアプリが、グローバルに使われるまで / Indie App Development Lunch LT
pixyzehn
1
140
アプリを起動せずにアプリを開発して品質と生産性を上げる
ishkawa
0
2.3k
Being an ethical software engineer
xgouchet
PRO
0
180
SEAL - Dive into the sea of search engines - Symfony Live Berlin 2025
alexanderschranz
1
110
Chrome Extension Techniques from Hell
moznion
1
150
AtCoder Heuristic First-step Vol.1 講義スライド(山登り法・焼きなまし法編)
takumi152
4
1k
Building Scalable Mobile Projects: Fast Builds, High Reusability and Clear Ownership
cyrilmottier
1
140
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
25k
Designing for Performance
lara
606
69k
Being A Developer After 40
akosma
90
590k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Building Applications with DynamoDB
mza
94
6.3k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
8
720
Side Projects
sachag
452
42k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
The Cost Of JavaScript in 2023
addyosmani
48
7.6k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
17
1.1k
Automating Front-end Workflow
addyosmani
1369
200k
Transcript
Reactive Practices at Kotlin 2015/11/05 RxNight @mattak
RxJava+KotlinͰͷ tipsհ͢ΔΑ
1.notNull() -ɹnullͰͳ͍ͷΛ௨͢ -
%FpOJUJPO GVO50CTFSWBCMF5 OPU/VMM 0CTFSWBCMF5\ SFUVSOUIJTpMUFS\JUOVMM^NBQ\JU^ ^ 6TBHF WBMPCTFSWBCMF0CTFSWBCMFKVTU OVMM
OPU/VMM PCTFSWBCMFTVCTDSJCF\ QSJOUMO JU ^
2.retry() -ɹࣦഊͯ͠·ͨsubscribe -
CVUUPO$MJDL qBU.BQ\OFUXPSL3FRVFTU ^ࣦഊ͢ΔͱAPO&SSPS A SFUSZ PO&SSPS͕ݺΕͯSFUSZͰ࠶ͼTVCTDSJCF͞ΕΔ TVCTDSJCF\ PO/FYU࣌ͷॲཧ ^
3.doOnNext() -ɹ෭࡞༻Λ༩͑Δ -
0CTFSWBCMFKVTU EP0O/FYU\-PHW %( PO/FYU JU
^ EP0O&SSPS\-PHW %( PO&SSPS JU ^ EP0O$PNQMFUFE\-PHW %( PO$PNQMFUFE ^ EP0O&BDI\-PHW %( PO&BDI JU ^ TVCTDSJCF\^ // σόοΫ͢Δͱ͖ʹศར
4.CompositeSubscription -ɹsubscriptionΛ·ͱΊΔ -
WBMTVCTDSJQUJPO0CTFSWBCMFKVTU TVCTDSJCF\^ WBMTVCTDSJQUJPO0CTFSWBCMFKVTU B C D TVCTDSJCF\^
WBMDPNQPTJUF4VCTDSJQUJPO$PNQPTJUF4VCTDSJQUJPO DPNQPTJUF4VCTDSJQUJPOBEE TVCTDSJQUJPO DPNQPTJUF4VCTDSJQUJPOBEE TVCTDSJQUJPO DPNQPTJUF4VCTDSJQUJPOVOTVCTDSJCF // Ұؾʹunsubscribe͢Δͱ͖ʹศར
5.onErrorResumeNext -ɹerrorΛແࢹ͍ͨ͠ -
QVCMJDPCKFDU3FTPVSDFT&SSPS\ WBMFSSPS1VCMJTI4VCKFDU5ISPXBCMFCZMB[Z\1VCMJTI4VCKFDUDSFBUF5ISPXBCMF ^ ^ GVO50CTFSWBCMF5JOUFSDFQU/FUXPSL&SSPS 0CTFSWBCMF5\ SFUVSOUIJT EP0O&SSPS\JG JUJT3FUSPpU&SSPS
3FTPVSDFT&SSPSFSSPSPO/FYU JU ^ PO&SSPS3FTVNF/FYU\JG JUJT3FUSPpU&SSPS 0CTFSWBCMFFNQUZ FMTFUISPXJU^ ^ // Network errorΛ interceptͯ͠௨
6.combineAndDispose -ɹൃՐͤͭͭ͞ແࢹ͍ͨ͠ -
GVO5 30CTFSWBCMF5DPNCJOF"OE%JTQPTF TJHOBM0CTFSWBCMF0CTFSWBCMF3 0CTFSWBCMF5\ SFUVSO0CTFSWBCMFDPNCJOF-BUFTU UIJT TJHOBM0CTFSWBCMF \EBUB TJHOBMEBUB^
^ // Definition GVODIFDL&SSPS 0CTFSWBCMF*OU\ SFUVSO0CTFSWBCMF FSSPS*OU *MMFHBM4UBUF&YDFQUJPO TUBUFJTXSPOH ^ GVOFYFDVUF 0CTFSWBCMF*OU\ SFUVSO0CTFSWBCMF KVTU DPNCJOF"OE%JTQPTF DIFDL&SSPS ^ // Usage: ΤϥʔνΣοΫ͚͍ͩͨ͠
7.MergeReactiveProperty -ɹmergeͭͭ͠ɺΛอ͍࣋ͨ͠ -
// Definition DMBTT.FSHF3FBDUJWF1SPQFSUZ5"OZ QSJWBUFWBMDPODBU0CTFSWBCMF0CTFSWBCMF5 \ QSJWBUFMBUFJOJUWBSWBMVF5 QSJWBUFWBMDIBOOFM#FIBWJPS4VCKFDUDSFBUF5 QSJWBUFWBSEJSUZGBMTF
GVOHFU 5\SFUVSOWBMVF^ GVOTFU OFX7BMVF5 \ WBMVFOFX7BMVF DIBOOFMPO/FYU OFX7BMVF ^ WBMPCTFSWBCMF0CTFSWBCMF5 HFU 0CTFSWBCMF NFSHF DPODBU0CTFSWBCMFEP0O/FYU\EJSUZUSVF^ DIBOOFM EP0O/FYU\JG EJSUZ WBMVFJUEJSUZGBMTF^ ^