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
CA.swift #8 Protect against unauthorized use with RxSwift
Search
Akio Itaya
March 06, 2019
Technology
1
1.4k
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
Apple Vision Pro trial session
akkeylab
0
120
How to support Privacy Manifest
akkeylab
0
290
Let's make it compatible with visionOS!
akkeylab
0
140
Let's Join the Android community!
akkeylab
0
84
顔写真メイクアップアプリの開発におけるプライバシー保護とコスト削減のための手法
akkeylab
1
270
How to hide the key
akkeylab
0
260
Present and Future of targeted Ad
akkeylab
1
74
iOS team meeting by AppBrew #01
akkeylab
0
87
About published Ad
akkeylab
0
90
Other Decks in Technology
See All in Technology
テストプロセスで大事にしていること #jasstnano
makky_tyuyan
0
130
Vertex AI を中心に 生成AIのアップデートを共有します
kaz1437
0
150
プロデザ! BY リクルート vol.18_リクルートのリサーチ実践組織「リサーチブーストコミュニティ」
recruitengineers
PRO
3
240
現代CSSフレームワークの内部実装とその仕組み
poteboy
6
1.8k
継続的な改善 x ⾮連続的な進化
sansantech
PRO
3
100
長期間TiDBを使ってきた話 @ 私たちはなぜNewSQLを使うのかTiDB選定5社が語る選定理由と活用LT / Experiences with TiDB Over Time
chibiegg
2
740
Oracle Cloud Infrastructure:2024年4月度サービス・アップデート
oracle4engineer
PRO
1
110
Hands-on / Kaname Frusawa / Cloud Compare Users Meetup 2024 at University of Tokyo on April 17
paraworld
2
470
マルチアカウント環境への発見的統制の導入
ch1aki
1
1.3k
Databricks におけるデータエンジニアリング
databricksjapan
0
380
Tebiki株式会社 エンジニア採用資料
tebiki
0
4.1k
Garoon 開発チーム / Garoon development team
cybozuinsideout
PRO
2
2.9k
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
301
110k
The World Runs on Bad Software
bkeepers
PRO
61
6.7k
Statistics for Hackers
jakevdp
789
220k
Code Review Best Practice
trishagee
54
15k
Become a Pro
speakerdeck
PRO
10
4.5k
Designing for Performance
lara
601
67k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
60
14k
Debugging Ruby Performance
tmm1
70
11k
Building a Modern Day E-commerce SEO Strategy
aleyda
16
6.4k
Mobile First: as difficult as doing things right
swwweet
216
8.6k
4 Signs Your Business is Dying
shpigford
175
21k
Designing Experiences People Love
moore
136
23k
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 !!