Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CA.swift #8 Protect against unauthorized use wi...
Search
Akio Itaya
March 06, 2019
Technology
1
1.5k
CA.swift #8 Protect against unauthorized use with RxSwift
RxSwift を用いた設計で、配信コンテンツを不正利用から守る
Akio Itaya
March 06, 2019
Tweet
Share
More Decks by Akio Itaya
See All by Akio Itaya
Bringing Spatial Web to E-Commerce
akkeylab
0
26
Learn CPU architecture with Assembly
akkeylab
1
1.6k
Porting a visionOS App to Android XR
akkeylab
0
1.1k
How to handle 3D content on Android XR
akkeylab
0
180
Create a website using Spatial Web
akkeylab
0
370
How to build visionOS apps using Windows
akkeylab
0
190
How to build visionOS apps using Persona
akkeylab
1
400
Summary - Introducing enterprise APls for visionOS
akkeylab
0
530
Apple Vision Pro trial session
akkeylab
0
330
Other Decks in Technology
See All in Technology
AWS Security Agentの紹介/introducing-aws-security-agent
tomoki10
0
300
AWS re:Invent 2025で見たGrafana最新機能の紹介
hamadakoji
0
410
Haskell を武器にして挑む競技プログラミング ─ 操作的思考から意味モデル思考へ
naoya
6
1.6k
CARTAのAI CoE が挑む「事業を進化させる AI エンジニアリング」 / carta ai coe evolution business ai engineering
carta_engineering
0
1.9k
非CUDAの悲哀 〜Claude Code と挑んだ image to 3D “Hunyuan3D”を EVO-X2(Ryzen AI Max+395)で動作させるチャレンジ〜
hawkymisc
2
200
AIエージェント開発と活用を加速するワークフロー自動生成への挑戦
shibuiwilliam
3
140
ログ管理の新たな可能性?CloudWatchの新機能をご紹介
ikumi_ono
1
850
Fashion×AI「似合う」を届けるためのWEARのAI戦略
zozotech
PRO
2
820
Python 3.14 Overview
lycorptech_jp
PRO
1
120
学習データって増やせばいいんですか?
ftakahashi
2
470
エンジニアとPMのドメイン知識の溝をなくす、 AIネイティブな開発プロセス
applism118
4
1.3k
AI駆動開発の実践とその未来
eltociear
0
130
Featured
See All Featured
Code Review Best Practice
trishagee
74
19k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Producing Creativity
orderedlist
PRO
348
40k
Practical Orchestrator
shlominoach
190
11k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
BBQ
matthewcrist
89
9.9k
Thoughts on Productivity
jonyablonski
73
5k
Building Adaptive Systems
keathley
44
2.9k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.3k
Transcript
৴ίϯςϯπΛෆਖ਼ར༻͔ΒकΔ AKKEY / AKIO ITAYA MatchingAgent, Inc. RxSwiftΛ༻͍ͨઃܭͰ
໊લɿ൘୩ ߊྑɹ/ɹ͖͋ͬʔ झຯɿυϥΠϒ ׆ಈɿ@AkkeyLab Cyberagent, Inc. MatchingAgent, Inc. େֶೖֶޙϓϩάϥϛϯάʹҰࠍΕɺ18৽ଔ iOS
ΤϯδχΞ ࣗݾհ
None
ࡐ
None
ࡐ ◆ ಈըࢹௌϓϥοτϑΥʔϜ ◆ ެ։લ ݸਓ։ൃΞϓϦ ◆ ࠓճαʔόଆʹ৮Ε·ͤΜ
ಋೖٕज़
ಋೖٕज़ʢClient onlyʣ RxSwift VueFlux Moya Realm Travis CI CodeCov GitHub
Architecture
Architecture State Computed VC Actions Mutations VM
State Computed VC API Request Actions Mutations VM Architecture
State Computed VC API Request Response Routing Actions Mutations VM
Architecture
State Computed VC API Request Response Routing Actions Mutations VM
Implement some properties Architecture
State Computed VC API Request Response Routing Actions Mutations VM
Output Observable Implement some properties Architecture
State Computed VC API Request Response Routing Actions Mutations VM
Output Observable Input / Output Logic Implement some properties Architecture
State Computed VC API Request Response Routing Actions Mutations VM
Output Observable Input / Output Logic Implement some properties Architecture
State Computed VC API Request Response Routing Actions Mutations VM
Output Observable Input / Output Logic Implement some properties Architecture
State Computed VC API Request Response Routing Actions Mutations VM
Output Observable Input / Output Logic Implement some properties Architecture
લఏ݅
લఏ݅ ◆ API Response 1. ݅ͷಈըใΛऔಘ
લఏ݅ ◆ API Response ෆมͷID 1. ݅ͷಈըใΛऔಘ
લఏ݅ ◆ API Response ෆมͷID 2. IDΛPrimaryKeyͱͯ͠VideoLinkΛऔಘ 1. ݅ͷಈըใΛऔಘ
State Computed VC API Request Response Routing Actions Mutations VM
Output Observable Input / Output Logic Implement some properties ಈը࠶ੜ·Ͱʹ ̎ϧʔϓͯ͠Δ ʢॳճʹݶΓʣ Architecture
ಈըίϯςϯπͷอޢ
ಈըίϯςϯπͷอޢ URL ͕όϨΔͱෆਖ਼ Download ͷՄೳੑ
ಈըίϯςϯπͷอޢ ◆ ఆظత URL มߋ ◆ IP ΞυϨε੍ݶ ◆ ҉߸Խ
ಈըίϯςϯπͷอޢ ◆ ఆظత URL มߋ ◆ IP ΞυϨε੍ݶ ◆ ҉߸Խ
ಈըίϯςϯπͷอޢ ຖ࣌ ݕࡧ A B C D 1 2 3
4 1A 1B 4C 4D ߋ৽ ◆ ఆظత URL มߋ
ಈըίϯςϯπͷอޢ A B C D 1 1A 1B 4C 4D
ຖ࣌ ݕࡧ ߋ৽ ◆ ఆظత URL มߋ 2 3 4
ಈըίϯςϯπͷอޢ A B C D 1 1A 1B 4C 4D
ຖ࣌ ݕࡧ ߋ৽ ◆ ఆظత URL มߋ 2 3 4
ಈըίϯςϯπͷอޢ ◆ ఆظత URL มߋ A B C D 1
1A 1B 4C 4D ຖ࣌ ݕࡧ ߋ৽ 2 3 4
ಈըίϯςϯπͷอޢ A B C D 1 1A 1B 4C 4D
ຖ࣌ ݕࡧ ߋ৽ ◆ ఆظత URL มߋ 2 3 4
withLatestFrom
ఆظతURLมߋ ຖ࣌ ݕࡧ A B C D 1 1A 1B
4C 4D ߋ৽ ◆ withLatestFrom 2 3 4
ఆظతURLมߋ
ఆظతURLมߋ
ఆظతURLมߋ
ఆظతURLมߋ
ಈըίϯςϯπͷอޢ ◆ ఆظత URL มߋ ϥάͰݟΕͳ͍Մೳੑ͋Γ ൺֱత؆୯ͳ࣮
ಈըίϯςϯπͷอޢ ◆ ఆظత URL มߋ ◆ IP ΞυϨε੍ݶ ◆ ҉߸Խ
ಈըίϯςϯπͷอޢ IPมԽ ݕࡧ A B C D 1 2 3
4 1B 3C 4D ߋ৽ ◆ IP ΞυϨε੍ݶ
ಈըίϯςϯπͷอޢ IPมԽ ݕࡧ A B C D 1 2 3
4 1B 3C 4D ߋ৽ ◆ IP ΞυϨε੍ݶ
ಈըίϯςϯπͷอޢ IPมԽ ݕࡧ A B C D 1 2 3
4 1B 3C 4D ߋ৽ ◆ IP ΞυϨε੍ݶ
ಈըίϯςϯπͷอޢ IPมԽ ݕࡧ A B C D 1 2 3
4 1B 3C 4D ߋ৽ ◆ IP ΞυϨε੍ݶ
withLatestFrom
IPΞυϨε੍ݶ ◆ withLatestFrom IPมԽ ݕࡧ A B C D 1
2 3 4 1B 3C 4D ߋ৽
IPΞυϨε੍ݶ
ಈըίϯςϯπͷอޢ ◆ IP ΞυϨε੍ݶ IPมԽݕͷਫ਼ʹࠨӈ͞ΕΔ ൺֱత࣮༻తͳͷͰʁ
ؒΛ͝հ
ؒΛ͝հ ຖ࣌ ݕࡧ A B C D 1 1A 1B
4C 4D ߋ৽ ◆ combineLatest 2B 3B 2 3 4
ؒΛ͝հ ຖ࣌ ݕࡧ A B C D 1 1A 1B
4C 4D ߋ৽ ◆ combineLatest 2B 3B 2 3 4
combineLatest
combineLatest
combineLatest
ಈըίϯςϯπͷอޢ ◆ ఆظత URL มߋ ◆ IP ΞυϨε੍ݶ ◆ ҉߸Խ
ಈըίϯςϯπͷอޢ ◆ ҉߸Խ https://akkeylab.com/s=&…
ಈըίϯςϯπͷอޢ ◆ ҉߸Խ ղಡ๏͋ΔͷͰ݁ہᴟͬ͜͝ ڧྗͰ࣮༻త https://akkeylab.com/s=&… ͍ͨͪ
ຊͷొਓ ◆ withLatestFrom ◆ combineLatest
ຊͷొਓ ◆ withLatestFrom ◆ combineLatest ◆ tapple
Thank you !!