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
Modular API Client
Search
naoty
August 17, 2016
Programming
1
400
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.3k
Timepiece
naoty
0
3.5k
Contribution to Rails
naoty
0
4.3k
久々のRailsプロジェクトで導入した開発環境
naoty
2
1.1k
Report of DIYish programming activity
naoty
1
210
How to build gems for Rails
naoty
1
140
Qiita/Kobito vs ?
naoty
0
190
Other Decks in Programming
See All in Programming
AI時代におけるSRE、 あるいはエンジニアの生存戦略
pyama86
6
1.2k
ペアーズにおけるAmazon Bedrockを⽤いた障害対応⽀援 ⽣成AIツールの導⼊事例 @ 20241115配信AWSウェビナー登壇
fukubaka0825
6
2k
初めてDefinitelyTypedにPRを出した話
syumai
0
430
TypeScriptでライブラリとの依存を限定的にする方法
tutinoko
3
710
Realtime API 入門
riofujimon
0
150
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
120
Amazon Bedrock Agentsを用いてアプリ開発してみた!
har1101
0
340
エンジニアとして関わる要件と仕様(公開用)
murabayashi
0
310
距離関数を極める! / SESSIONS 2024
gam0022
0
290
Functional Event Sourcing using Sekiban
tomohisa
0
110
DevTools extensions で 独自の DevTool を開発する | FlutterKaigi 2024
kokiyoshida
0
110
Laravel や Symfony で手っ取り早く OpenAPI のドキュメントを作成する
azuki
2
120
Featured
See All Featured
A designer walks into a library…
pauljervisheath
204
24k
Being A Developer After 40
akosma
87
590k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Scaling GitHub
holman
458
140k
The World Runs on Bad Software
bkeepers
PRO
65
11k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
RailsConf 2023
tenderlove
29
900
Code Reviewing Like a Champion
maltzj
520
39k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
93
16k
Adopting Sorbet at Scale
ufuk
73
9.1k
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