Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
RxSwift in Practice
Search
Motoki Narita
November 20, 2016
Technology
11
5.9k
RxSwift in Practice
https://eventdots.jp/event/602872
#eventdots
Motoki Narita
November 20, 2016
Tweet
Share
More Decks by Motoki Narita
See All by Motoki Narita
Mercari 10years iOS Development
motokiee
5
4.4k
Alexa, Swiftで スマートスピーカーは実装できる?
motokiee
0
1.8k
iOSの自動化と仕組み化 ~コードと設計に集中する~
motokiee
11
3k
入力を型で表現する
motokiee
2
3.9k
Move Fast iOS Development
motokiee
4
3.9k
結婚式を支えた技術 Firebaseを活用したサーバレスiOSアプリケーション開発
motokiee
33
26k
Vision Framework 入門
motokiee
2
1.9k
Lightweight Dependency Injection tips
motokiee
10
3.1k
Hello React Native
motokiee
8
620
Other Decks in Technology
See All in Technology
機械学習を「社会実装」するということ 2025年冬版 / Social Implementation of Machine Learning November 2025 Version
moepy_stats
4
2.1k
命名から始めるSpec Driven
kuruwic
3
800
Excelデータ分析で学ぶディメンショナルモデリング ~アジャイルデータモデリングへ向けて~ by @Kazaneya_PR / 20251126
kazaneya
PRO
3
810
生成AIシステムとAIエージェントに関する性能や安全性の評価
shibuiwilliam
2
300
私も懇親会は苦手でした ~苦手だからこそ懇親会を楽しむ方法~ / 20251127 Masaki Okuda
shift_evolve
PRO
4
520
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3.3k
Master Dataグループ紹介資料
sansan33
PRO
1
4k
"'TSのAPI型安全”の対価は誰が払う?不公平なスキーマ駆動に終止符を打つハイブリッド戦略
hal_spidernight
0
220
セキュリティAIエージェントの現在と未来 / PSS #2 Takumi Session
flatt_security
3
1.1k
私のRails開発環境
yahonda
0
170
シンプルを極める。アンチパターンなDB設計の本質
facilo_inc
1
930
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
46k
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
514
110k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Agile that works and the tools we love
rasmusluckow
331
21k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.1k
Site-Speed That Sticks
csswizardry
13
980
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
For a Future-Friendly Web
brad_frost
180
10k
The Invisible Side of Design
smashingmag
302
51k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Transcript
3Y4XJGUJO1SBDUJDF J04Φʔϧελʔζ .PUPLJ/BSJUB !NPUPLJFF
ࣗݾհ w !NPUPLJFF w J04ΤϯδχΞ w ϝϧΧϦΞοςͷJ04Λ։ൃ w ωΫετʢ)0.&`4ʣˠικʢ݄ʣ w
ݸਓͰझຯͰJ04ΞϓϦΛ։ൃ w J04%$+BQBOίΞελοϑ
3Y4XJGU͍ͬͯ·͔͢
ϝϧΧϦΞοςશ໘తʹ 3Y4XJGUΛ࠾༻ͯ͠։ൃ
Ξος։ൃͷٕज़ɿ4XJGUͱ3Y4XJGUCZ4IJOJDIJSP0CB IUUQTTQFBLFSEFDLDPNCSJDLMJGFBUVUFLBJGBGBMTFKJTIVTXJGUUPSYTXJGU
͍͍ͩͨ4XJGUͰॻ͔Ε͍ͯΔ ˞0CKFDUJWF$ϥΠϒϥϦͳͲ
લʜ
ձࣾʢલ৬ʣͰ3Y4XJGUษڧձ w ࣌ͳΜͱͳ͘ྲྀߦ͍ͬͯͨ w ࣾͷ༗ࢤͰʢۀ֎ʣ w ຖि݄༵ேʢʙʣʹू·ͬͯษڧձ w 1MBZHSPVOEͰجຊతͳΦϖϨʔλΛֶͿ w
&YBNQMFTΛݟΔ
ճ͘Β͍ͬͯΈͨײ w ࣮ફతͳίʔυΛॻ͍ͯਐΊͨํ͕ྑͦ͞͏ w ந͕ߴ͘ɺͳΜͷͨΊʹ3Y4XJGUΛ͏ͷ͔ɺԿ͕ྑ ͘ͳΔͷ͔ɺཧղͰ͖͍ͯͳ͔ͬͨ w ϝϯόʔʹཧղͯ͠͏ඞཁ͕͋Γͦ͏
ʮผʹಋೖ͠ͳ͍͍͔ͯ͘ʯ ͱࢥͬͨޙʜ
స৬ͯ͠3Y4XJGUΛϑϧͰ͏͜ͱʹ
ຊ֨తʹ3Y4XJGUͰ։ൃΛ࢝Ίͯϲ݄ͷ φϚͷΛ͓ಧ͚͠·͢
3Y4XJGUʹ͍ͭͯ
3Y4XJGU w ϦΞΫςΟϒϓϩάϥϛϯάΛ4XJGUͰॻͨ͘Ίͷ ϥΠϒϥϦ w ϚΠΫϩιϑτ͕/&5'SBNFXPSLʹ͚ʹ ϦϦʔεͨ͠3FBDUJWF&YUFOTJPOTʢ3YʣϥΠϒϥϦ Ͱ͋Δ3Y/&5 Ҿ༻IUUQXXXCVJMEJOTJEFSOFUDPMVNOLBXBJZPTIJGVNJ ͔Βੜ
w 4XJGUҎ֎ʹ3Y+BWBɺ3Y+4ͳͲͷ༷ʑͳݴޠʹ ੜ
Ξος։ൃͷٕज़ɿ4XJGUͱ3Y4XJGUCZ4IJOJDIJSP0CB IUUQTTQFBLFSEFDLDPNCSJDLMJGFBUVUFLBJGBGBMTFKJTIVTXJGUUPSYTXJGU
ετϦʔϜ
None
ετϦʔϜΛͲ͏ѻ͏͔ʁ ࡞ΔՃࢹ
;Ή;Ήɺ;Ή;Ήɻ ετϦʔϜΛ࡞ΔՃ͢Δࢹ͢Δͱ͍͏ࢹͰ ϓϩάϥϛϯάΛߦ͏ͱɻ
ͳΔ΄ͲɺͳΔ΄Ͳɻ ετϦʔϜΛ࡞ΔՃ͢Δࢹ͢Δͱ͍͏ࢹͰ ϓϩάϥϛϯάΛߦ͏ɻͳΔ΄ͲͰ͢Ͷʙɻ
ͳΔ΄Ͳɺ·ͬͨ͘Θ͔ΒΜ
Ͳ͏͍͏͜ͱʁ w ετϦʔϜΛ࡞Δʁ w ετϦʔϜΛՃ͢Δʁ w ετϦʔϜΛࢹ͢Δʁ
ݱͰͲͷΑ͏ʹ͍ͬͯΔͷ͔ʁ ઃܭʹͲͷΑ͏ʹӨڹΛ༩͍͑ͯΔͷ͔ʁ
͍·͋ΔॲཧΛͲͷΑ͏ʹ ॻ͖͑ΒΕΔͷ͔ʁ
࣮ࡍʹϦϦʔε͞Ε͍ͯΔɺ ͋ΔΧϝϥΞϓϦͷ࣮Λ3Yʹॻ͖͑ͯΈΔ
͋ΔΧϝϥΞϓϦʹ͍ͭͯ w ڈ࡞ͬͨࣗͷΞϓϦ w Χϝϥ͔Βͷೖྗө૾ʹϑΟϧλʔΛ͔͚ͯϦΞϧ λΠϜͰϓϨϏϡʔͰ͖Δ w ࡱӨ͢ΔͱϑΟϧλʔՃ͞Εͨঢ়ଶͷը૾͕อଘ ͞ΕΔ
None
Ϙλϯλοϓ ϩʔσΟϯάදࣔɺ ɹը૾ΛΩϟϓνϟɺอଘ͢Δ ը૾อଘޙɺϩʔσΟϯάΛ ɹඇදࣔʹͯ͠ϑΟϧλʔΛมߋ
௨ৗͷ࣮ Ϙλϯ͕ԡ͞ΕͨࡍʹҎԼͷ ॲཧΛߦ͏ϝιου࡞Δ ը૾ΛΩϟϓνϟͯ͠อଘ͢Δ ͕ऴྃͨ͠ΒϩʔσΟϯάඇ දࣔ
ͱಉ࣌ʹϑΟϧλʔΛมߋ Ϙλϯλοϓ Ϙλϯλοϓޙɺ ը૾ΛΩϟϓνϟɺอଘ͢Δ ը૾Λอଘ͞ΕΔ·Ͱ ϩʔσΟϯάදࣔ ը૾อଘޙʹ ϑΟϧλʔΛมߋ
࣮ࡍͷίʔυ Λ ͔ͳΓϚγʹͨ͠ͷ
Ϙλϯ͕ԡ͞ΕͨΒϩʔσΟϯάදࣔ ࣮ࡍͷίʔυ Λ ͔ͳΓϚγʹͨ͠ͷ
Ωϟϓνϟ ࣮ࡍͷίʔυ Λ ͔ͳΓϚγʹͨ͠ͷ
࣮ࡍͷίʔυ Λ ͔ͳΓϚγʹͨ͠ͷ ΩϟϓνϟऴྃޙɺޭͰ͋ΕϩʔσΟϯάඇදࣔɺΤϑΣΫτΛมߋ
࣮ࡍͷίʔυ Λ ͔ͳΓϚγʹͨ͠ͷ ΩϟϓνϟͰ͖ͳ͔ͬͨ߹Τϥʔදࣔ
௨ৗͷ࣮ Ϙλϯλοϓ Ϙλϯλοϓޙɺ ը૾ΛΩϟϓνϟɺอଘ͢Δ ը૾Λอଘ͞ΕΔ·Ͱ ϩʔσΟϯάදࣔ
ը૾อଘޙʹ ϑΟϧλʔΛมߋ Ϙλϯ͕ԡ͞ΕͨࡍʹҎԼͷ ॲཧΛߦ͏ϝιου࡞Δ ը૾ΛΩϟϓνϟͯ͠อଘ͢Δ ͕ऴྃͨ͠ΒϩʔσΟϯάඇ දࣔ ͱಉ࣌ʹϑΟϧλʔΛมߋ
ετϦʔϜͰߟ͑Δ
None
ετϦʔϜͰߟ͑ͯΈΔ Ϙλϯλοϓ Ϙλϯλοϓޙɺ ը૾ΛΩϟϓνϟɺอଘ͢Δ ը૾Λอଘ͞ΕΔ·Ͱ ϩʔσΟϯάදࣔ
ը૾อଘޙʹ ϑΟϧλʔΛมߋ
Ϙλϯλοϓ ϩʔσΟϯάදࣔɺ ɹը૾ΛΩϟϓνϟɺอଘ͢Δ ը૾อଘޙɺϩʔσΟϯάΛ ɹඇදࣔʹͯ͠ϑΟϧλʔΛมߋ
ετϦʔϜͰߟ͑ͯΈΔ Ϙλϯͷλοϓ͕ΠϕϯτͷτϦΨʔʹͳΔ Ϙλϯλοϓ Ϙλϯλοϓޙɺ ը૾ΛΩϟϓνϟɺอଘ͢Δ ը૾Λอଘ͞ΕΔ·Ͱ ϩʔσΟϯάදࣔ
ը૾อଘޙʹ ϑΟϧλʔΛมߋ
Ϙλϯλοϓ Ϙλϯλοϓޙɺ ը૾ΛΩϟϓνϟɺอଘ͢Δ ը૾Λอଘ͞ΕΔ·Ͱ ϩʔσΟϯάදࣔ ը૾อଘޙʹ
ϑΟϧλʔΛมߋ ετϦʔϜͰߟ͑ͯΈΔ ը૾Ωϟϓνϟͷঢ়ଶભҠ
ετϦʔϜͰߟ͑ͯΈΔ ը૾ͷΩϟϓνϟঢ়ଶͷ ετϦʔϜ Ϙλϯλοϓ Ϙλϯλοϓޙɺ ը૾ΛΩϟϓνϟɺอଘ͢Δ ը૾Λอଘ͞ΕΔ·Ͱ
ϩʔσΟϯάදࣔ ը૾อଘޙʹ ϑΟϧλʔΛมߋ
ετϦʔϜͰߟ͑ͯΈΔ ը૾ͷΩϟϓνϟঢ়ଶͷ ετϦʔϜ Ϙλϯλοϓ Ϙλϯλοϓޙɺ ը૾ΛΩϟϓνϟɺอଘ͢Δ ը૾Λอଘ͞ΕΔ·Ͱ
ϩʔσΟϯάදࣔ ը૾อଘޙʹ ϑΟϧλʔΛมߋ
ίʔυ
ίʔυ ϘλϯͷετϦʔϜΛը૾อଘετϦʔϜʹม
Ϙλϯλοϓ 7PJE qBU.BQϘλϯλοϓˠը૾ͷΩϟϓνϟঢ়ଶʢ(16*NBHF4UJMM$BNFSBͷ3Y֦ு͕ߦ͏ʣ Ωϟϓνϟঢ়ଶ EFGBVMU DBQUVSJOH DBQUVSFE ϘλϯλοϓΠϕϯτ͔ΒΩϟϓνϟঢ়ଶͷετϦʔϜ EFGBVMU
ίʔυ ΩϟϓνϟதͰ͋ΕϩʔσΟϯάΛදࣔ
NBQ\DBQUVSJOH^ Ωϟϓνϟঢ়ଶ EFGBVMU DBQUVSJOH DBQUVSFE ϩʔσΟϯάதͰ͋Δ͜ͱΛද͢ετϦʔϜ Ωϟϓνϟத GBMTF USVF GBMTF
EFGBVMU GBMTF
ίʔυ ΩϟϓνϟதͰ͋ΕϩʔσΟϯάΛදࣔ
ίʔυ ΩϟϓνϟྃޙΤϑΣΫτΛมߋ
Ωϟϓνϟঢ়ଶ EFGBVMU DBQUVSJOH DBQUVSFE Ωϟϓνϟঢ়ଶͷετϦʔϜ ΤϑΣΫτΛมߋ
ίʔυ
ϢʔβʔͷೖྗɺมԽ͢Δঢ়ଶͳͲΛ ετϦʔϜʹྲྀ͠ɺͦͷΛͲ͏ѻ͏͔ʁ ͱ͍͏؍͔Βߟ͑Δ
ίʔυΛൺֱ
௨ৗͷίʔυͷ࣮࣌ͷྲྀΕ ࣮͠Α
௨ৗͷίʔυͷ࣮࣌ͷྲྀΕ ϩʔσΟϯάΛ දࣔͩ
௨ৗͷίʔυͷ࣮࣌ͷྲྀΕ Ωϟϓνϟ͠Α
௨ৗͷίʔυͷ࣮࣌ͷྲྀΕ SFTVMUͰذͯ͠ʜ
௨ৗͷίʔυͷ࣮࣌ͷྲྀΕ ύλʔϯΛཏͬͱ
௨ৗͷίʔυͷ࣮࣌ͷྲྀΕ ͑ʔͬͱɺͲ͏͢Δ Μ͚ͩͬʁ
௨ৗͷίʔυͷ࣮࣌ͷྲྀΕ ͋ɺͦ͏ͩɻTVDDFTTͰ ΤϑΣΫτΛม͑ΔΜͩ
௨ৗͷίʔυͷ࣮࣌ͷྲྀΕ ͦΜͰɺΤϥʔදࣔͱɻ 0,ɺͰ͖ͨ
࣮ػ֬ೝ
௨ৗͷίʔυͷ࣮࣌ͷྲྀΕ ͋ɺϩʔσΟϯάফͯ͠ ͳ͔ͬͨʜ
௨ৗͷίʔυͷ࣮࣌ͷྲྀΕ ͜ΕͰ0,
Α͋͘Δ
3Y4XJGUͰͷ࣮࣌ͷྲྀΕ ࣮͠Α
3Y4XJGUͰͷ࣮࣌ͷྲྀΕ ϘλϯͷλοϓΛΩϟϓ νϟঢ়ଶͷετϦʔϜʹ ม͢Δ
3Y4XJGUͰͷ࣮࣌ͷྲྀΕ ϩʔσΟϯάத͚ͩͷ Ͱ࡞ͬͯCJOE͢Δ͔
3Y4XJGUͰͷ࣮࣌ͷྲྀΕ DBQUVSFEདྷͨΒΤϑΣ ΫτΛΓସ͑Δͱ
3Y4XJGUͰͷ࣮࣌ͷྲྀΕ Τϥʔ͕དྷͨΒΤϥʔΛ දࣔɻͰ͖ͨ
ετϦʔϜʢͷ࡞Ճࢹʣʹ ϑΥʔΧε͍ͯ͠Δ
ͳΜͱͳ͓͔͘Γ͍͚ͨͩͨͰ͠ΐ͏͔
Α͠ಋೖ͠Α͏ ͱࢥͬͨํɺͪΐͬͱ͍ͬͯͩ͘͞
ຊʹಋೖ͢Δඞཁ͋Γ·͔͢ʁ
ಛʹͳ͍ɻΘ͟Θ͟3Yʹ͢Δඞཁ͋Δͷ͔ʁ
3YۜͷؙͰͳ͍
ྑ͍ͱ͜Ζɺѱ͍ͱ͜Ζ ʢ৫ͱͯ͠Ͱͳ͘ݸਓͱͯ͠ͷײʣ
ྑ͍ͱ͜Ζ w ίʔυ͕ಡΈ͍͢ w ͦΕ͕ϢʔβʔͷೖྗͰ͋ΕɺจࣈྻͰ͋Εɺඇಉ ظॲཧͰ͋ΕͳΜͰ͋ͬͯɺετϦʔϜΛͲ͏ѻ ͏͔ͱ͍͏ʹूத࣮͕ͯ͠Ͱ͖ΔΑ͏ʹͳͬͨ w ඇಉظॲཧͷ࣮ҎલΑΓָʹͳͬͨؾ͕͢Δ
ѱ͍ͱ͜Ζ w ֶशίετ͕ߴ͍ w ·͖ͩΕ͍ͳετϦʔϜ͕࡞Εͳ͍ w 3Y.BSCMFTΛݟͨΓɺطଘͷιʔεΛಡΜͩΓͯ͠ଟ͘ͷ͜ͱΛֶ ΜͰ͍Δ࠷த w ϝϯόʔͷೖΕସΘΓ͕ଟ͍ͱݫͦ͠͏
w ϑϨʔϜϫʔΫʹେ͖͘ґଘ͢Δ͜ͱʹͳΔ w Ծʹ3Y͕ϝϯςφϯε͞Εͳ͘ͳͬͨ߹Ͳ͏ͳΔʁ w ʢͨͩ͠3Yࣗମʹେ͖ͳܽͳ͍ͱࢥ͏ʣ
ικͰͷऔΓΈ
IUUQTTQFBLFSEFDLDPNCSJDLMJGFSFBDUJWFDPDPBGBMTFZVSVJTIBPKJFUPNFSVLBSJEFGBMTFIVPZPOHTIJMJ
IUUQTTQFBLFSEFDLDPNCSJDLMJGFSFBDUJWFDPDPBGBMTFZVSVJTIBPKJFUPNFSVLBSJEFGBMTFIVPZPOHTIJMJ
TVTIJTIPLVOJʹΑΔϨϏϡʔΞαΠϯ w ικͰTVTIJTIPLVOJͱ͍͏#05͕ ιʔεϨϏϡʔΛϥϯμϜͰΞαΠϯͯ͘͠ΕΔ w νʔϜྗͷఈ্͛
·ͱΊ w 3Y4XJGUʹΑͬͯετϦʔϜΛͲ͏ѻ͏͔ͱ͍͏؍͔Βઃܭɾ࣮ Λߦ͏Α͏ʹͳͬͨ w ঢ়ଶͷมԽʹ·͞Ε͍ͯΔ߹ɺ༗༻ͳπʔϧʹͳΔ͔͠Ε· ͤΜ w ۜͷؙͰͳ͍ w
νʔϜόϥϯεɺϝϯόʔͷೖΕସΘΓͷසͳͲͳͲɺ ֶशίετͷ؍͔Βߟྀ͖͢͜ͱଟ͍ w طଘͷίʔυ͕͋Δ߹ɺࠓݟ͖ͯͨΑ͏ʹɺطଘͷ࣮Λε τϦʔϜΛ؍ʹઃܭɾ࣮ͯ͠ΈͯͤʹͳΕΔ͔Λ͔֬ΊͯΈ Δͱྑ͍͔
ࢀߟࢿྉ w IUUQTTQFBLFSEFDLDPNCSJDLMJGFSFBDUJWFDPDPBGBMTFZVSVJTIBP KJFUPNFSVLBSJEFGBMTFIVPZPOHTIJMJ w IUUQTTQFBLFSEFDLDPNCSJDLMJGFBUVUFLBJGBGBMTFKJTIVTXJGU UPSYTXJGU w IUUQTTQFBLFSEFDLDPNCSJDLMJGFTXJGUEPUEFSYTXJGU SFBDULJUSFBDUJWFDPDPBXPTIJUVUFNJUB
w IUUQTTQFBLFSEFDLDPNJTILBXBSYUFTUT w IUUQTTQFBLFSEFDLDPNJTILBXBSYTXJGUQMVTNWWN
ऴΘΓ