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
120
RxNight
2015-11-19
mattak
November 19, 2015
Tweet
Share
More Decks by mattak
See All by mattak
最近やった作業環境改善施策10個
mattak
0
260
UnixTime is Simple
mattak
0
200
おっさんが停滞しないために
mattak
32
18k
tech invest
mattak
1
310
Nodux - node base redux framework
mattak
0
1.4k
what_is_technical_investment
mattak
0
130
unitypackage distribution
mattak
0
810
Unity energy usage
mattak
0
910
Unidux 0.3.1
mattak
1
400
Other Decks in Programming
See All in Programming
エンジニア向け採用ピッチ資料
inusan
0
150
エラーって何種類あるの?
kajitack
5
280
PHP 8.4の新機能「プロパティフック」から学ぶオブジェクト指向設計とリスコフの置換原則
kentaroutakeda
1
360
VS Code Update for GitHub Copilot
74th
1
170
ASP.NETアプリケーションのモダナイズ インフラ編
tomokusaba
1
400
Railsアプリケーションと パフォーマンスチューニング ー 秒間5万リクエストの モバイルオーダーシステムを支える事例 ー Rubyセミナー 大阪
falcon8823
3
840
FormFlow - Build Stunning Multistep Forms
yceruto
1
190
Beyond Portability: Live Migration for Evolving WebAssembly Workloads
chikuwait
0
390
Is Xcode slowly dying out in 2025?
uetyo
1
180
つよそうにふるまい、つよい成果を出すのなら、つよいのかもしれない
irof
1
300
地方に住むエンジニアの残酷な現実とキャリア論
ichimichi
3
910
型付きアクターモデルがもたらす分散シミュレーションの未来
piyo7
0
800
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
53k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Fireside Chat
paigeccino
37
3.5k
A Modern Web Designer's Workflow
chriscoyier
693
190k
GitHub's CSS Performance
jonrohan
1031
460k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.3k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
For a Future-Friendly Web
brad_frost
179
9.8k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
124
52k
GraphQLとの向き合い方2022年版
quramy
46
14k
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^ ^