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.7k
バックエンドが異なるサービスの差分を 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
870
サーバサイドKotlinのすすめ
noripi
0
11k
サーバーサイドKotlinのすすめ(仮)
noripi
0
760
Other Decks in Technology
See All in Technology
地理情報データをデータベースに格納しよう~ GPUを活用した爆速データベース PG-Stromの紹介 ~
sakaik
1
100
Microsoft Intune アプリのトラブルシューティング
sophiakunii
1
390
株式会社島津製作所_研究開発(集団協業と知的生産)の現場を支える、OSS知識基盤システムの導入
akahane92
1
170
State of Open Source Web Mapping Libraries
dayjournal
0
200
スクラムチームを立ち上げる〜チーム開発で得られたもの・得られなかったもの〜
ohnoeight
1
280
家具家電付アパートの冷蔵庫をIoT化してみた!
scbc1167
0
140
[JAWS-UG金沢支部×コンテナ支部合同企画]コンテナとは何か
furuton
3
340
コンテナのトラブルシューティング目線から AWS SAW についてしゃべってみる
kazzpapa3
1
120
Redmine 6.0 新機能評価ガイド
vividtone
0
220
株式会社ログラス − エンジニア向け会社説明資料 / Loglass Comapany Deck for Engineer
loglass2019
3
28k
Deno+JSRでパッケージを作って公開する
askua
0
110
Intuneお役立ちツールのご紹介
sukank
3
740
Featured
See All Featured
Fireside Chat
paigeccino
33
3k
Writing Fast Ruby
sferik
627
61k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
What's in a price? How to price your products and services
michaelherold
243
12k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
Facilitating Awesome Meetings
lara
49
6.1k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
15
2k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
810
Building an army of robots
kneath
302
42k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
32
1.8k
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*͕͍ͬͯΔ͜ͱ ɾຊ͚ͷΤϯυϙΠϯτͱւ֎͚ͷΤϯυϙΠϯτʹܧঝؔ ɹΛ࣋ͨͤͯ֎͖ͷΠϯλϑΣʔεΛἧ͍͑ͯΔ ɾखલʹήʔτΣΠΛஔ͍ͯɺҧ͍Λҙࣝͤͣʹຊ͚ͱւ֎͚ ɹΛ͍͚Ͱ͖ΔΑ͏ʹ͍ͯ͠Δ
ɾࠓޙ͍͖͍ͬͯͨ͜ͱ ɾݱࡏւ֎͚ͷαʔϏε౦ژϦʔδϣϯ͔Βఏڙ ɾࠓޙԤถݍʹαʔϏεఏڙ͍ͯ͘͠ՄೳੑΛ౿·͑ͯϚϧνϦʔδϣϯ ɹରԠΓ͍ͨ
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ