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
バックエンドが異なるサービスの差分を APIで吸収してみた話
Search
noripi
September 01, 2017
Technology
1
1.8k
バックエンドが異なるサービスの差分を APIで吸収してみた話
2017.09.01 retty tech nightのスライドです。
noripi
September 01, 2017
Tweet
Share
More Decks by noripi
See All by noripi
KotlinでAPIを型安全にした話
noripi
0
1.7k
Kotlinで型安全なSQLを書こう
noripi
0
900
サーバサイドKotlinのすすめ
noripi
0
12k
サーバーサイドKotlinのすすめ(仮)
noripi
0
780
Other Decks in Technology
See All in Technology
What’s new in Android development tools
yanzm
0
320
2025-07-06 QGIS初級ハンズオン「はじめてのQGIS」
kou_kita
0
170
NewSQLや分散データベースを支えるRaftの仕組み - 仕組みを理解して知る得意不得意
hacomono
PRO
2
170
OPENLOGI Company Profile for engineer
hr01
1
34k
OSSのSNSツール「Misskey」をさわってみよう(右下ワイプで私のOSCの20年を振り返ります) / 20250705-osc2025-do
akkiesoft
0
170
第4回Snowflake 金融ユーザー会 Snowflake summit recap
tamaoki
1
290
MUITにおける開発プロセスモダナイズの取り組みと開発生産性可視化の取り組みについて / Modernize the Development Process and Visualize Development Productivity at MUIT
muit
1
17k
SmartNewsにおける 1000+ノード規模 K8s基盤 でのコスト最適化 – Spot・Gravitonの大規模導入への挑戦
vsanna2
0
140
Glacierだからってコストあきらめてない? / JAWS Meet Glacier Cost
taishin
1
160
「クラウドコスト絶対削減」を支える技術—FinOpsを超えた徹底的なクラウドコスト削減の実践論
delta_tech
4
170
使いたいMCPサーバーはWeb APIをラップして自分で作る #QiitaBash
bengo4com
0
1.9k
Core Audio tapを使ったリアルタイム音声処理のお話
yuta0306
0
190
Featured
See All Featured
Bash Introduction
62gerente
613
210k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
For a Future-Friendly Web
brad_frost
179
9.8k
Faster Mobile Websites
deanohume
307
31k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Code Reviewing Like a Champion
maltzj
524
40k
Why Our Code Smells
bkeepers
PRO
336
57k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
A Modern Web Designer's Workflow
chriscoyier
695
190k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Optimizing for Happiness
mojombo
379
70k
Transcript
όοΫΤϯυ͕ҟͳΔαʔϏεͷࠩΛ "1*Ͱٵऩͯ͠Έͨ 3FUUZ5FDI/JHIU /PSJZVLJ*TIJEB
͍͋ͭ͝͞"CPVUNF ɾੴాݑ/PSJZVLJ*TIJEB ɾ3FUUZ *OD ɾΞϓϦ༻"1* ,PUMJO+BWB ɾJ04 4XJGU0CKFDUJWF$ ɾւ֎͚αʔϏε
8FC%#ઃܭΠϯϑϥӡ༻ ɾલ৬ָఱ ɾഅ݊Λൢച͢ΔαʔϏεͰ8FCͷ։ൃɾӡ༻Λ୲ ɾࠃ͚
ຊͷ͓ ɾ3FUUZͷւ֎͚αʔϏε ɾݟ্͔͚ຊͱಉ͡αʔϏεͰΞϓϦಉҰ ɾͰόοΫΤϯυҟͳ͍ͬͯΔ ɾ"1*ͰࠩΛٵऩ͢ΔͨΊʹ͍ͬͯΔ͜ͱ ɾ·ͱΊ ɾࠩ"1*Ͱٵऩ͍ͯ͠Δ
3FUUZͷւ֎͚αʔϏε
3FUUZݱࡏຊΛؚΉΧࠃͰ αʔϏεల։த
3FUUZͷւ֎ల։ঢ়گ
3FUUZͷຊ͚αʔϏεͱւ֎͚αʔϏε ɾຊ͚αʔϏεͱւ֎͚αʔϏε ɾຊ͚ɿ8FC͓ΑͼΞϓϦͰαʔϏεల։த ɾւ֎͚ɿΞϓϦͰαʔϏεల։தʢҰ෦ػೳ੍ݶ͋Γʣ
3FUUZͷຊ͚αʔϏεͱւ֎͚αʔϏε ɾಉҰΞϓϦ͕ͩόοΫΤϯυҟͳΔ ຊ͚αʔϏε ւ֎͚αʔϏε ຊ༻%# ւ֎༻%# ຊ༻"1*αʔό ւ֎༻"1*αʔό
ຊ͚ͱւ֎͚ͰผʑʹόοΫΤϯυΛ༻ҙͨ͠ཧ༝ ɾຊʹ࠷దԽ͞Ε͍͗ͯ͢Δ ɾւ֎͚ʹαʔϏεΛ͢Δ࣌ͷ͜ͱͦ͜·Ͱఆ͞Ε͍ͯͳ͍ ɾ%#Λ࠶ઃܭ͢Δ͍͍ػձ ɾӡ༻ن͕େ͖͘ͳ͖ͬͯͨͷͰؾܰʹεΩʔϚมߋͰ͖ͳ͍ ɾҰํͰઃܭΛݟ͍ͨ͠Օॴঃʑʹ૿͖͍͑ͯͯΔ ɾຊʹͳΔ͘ӨڹΛग़ͨ͘͠ͳ͍ ɾຊͱւ֎Λൺֱͨ͠ͱ͖ͷαʔϏεنͷ؍͔Β ɾ࣌ࠁʹ࣌ؒՃࢉ͢ΔϩδοΫ͕ਵॴʹຒΊࠐ·Ε͍ͯΔ
ͱ͍͑ ͦΜͳ͜ͱΛߟ͑ͳ͕ΒΞϓϦΛ࡞Δͱ
ͭΒͦ͏ʜ
ͦ͏ͳΒͳ͍Α͏ʹ ͳΔ͘"1*ͰࠩΛٵऩ͍ͯ͠·͢
"1*ͰࠩΛٵऩ͢ΔͨΊʹ͍ͬͯΔ͜ͱ
͍ͬͯΔ͜ͱ ɾ"1*ͷܗࣜΛ౷Ұ͢Δ ɾΤϯυϙΠϯτΛ౷Ұ͢Δ ɾ)551ϝιου ɾύϥϝʔλ ɾฦΓܗࣜ ɾίϯςϯπλΠϓ
"1*ͷશମઃܭ ɾ+"934ʹଇΓɺ+BWBͷΫϥεϝιουͰ ɹΤϯυϙΠϯτΛఆٛ ɾύεɺ)551ϝιουɺฦΓͷܗࣜɺίϯςϯπλΠϓ
"1*ͷશମઃܭ ɾσʔλΛΓऔΓ͢ΔྲྀΕ %"0 Ϟσϧ Ϧιʔε ΞϓϦ (&5SFTUBVSBOUT\JE^ σʔλετϨʔδ
"1*
ڞ௨Խ͍ͨ͠෦ͱͦ͏Ͱͳ͍෦ ɾϦιʔεڞ௨Խ͍ͨ͠ %"0 Ϟσϧ Ϧιʔε ΞϓϦ (&5SFTUBVSBOUT\JE^ ɾ֎͖ͷΠϯλϑΣʔε͕ఆٛ͞Ε͍ͯΔ
σʔλετϨʔδ "1*
ڞ௨Խ͍ͨ͠෦ͱͦ͏Ͱͳ͍෦ ɾͦΕҎ֎ͷ෦ڞ௨Խ͕͍͠ %"0 Ϟσϧ Ϧιʔε ΞϓϦ (&5SFTUBVSBOUT\JE^ "1*
ɾσʔλετϨʔδʹ͍ۙͳͷͰڞ௨Խͯ͋͠·Γҙຯ͕ͳ͍
ڞ௨Խ͍ͨ͠෦ͱͦ͏Ͱͳ͍෦ ɾ%"0ͷ෦ΛΠϯλϑΣʔεԽͯ͠நԽ Ϟσϧ Ϧιʔε ΞϓϦ (&5SFTUBVSBOUT\JE^ %"0 %"0
Ϟσϧ "1*
ڞ௨Խ͍ͨ͠෦ͱͦ͏Ͱͳ͍෦ ɾ%"0ͷ෦ΛΠϯλϑΣʔεԽͯ͠நԽ
"1*ͷܗࣜΛ౷Ұ͢Δ ɾϦιʔεΫϥεܧঝͰϩδοΫΛڞ௨Խ
ΤϯυϙΠϯτΛ౷Ұ͢Δ ຊ༻%# ւ֎༻%# ຊ༻"1*αʔό ւ֎༻"1*αʔό ɾΤϯυϙΠϯτΛ౷Ұ͠ͳ͍ͱɺΞϓϦଆͰ ɹͲͬͪʹߦ͔͘அ͠ͳ͍ͱ͍͚ͳ͘ͳΔ ຊ͚αʔϏε
ւ֎͚αʔϏε ?
ΤϯυϙΠϯτΛ౷Ұ͢Δ ຊ༻%# ւ֎༻%# ຊ༻"1*αʔό ւ֎༻"1*αʔό ɾήʔτΣΠΛ͏͜ͱʹΑͬͯຊ༻ͱւ֎༻ ɹͷΤϯυϙΠϯτΛ౷Ұ ຊ͚αʔϏε
ւ֎͚αʔϏε
ΤϯυϙΠϯτΛ౷Ұ͢Δ ຊ༻%# ւ֎༻%# ຊ༻"1*αʔό ւ֎༻"1*αʔό ɾήʔτΣΠ͕શڥͷηογϣϯΛཧͯ͠ ɹదͳํʹৼΓ͚ ຊ͚αʔϏε
ւ֎͚αʔϏε ຊ༻"1*αʔό ηογϣϯ ۭؒ
౷Ұ͞Εͨ݁Ռ ɾݟ্͔͚ͭͷ"1*Ͱຊւ֎ͷαʔϏεΛ ɹ͏͜ͱ͕Ͱ͖ΔΑ͏ʹͳΔ ຊ͚αʔϏε ւ֎͚αʔϏε "1*
·ͱΊ
·ͱΊ ɾຊΛؚΊΧࠃʹαʔϏεల։த ɾΞϓϦ͕ͭͩόοΫΤϯυҟͳΔ ɾΞϓϦͷϩδοΫ͕ͭΒ͘ͳΒͳ͍Α͏ʹ"1*͕ؤு͍ͬͯ·͢ ɾ"1*͕͍ͬͯΔ͜ͱ ɾຊ͚ͷΤϯυϙΠϯτͱւ֎͚ͷΤϯυϙΠϯτʹܧঝؔ ɹΛ࣋ͨͤͯ֎͖ͷΠϯλϑΣʔεΛἧ͍͑ͯΔ ɾखલʹήʔτΣΠΛஔ͍ͯɺҧ͍Λҙࣝͤͣʹຊ͚ͱւ֎͚ ɹΛ͍͚Ͱ͖ΔΑ͏ʹ͍ͯ͠Δ
ɾࠓޙ͍͖͍ͬͯͨ͜ͱ ɾݱࡏւ֎͚ͷαʔϏε౦ژϦʔδϣϯ͔Βఏڙ ɾࠓޙԤถݍʹαʔϏεఏڙ͍ͯ͘͠ՄೳੑΛ౿·͑ͯϚϧνϦʔδϣϯ ɹରԠΓ͍ͨ
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ