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
RxSwift in Practice
Search
Motoki Narita
November 20, 2016
Technology
6.1k
11
Share
RxSwift in Practice
https://eventdots.jp/event/602872
#eventdots
Motoki Narita
November 20, 2016
More Decks by Motoki Narita
See All by Motoki Narita
Mercari 10years iOS Development
motokiee
5
4.7k
Alexa, Swiftで スマートスピーカーは実装できる?
motokiee
0
2k
iOSの自動化と仕組み化 ~コードと設計に集中する~
motokiee
11
3.1k
入力を型で表現する
motokiee
2
4k
Move Fast iOS Development
motokiee
4
4k
結婚式を支えた技術 Firebaseを活用したサーバレスiOSアプリケーション開発
motokiee
33
26k
Vision Framework 入門
motokiee
2
2k
Lightweight Dependency Injection tips
motokiee
10
3.3k
Hello React Native
motokiee
8
640
Other Decks in Technology
See All in Technology
もりもり新機能を一挙紹介! AgentCoreに入門して、AWS上にAIエージェントを構築しよう
minorun365
PRO
6
720
OCI Oracle AI Database Services新機能アップデート(2026/03-2026/05)
oracle4engineer
PRO
0
170
TROCCOで始めるクラウドコストを民主化するためのFinOps
tk3fftk
3
560
Javaコミュニティをもっと楽しむための9箇条
takasyou
0
1.2k
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
1.9k
TypeScript Compiler APIとPHP-Parserを活用し、TypeScriptとPHPで型を共有する
shuta13
0
340
AI フレンドリーなエラー監視を TypeScript で実現する
shinyaigeek
2
240
AI活用を推進するために ファインディが下した、一つの小さな決断
starfish719
0
220
個人最適 から 全体最適 へ AI情報共有会・AIギルド・AI-DLC で進める カンリーの組織展開
rfdnxbro
0
1k
Sony_KMP_Journey_KotlinConf2026
sony
2
210
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
50k
Gradle×GitHub_ActionsでCI時間を約50%短縮 ジョブ分割の設計と落とし穴 / Cutting CI Time by ~50% with Gradle and GitHub Actions: Job-Splitting Design and Pitfalls
takatty
0
610
Featured
See All Featured
Abbi's Birthday
coloredviolet
2
7.9k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
420
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
130
sira's awesome portfolio website redesign presentation
elsirapls
0
270
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.3k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.2k
エンジニアに許された特別な時間の終わり
watany
107
250k
Bash Introduction
62gerente
615
210k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
380
Un-Boring Meetings
codingconduct
0
300
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
550
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
ऴΘΓ