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.6k
バックエンドが異なるサービスの差分を 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.6k
Kotlinで型安全なSQLを書こう
noripi
0
860
サーバサイドKotlinのすすめ
noripi
0
11k
サーバーサイドKotlinのすすめ(仮)
noripi
0
750
Other Decks in Technology
See All in Technology
Kubernetesでアプリの安定稼働と高頻度のアップデートを両立するためのプラクティス / Best Practices for Applications on Kubernetesto Achieve Both Frequent Updates and Stability
hhiroshell
10
2.9k
検証を通して見えてきたTiDBの性能特性
lycorptech_jp
PRO
4
1.6k
長期運用プロジェクトでのMySQLからTiDB移行の検証
colopl
1
180
WebアプリケーションにおけるPDOの使い方入門 / phpcon odawara 2024
meihei3
2
420
シン・Kafka / shin-kafka
oracle4engineer
PRO
6
2.7k
LLM とプロンプトエンジニアリング/チューターをビルドする / LLM and Prompt Engineering and Building Tutors
ks91
PRO
0
200
「手動オペレーションに定評がある」と言われた私が心がけていること / phpcon_odawara2024
blue_goheimochi
1
310
なぜ NOT A HOTEL が Web3 に取り組むのか - NOT A HOTEL TECH TALK
ynunokawa
0
160
PHPカンファレンス小田原2024
ysknsid25
2
650
株式会社EventHub・エンジニア採用資料
eventhub
0
1.9k
巨大なテーブルのテーブル定義を無停止で安全に誰でも変更できるようにする / Table-definitions-for-huge-tables-can-be-modified-by-anyone-safely-and-non-disruptively
freee
1
710
Signals Unleashed: The Full Guide
rainerhahnekamp
0
350
Featured
See All Featured
Infographics Made Easy
chrislema
237
18k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
Teambox: Starting and Learning
jrom
127
8.4k
YesSQL, Process and Tooling at Scale
rocio
161
13k
A better future with KSS
kneath
230
16k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
114
18k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
1
3.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
24
2.3k
A Tale of Four Properties
chriscoyier
150
22k
GitHub's CSS Performance
jonrohan
1023
450k
jQuery: Nuts, Bolts and Bling
dougneiner
58
7.1k
What's new in Ruby 2.0
geeforr
336
31k
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*͕͍ͬͯΔ͜ͱ ɾຊ͚ͷΤϯυϙΠϯτͱւ֎͚ͷΤϯυϙΠϯτʹܧঝؔ ɹΛ࣋ͨͤͯ֎͖ͷΠϯλϑΣʔεΛἧ͍͑ͯΔ ɾखલʹήʔτΣΠΛஔ͍ͯɺҧ͍Λҙࣝͤͣʹຊ͚ͱւ֎͚ ɹΛ͍͚Ͱ͖ΔΑ͏ʹ͍ͯ͠Δ
ɾࠓޙ͍͖͍ͬͯͨ͜ͱ ɾݱࡏւ֎͚ͷαʔϏε౦ژϦʔδϣϯ͔Βఏڙ ɾࠓޙԤถݍʹαʔϏεఏڙ͍ͯ͘͠ՄೳੑΛ౿·͑ͯϚϧνϦʔδϣϯ ɹରԠΓ͍ͨ
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ