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
Rx分からんを解消する会
Search
Suguru Kishimoto
October 22, 2018
Technology
7
1.5k
Rx分からんを解消する会
社内勉強会での資料です。
RxSwiftについて開発メンバーから寄せられた質問に対して答える感じで用意した資料となります。
Suguru Kishimoto
October 22, 2018
Tweet
Share
More Decks by Suguru Kishimoto
See All by Suguru Kishimoto
Cookpad summer internship 2019 - iOS introduction
sgrksmt
0
10k
Improves service using Firebase A_B Testing
sgrksmt
6
990
A use case of Firebase in Komerco.
sgrksmt
13
10k
Firebase Dynamic Link あれこれ
sgrksmt
1
680
Improve Event log using Sourcery in iOS
sgrksmt
6
790
cloud_firestore_for_biginners
sgrksmt
2
2.4k
Effective Firestore Security
sgrksmt
4
5.6k
Try new Firebase AB testing
sgrksmt
2
4.9k
それでもぼくはAuto Incrementしたい
sgrksmt
1
1.3k
Other Decks in Technology
See All in Technology
Azure Well-Architected Framework入門
tomokusaba
1
300
バイブコーディングと継続的デプロイメント
nwiizo
2
420
20201008_ファインディ_品質意識を育てる役目は人かAIか___2_.pdf
findy_eventslides
0
140
M5製品で作るポン置きセルラー対応カメラ
sayacom
0
150
社内お問い合わせBotの仕組みと学び
nish01
0
300
Goに育てられ開発者向けセキュリティ事業を立ち上げた僕が今向き合う、AI × セキュリティの最前線 / Go Conference 2025
flatt_security
0
350
いまさら聞けない ABテスト入門
skmr2348
1
200
Where will it converge?
ibknadedeji
0
180
関係性が駆動するアジャイル──GPTに人格を与えたら、対話を通してふりかえりを習慣化できた話
mhlyc
0
130
LLMアプリケーション開発におけるセキュリティリスクと対策 / LLM Application Security
flatt_security
7
1.9k
職種別ミートアップで社内から盛り上げる アウトプット文化の醸成と関係強化/ #DevRelKaigi
nishiuma
2
130
多様な事業ドメインのクリエイターへ 価値を届けるための営みについて
massyuu
0
110
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Into the Great Unknown - MozCon
thekraken
40
2.1k
4 Signs Your Business is Dying
shpigford
185
22k
YesSQL, Process and Tooling at Scale
rocio
173
14k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
Side Projects
sachag
455
43k
Transcript
Komerco Div 2018.10.22(MON) Rx͔ΒΜΛղফ͢Δձ 3Y͔ΒΜΛղফ͢Δձ 4VHVSV,JTIJNPUP
Cookpad Inc. All Rights Reserved. ࣄͷൃ
Cookpad Inc. All Rights Reserved.
Cookpad Inc. All Rights Reserved.
Cookpad Inc. All Rights Reserved. ͻͬͦΓΔͭΓ͕ѹ͕͔͔ͬͨͷͰ ษڧձܗࣜͰΔ͜ͱʹ
Cookpad Inc. All Rights Reserved. ⚠ॾҙ⚠ wدͤΒΕ࣭ͨΛݩʹࢿྉ࡞ͬͯ·͢ wޙࣗ༝࣌ؒʹ͢ΔͷͰΘ͍Θ͍ٞͨ͠Γ͠·͠ΐ͏
Cookpad Inc. All Rights Reserved. ૣ
ʲQ1ʳ Observable,Observer,Subject,Relay,Signal,Driver… ͦΕͧΕͷׂͱ͔͍ಓ?
Cookpad Inc. All Rights Reserved. 0CTFSWBCMF0CTFSWFS w0CTFSWBCMFσʔλιʔεɺετϦʔϜͱ͔ݺΕΔɻ͕ྲྀΕͯ ΔɺA؍ଌͰ͖ΔͷAɻ ͕ྲྀΕͯ͘Δͱɺࣗ৴ʹొ͞Εͨ0CTFSWFSʹΛ௨͢Δ w0CTFSWFSA؍ଌ͢ΔͷAɻ0CTFSWBCMFͰྲྀΕ͍ͯΔΛड͚औ
ΔͨΊʹɺ0CTFSWBCMFʹࣗΛొͨ͠ΓɺෆཁʹͳͬͨΒղআ ͨ͠Γ͢Δ
Cookpad Inc. All Rights Reserved. Ҿ༻IUUQTRJJUBDPN.BTBOPCV"LJCBJUFNTBCEDDFF
Cookpad Inc. All Rights Reserved. 0CTFSWBCMF0CTFSWFS w0CTFSWBCMF 5ZQF Ͱ͋Δͷ A0CTFSWBCMF&A
A4JOHMF&A A.BZCF&A A$PNQMFUBCMFA A̋̋4VCKFDU&A A̋̋3FMBZ&A ݫີʹҧ͏͚ͲɺA%SJWFS&A A4JHOBM&A w0CTFSWFS 5ZQF Ͱ͋Δͷ A̋̋4VCKFDU&A A"OZ0CTFSWFS&A A"OPOZNPVT0CTFSWFS&A
Cookpad Inc. All Rights Reserved. 0CTFSWBCMF0CTFSWFS w0CTFSWFS 5ZQF গͳ͘ͳ͍ʁͦͯ͋͠·Γఆٛ͢Δ͜ͱͳ͍Μ͚ͩ Ͳʜ
ˠීஈATVCTDSJCF PO/FYUPO&SSPS Aͱ͔ͰΫϩʔδϟ͍ͯ͠Δ ͷͰࣗͰ0CTFSWFSΛੜ͢Δ͜ͱগͳ͍͕ɺཪͰ࡞ΒΕͯ ͍Δ
Cookpad Inc. All Rights Reserved.
Cookpad Inc. All Rights Reserved.
Cookpad Inc. All Rights Reserved. 4VCKFDU3FMBZ w4VCKFDU0CTFSWBCMF5ZQF 0CTFSWFS5ZQF ࣗͰΛྲྀ͢͜ͱͰ͖Δ͠ɺ0CTFSWBCMFʹొͯ͠Λड͚ औΔ͜ͱͰ͖Δ
w1VCMJTI4VCKFDUɺ#FIBWJPS4VCKFDUɺ3FQMBZ4VCKFDU͕͋Δ w7BSJBCMFˠ 3Y4XJGUW͔Βඇਪ
Cookpad Inc. All Rights Reserved. 4VCKFDU3FMBZ w3FMBZ4VCKFDUͷϥούʔ w&SSPS $PNQMFUFE͕ྲྀΕͯ͜ͳ͍ w1VCMJTI3FMBZ1VCMJTI4VCKFDUɺ#FIBWJPS3FMBZ#FIBWJPS4VCKFDU
ͷϥούʔʹͳ͍ͬͯΔ w&SSPS $PNQMFUFE͕ྲྀΕͳ͍ͷͰɺ 1VCMJTI3FMBZˠ4JHOBM #FIBWJPS3FMBZˠ%SJWFS ʹ؆୯ʹมͰ͖Δ
Cookpad Inc. All Rights Reserved. 4JOHMF.BZCF$PNQMFUBCMF w3Y4XJGUW͔Βࡌ͞Εͨɺ0CTFSWBCMF&ͷᙱ͍ͱ͜ΖΛγʔϯ ผʹղܾͯ͘͠ΕΔͷɻͦΕͧΕFWFOUճ͔͠ྲྀΕͳ͍ wඞͣ&SSPS͔$PNQMFUFEͷͲͪΒ͔ͰऴΘΔ w/FYUͷྲྀΕΔճ͕ҧ͏
w4JOHMFճ w.BZCFճ͘͠ճ ྲྀΕͣʹ$PNQMFUFE͚ͩྲྀΕΔ͜ͱ͕͋Δ w$PNQMFUBCMFճ
Cookpad Inc. All Rights Reserved. %SJWFS4JHOBM w&SSPS͕ྲྀΕͳ͍ wϝΠϯεϨουͰ࣮ߦ͞ΕΔ͜ͱ͕อূ͞Ε͍ͯΔ w%SJWFS4VCTDSJCFͨ࣌͠ʹۙͷΛճྲྀ͢ ASFQMBZ
A w4JHOBM4VCTDSJCF͔ͯ͠ΒྲྀΕͯ͘Δ w6*ʹབྷΉ෦Ͱ͏ͷʹ͍ͬͯ͜ w1SFTFOUFSˠ7JFXɺ7JFX.PEFMˠ7JFXͰΑ͘͏
Cookpad Inc. All Rights Reserved. ࢀߟ w3Y$PDPBͷ4JHOBMͱ3FMBZͷ·ͱΊ wIUUQTUFDINFSDBSJDPNFOUSZ w3Y4XJGUͷ༻ޠ·ͱΊ wIUUQTRJJUBDPNNPSJTIJOJUFNTDEFCGF
w3Y4XJGUͷ0CTFSWBCMFͱԿ͔ wIUUQTRJJUBDPNHPNJ@OJOHFOJUFNTDDGFCFFDG w3Y4XJGUΛΔલʹͪΌΜͱ0CTFSWFSύλʔϯΛֶͿ wIUUQTTUBSIPTIJIBUFOBCMPHDPNFOUSZ 394XJGU@&&&#&%&"#&"&& &"@0CTFSWFS@&&#'&#$&#&&"%" &#
ʲQ2ʳ `subscribe`, `bind`, `drive`, `emit` ͷ͍͚?
Cookpad Inc. All Rights Reserved. ͲΕߪಡ͢Δ࣌ʹ͏ͷ͚ͩͲ ඍົʹੑ࣭͕ҟͳΔ
Cookpad Inc. All Rights Reserved. ATVCTDSJCF PO/FYUʜ A wOFYU FSSPS
DPNQMFUFE TVCTDSJCFE EJTQPTFEɺͦΕͧΕड͚औͬ ͨͱ͖ͷॲཧΛهड़Ͱ͖Δ w4JOHMF .BZCF $PNQMFUBCMFʹͳΔͱड͚औΕΔͷ͕มΘΔ
Cookpad Inc. All Rights Reserved. ACJOE UP A wྲྀΕΛଞͷετϦʔϜʹͭͳ͛Δ࣌ʹ͏ wҾʹ0CTFSWFS5ZQF͘͠3FMBZ͕ೖΔ
͕ɺϨγʔόͷ0CTFSWBCMF5ZQFʹΑͬͯएׯมΘΔ
Cookpad Inc. All Rights Reserved. ACJOE PO/FYU A wOFYUΛड͚औͬͨͱ͖ͷॲཧΛهड़Ͱ͖Δ ATVCTDSJCF
PO/FYU AͷΈͷ7FSͩͱࢥ͑ྑ͍ wFSSPS͕ྲྀΕͯ͜ͳ͍લఏʹͳ͍ͬͯΔͷͰɺ %FCVHڥͰ ྲྀΕ ͯ͘ΔͱΫϥογϡ͢Δ w3FMBZΛTVCTDSJCF͢Δͱ͖ͬͪ͜Ͱॻ͘΄͏͕ؾ͍࣋ͪͷͰ γϯϓϧʹॻ͚Δ
Cookpad Inc. All Rights Reserved. AESJWF @ A AFNJU UP
A wACJOE UP Aͷ%SJWFS4JHOBM൛ wESJWF0CTFSWFS5ZQFɺ#FIBWJPS3FMBZͱ wFNJU0CTFSWFS5ZQFɺ1VCMJTI3FMBZͱ
Cookpad Inc. All Rights Reserved. ESJWF FNJU AYY PO/FYU A
wESJWF%SJWFSʹରͯ͠ɺFNJU4JHOBMʹରͯ͠͏ wOFYU DPNQMFUFE EJTQPTFEΛड͚औΕΔ
ʲQ3ʳ ΞϓϦͰΑ͘ݟΔ࣮ύλʔϯΈ͍ͨͷ͕ ͋ΕΓ͍ͨͰ͢ɻ - MVVMͰUIͱVMΛόΠϯυ͢Δͱ͖ͱ͔ɻ - WebAPIୟ͍ͯUI·Ͱөͤ͞Δ·ͰͷྲྀΕͱ͔ɻ
Cookpad Inc. All Rights Reserved. ύλʔϯΛֶͿͷʹ͓͢͢Ίͪ͜Β
Cookpad Inc. All Rights Reserved. w3Y4XJGUͷ&YBNQMF wIUUQTHJUIVCDPN3FBDUJWF93Y4XJGUCMPCNBTUFS%PDVNFOUBUJPO &YBNQMFTNE w3Y1BHJOBUJPO wIUUQTHJUIVCDPNUSZTXJGU3Y1BHJOBUJPO
w3Y4XJGU "1*SFRVFTU .77. wIUUQTTQFBLFSEFDLDPNTMJHIUBJSSYTXJGUQMVTBQJSFRVFTUQMVTNWWN
Cookpad Inc. All Rights Reserved. .77.ͷྫΛऔΔͱʜ w7.ͷJOJUͰWJFXͷΠϕϯτΛ0CTFSWBCMFͱͯ͢͜͠ͱ͕ଟ͍ FHϘλϯͷλοϓɺϦϩʔυͷτϦΨʔʜ w"1*ୟ͘ͱ͜Ζ3YͰϥοϓͯ͠ετϦʔϜΛ࡞Δ
w7JFXͷΠϕϯτΛجʹɺ"1*ͷετϦʔϜΛܨ͍Ͱ͋͛ͯɺ݁Ռ ΤϥʔΛ%SJWFS4JHOBMΛͬͯͯ͋͛͠Δ w7JFXଆͰΛ͙͢ʹࢀর͍ͨ͠ͱ͖7.ʹ#FIBWJPS3FMBZΛ༻ҙ ͯ͠ɺASFMBZWBMVFAͰࢀর͢Δ
ʲQ4ʳ ΩϨΠʹετϦʔϜΛ࡞Δʹ?
Cookpad Inc. All Rights Reserved. ΩϨΠͳετϦʔϜΛΉʹɺ ετϦʔϜʹखΛՃ͑ΔΦϖϨʔλʔΛ ཧղ͢Δඞཁ͕͋Δ
Cookpad Inc. All Rights Reserved. KVTU FSSPS FNQUZ OFWFS DSFBUF
PG EFGFS GJMUFS NBQ [JQ DPNCJOF-BUFTU XJUI-BUFTU'SPN DPODBU NFSHF GMBU.BQ GMBU.BQ-BUFTU GMBU.BQ'JSTU UBLF TLJQ SFUSZ BNC DBUDI TXJUDI UISPUUMF EFCPVODF UJNFPVU CVGGFS XJOEPXʜ ˞ݴޠʹΑͬͯඍົʹΦϖϨʔλʔ໊͕ҟͳͬͨΓ͢Δ߹͋Γ
Cookpad Inc. All Rights Reserved. Ұʹ֮͑Δͷେม গͣͭ͠ಈ࡞Λཧղ͠ͳ͕ΒਂΊ͍ͯ͘
Cookpad Inc. All Rights Reserved. ʮͲ͔͜ʹ·ͱ·ͬͯͳ͍ͷʁʯ
Cookpad Inc. All Rights Reserved. 0QFSBUPSΛֶͿ w3FBDUJWF90QFSBUPST wIUUQSFBDUJWFYJPEPDVNFOUBUJPOPQFSBUPSTIUNM w3Y.BSCMFT 3Y+4
wIUUQSYNBSCMFTDPN w3Y.BSCMFTͷJ04"QQ͋Δ
Cookpad Inc. All Rights Reserved.
Cookpad Inc. All Rights Reserved. ʮཧղ͢Δͱදݱͷ෯͕͕Δͷʁʯ
Cookpad Inc. All Rights Reserved. KVTU FSSPS FNQUZ OFWFS DSFBUF
PG EFGFS GJMUFS NBQ [JQ DPNCJOF-BUFTU XJUI-BUFTU'SPN DPODBU NFSHF GMBU.BQ GMBU.BQ-BUFTU GMBU.BQ'JSTU UBLF TLJQ SFUSZ BNC DBUDI TXJUDI UISPUUMF EFCPVODF UJNFPVU CVGGFS XJOEPXʜ
ࠓ͙͑͢ΔςΫχοΫ
Cookpad Inc. All Rights Reserved. ͦͷ̍ AXJUI-BUFTU'SPNA
Cookpad Inc. All Rights Reserved.
Cookpad Inc. All Rights Reserved. TVCTDSJCFͷதͰTFMGࢀরͯ͠ ଞͷετϦʔϜͷΛͭͳ͛Δͷආ͚͍ͨ
Cookpad Inc. All Rights Reserved.
Cookpad Inc. All Rights Reserved. ετϦʔϜͱɺࢦఆͨ͠ετϦʔϜͷۙͷΛ ͏·ͭ͘ͳ͛Δ͜ͱ͕Ͱ͖Δ
Cookpad Inc. All Rights Reserved. ͦͷ A[JQA
Cookpad Inc. All Rights Reserved.
Cookpad Inc. All Rights Reserved. ࠩΛऔΔͷ͕؆୯ʹͳΔ
Cookpad Inc. All Rights Reserved. ͦͷ ATDBOA ATUBSU8JUIA
Cookpad Inc. All Rights Reserved.
Cookpad Inc. All Rights Reserved.
Cookpad Inc. All Rights Reserved. "1*ͰQBHFࢦఆͯ͠ಡΈࠐΜͰ݁ՌΛ ஷΊ͍ͯ͘ͷʹศར
Cookpad Inc. All Rights Reserved. ͦͷ "DUJPO IUUQTHJUIVCDPN3Y4XJGU$PNNVOJUZ"DUJPO
Cookpad Inc. All Rights Reserved. "DUJPO w3Y4XJGU$PNNVOJUZͰఏڙ͞Ε͍ͯΔ044 w*OQVUͱ0VUQVU͕ܾ·ͬͨετϦʔϜͷྲྀΕΛΞΫγϣϯͱͯ͠ఆ ٛ͢Δ wͦͷΞΫγϣϯͷ݁Ռ
FMFNFOU ɺΤϥʔ FSSPS ɺ࣮ߦத͔Ͳ͏͔ FYDVUJOH ͕ͦΕͧΕετϦʔϜͱͯ͠ఏڙ͞ΕΔ w"1*ͷ௨৴Կ͔͠ΒͷඇಉظॲཧΛଋͶΔͷʹศར wADBUDI&SSPSA AEPAͱA<XFBLTFMG>Aͷۤ͠Έ͔Βղ์ͯ͘͠ΕΔ
Cookpad Inc. All Rights Reserved.
Cookpad Inc. All Rights Reserved. "DUJPOΛ͏ͱ͜͏ͳΔ
Cookpad Inc. All Rights Reserved.
Cookpad Inc. All Rights Reserved. ͦͷଞ ͔ͨͬͨ͜͠ͱ w)PU$PME0CTFSWBCMF wTIBSF SFQMBZ
w4DIFEVMFS w#JOEFS
Cookpad Inc. All Rights Reserved. ͕ͬͭΓಡΈͳ͕ΒֶͿͳΒ w3Y4XJGU3FBDUJWF1SPHSBNNJOHXJUI4XJGU wIUUQTTUPSFSBZXFOEFSMJDIDPNQSPEVDUTSYTXJGUSFBDUJWF QSPHSBNNJOHXJUITXJGU
None