$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Modular API Client
Search
naoty
August 17, 2016
Programming
1
420
Modular API Client
Kyobashi.swift #2
naoty
August 17, 2016
Tweet
Share
More Decks by naoty
See All by naoty
Repository pattern in Swift
naoty
3
6.4k
Timepiece
naoty
0
3.7k
Contribution to Rails
naoty
0
4.4k
久々のRailsプロジェクトで導入した開発環境
naoty
2
1.2k
Report of DIYish programming activity
naoty
1
270
How to build gems for Rails
naoty
1
170
Qiita/Kobito vs ?
naoty
0
200
Other Decks in Programming
See All in Programming
ID管理機能開発の裏側 高速にSaaS連携を実現したチームのAI活用編
atzzcokek
0
230
Rubyで鍛える仕組み化プロヂュース力
muryoimpl
0
110
手軽に積ん読を増やすには?/読みたい本と付き合うには?
o0h
PRO
1
170
LLM Çağında Backend Olmak: 10 Milyon Prompt'u Milisaniyede Sorgulamak
selcukusta
0
120
AIコーディングエージェント(Gemini)
kondai24
0
220
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
150
connect-python: convenient protobuf RPC for Python
anuraaga
0
410
30分でDoctrineの仕組みと使い方を完全にマスターする / phpconkagawa 2025 Doctrine
ttskch
4
850
AIエンジニアリングのご紹介 / Introduction to AI Engineering
rkaga
6
2.1k
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
400
認証・認可の基本を学ぼう後編
kouyuume
0
190
チームをチームにするEM
hitode909
0
330
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.2k
Documentation Writing (for coders)
carmenintech
76
5.2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Being A Developer After 40
akosma
91
590k
Raft: Consensus for Rubyists
vanstee
141
7.2k
How to Ace a Technical Interview
jacobian
280
24k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Side Projects
sachag
455
43k
Why Our Code Smells
bkeepers
PRO
340
57k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
Transcript
Naoto Kaneko Modular API Client 2016/08/17 Kyobashi.swift #2
None
௨৴·ΘΓࡶ w ϦΫΤετͷૹड৴ɺ͓ΑͼΤϥʔϋϯυϦϯά w ϦΫΤετͷγϦΞϥΠζɺϨεϙϯεͷσγϦΞϥΠζ w ΞΫηετʔΫϯΛϔομʔʹ༩ɺظݶΕͷ߹ϦϑϨογϡτʔΫϯͰ࠶ ൃߦ w ωοτϫʔΫΠϯδέʔλͷΦϯʗΦϑ
w ೋॏૹ৴ͷࢭ w ϩΪϯά w ύϑΥʔϚϯεܭଌ w FUDʜ
Ͳ͜ʹ࣮͢Δ͔ w "1*$MJFOUTXJGU w 7JFX$POUSPMMFSTXJGU
Ͳ͜ʹ࣮͢Δ͔ w "1*$MJFOUTXJGU ˠաଟ w 7JFX$POUSPMMFSTXJGU ˠίʔυͷॏෳɺංେԽ
.PEVMBS"1*$MJFOU w ෳͷʮҰͭͷ͜ͱΛ͏·͘ΔʯΦϒδΣΫτ͔ Βߏ͞ΕΔ"1*ΫϥΠΞϯτ w ػೳΛՃ͍͢͠ w ςετ͍͢͠
Modular API Client Request Response
API Client Request Response
API Client Middleware 3 Middleware 2 Middleware 1 Request Response
API Client Middleware 3 Middleware 2 Middleware 1 Request Response
API Client Middleware 3 Middleware 2 Middleware 1 Request Response
Middleware 1 → 2 → 3 → API Client → 3 → 2 → 1
None
None
None
w ॳظԽ͕ͳॻ͖ํʹͳͬͯ͠·͏ w ඞཁͳϛυϧΣΞͷηοτ͍͍ͩͨಉ͡ w ϛυϧΣΞͷηοτʹΞΫηεͰ͖ͳ͍
None
w ϛυϧΣΞͷηοτΛελοΫͱͯ͠ѻ͏ w σϑΥϧτͰඞཁͳελοΫΛॳظԽͰ͖ΔΑ͏ʹ ͯ͠؆ܿԽ
·ͱΊ w ௨৴·ΘΓͷॲཧࡶ ˠ֤ॲཧΛϛυϧΣΞͱ࣮ͯ͢͠Δ͜ͱͰ"1* ΫϥΠΞϯτΛখ͘͞อͭ w খ͍͞ϛυϧΣΞ܈͔Β"1*ΫϥΠΞϯτΛߏங ͢Δͷ͕໘ ˠελοΫʹଋͶΔ͜ͱͰ؆୯͔ͭॊೈʹॳظԽͰ ͖ΔΑ͏ʹ͢Δ
ৄࡉͪ͜Β IUUQOBPUZIBUFOBCMPHDPNFOUSZ