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を切り替えなくてはならなくなったら #phpblt
Search
Yuichiro SAITO
PRO
August 08, 2017
Programming
2
7.7k
もしもベンダーのAPIを切り替えなくてはならなくなったら #phpblt
PHP BLT #8
2017-08-08 @ メルカリ 東京 (六本木ヒルズ)
Yuichiro SAITO
PRO
August 08, 2017
Tweet
Share
More Decks by Yuichiro SAITO
See All by Yuichiro SAITO
FinTech スタートアップのセキュリティチェックシートとの向き合い方 / AWS FinTech Bootcamp! Compliance
koemu
PRO
0
640
クラウドを積極活用したサービスの開発のために / AWS FinTech Bootcamp! Basic
koemu
PRO
0
280
ワークショップFinTech アーキテクチャ / AWS FinTech Bootcamp! Workshop
koemu
PRO
0
260
正しい理解で作る安心安全な FinTech の IT インフラ / tech play aws 2022 2
koemu
PRO
1
330
AWSの「今」 -PHPのコードを素早く動かすためのサービスのご紹介 / PHPCon2022 AWS Japan Session
koemu
PRO
2
2.1k
PdMとエンジニアのより良いコミュニケーションに向けて / Improve communication between Product Manager and Software Engineer
koemu
PRO
1
620
フェイズ別・スタートアップ企業への技術選定 シード編 #AWS #AWSStartup / Startup Tech 101 for Seed
koemu
PRO
0
510
AWSを使って送金機能を実装してみよう - 「sunabar-GMOあおぞらネット銀行API実験場-」コミュニティイベント第6弾
koemu
PRO
0
1.1k
Hardening II SU Softening Day - Team カムイ Presentation
koemu
PRO
0
3.9k
Other Decks in Programming
See All in Programming
React Nativeならぬ"Vue Native"が実現するかも?_新世代マルチプラットフォーム開発フレームワークのLynxとLynxのVue.js対応を追ってみよう_Vue Lynx
yut0naga1_fa
2
470
NixOS + Kubernetesで構築する自宅サーバーのすべて
ichi_h3
0
1.2k
Reactive Thinking with Signals and the Resource API
manfredsteyer
PRO
0
110
『毎日の移動』を支えるGoバックエンド内製開発
yutautsugi
2
280
When Dependencies Fail: Building Antifragile Applications in a Fragile World
selcukusta
0
110
なぜGoのジェネリクスはこの形なのか? - Featherweight Goが明かす設計の核心
qualiarts
0
240
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
190
Webサーバーサイド言語としてのRustについて
kouyuume
1
4.5k
SwiftDataを使って10万件のデータを読み書きする
akidon0000
0
240
pnpm に provenance のダウングレード を検出する PR を出してみた
ryo_manba
1
150
なんでRustの環境構築してないのにRust製のツールが動くの? / Why Do Rust-Based Tools Run Without a Rust Environment?
ssssota
13
40k
CSC509 Lecture 06
javiergs
PRO
0
270
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Unsuck your backbone
ammeep
671
58k
Typedesign – Prime Four
hannesfritz
42
2.8k
Designing Experiences People Love
moore
142
24k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
YesSQL, Process and Tooling at Scale
rocio
173
15k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Being A Developer After 40
akosma
91
590k
For a Future-Friendly Web
brad_frost
180
10k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Statistics for Hackers
jakevdp
799
220k
Transcript
͠ϕϯμʔͷAPIΛΓସ͑ͳͯ͘ͳΒ ͳ͘ͳͬͨΒ • Yuichiro Saito (@koemu) • 2017/08/08 @ ϝϧΧϦ
౦ژΦϑΟε © Yuichiro Saito (koemu), 2017 1
ࠓͷ͓ • ֎෦ͷϕϯμʔΛ͏APIΛΓସ͑͟ΔΛಘͳ͘ͳͬͨΒͲ͏ ͠Α͏͔ɻ • ઃܭͱҠߦͷ࣮ફྫΛऔΓ্͛·͢ɻ © Yuichiro Saito (koemu),
2017 2
֎෦ϕϯμʔͷAPIͬͯ·͔͢ʁ • Α͋͘Δͷ: ܾࡁ • ΄͔ʹօ͞ΜԿ͔ͬͯ·͔͢ʁ • ͪΐͬͱߟ͑ͯΈ·͠ΐ͏͔Ͷ © Yuichiro
Saito (koemu), 2017 3
֎෦APIΛΓସ͑ແͯ͘ͳΒͳ͍͕࣌དྷΔ • ձࣾɾαʔϏεӬԕͰͳ͍ • ٤ۓͷҰൠతͳ: WebPayͷऴྃ1 • ΑΓΑ͍αʔϏε͕ग़͖ͯͯΓସ͑ͨ͘ͳΔ͜ͱ͋Δ 1 https://linecorp.com/ja/pr/news/ja/2016/1560
© Yuichiro Saito (koemu), 2017 4
͕͔ͩ͠͠ • Έͳ͞ΜͷαʔϏεͷதͰɺϕϯμʔΛΓସ͑ΒΕΔ༻ҙ ͋Γ·͔͢ʁ • ͳ͔ͬͨʂͷͰɺ͕ΜͬͯϦϑΝΫλϦϯά͠·ͨ͠ɻ © Yuichiro Saito (koemu),
2017 5
ͰΓସ͍͑͢ͱ͍͏ঢ়گͱʁ • நԽ͞ΕͨυϝΠϯΫϥεͰΞΫηεͰ͖Δ • API͕มΘͬͯϏδωεϩδοΫجຊతʹมߋ͕ඞཁͳ ͍ɻ • DBͱͷCRUDૢ࡞Ҿ͖ଓ͖͍·ΘͤΔɻ • ςετίʔυΛ௨ͯ͡ɺυϝΠϯΫϥε͕ެ։͍ͯ͠ΔΠϯ
λϑΣΠεมΘΒͣಈ࡞͍ͯ͠Δ͜ͱ͕ࣔͤΔɻ © Yuichiro Saito (koemu), 2017 6
ͳΔ΄Ͳཧత © Yuichiro Saito (koemu), 2017 7
࣮ࡍͲ͏͔ͬͨ • ͜͏ߟ͑ͯΓ·ͨ͠ɺͱ͍͏͓ɻ • ͬͱ͍͍Γํ͕͋Γ·ͨ͠ΒɺblogͳͲͰ͝ҙݟ͚·͠ ͨΒ͍Ͱ͢ɻ • ·͋υϝΠϯϞσϧͬͯݴ͑ͦ͏ͳͷ͔͠Εͳ͍ɻ © Yuichiro
Saito (koemu), 2017 8
·ͣAPIΛ௨ͯ͡ߦ͏ۀΛཧ͢Δ • ͋ΔAPIͷྫ: ݁ߏγϯϓϧͩͬͨͷͰऔֻ͔ͬΓʹྑ͔ͬͨ • ֬ೝ͢Δ • ͍߹ΘͤΔ • ཤྺΛࢀর͢Δ
© Yuichiro Saito (koemu), 2017 9
σʔλΞΫηεϨΠϠʔΛΓग़͢ • ΫϥΠΞϯτΫϥε(࣮ࡍʹAPIΛୟ͘Ϋϥε)ΛΓग़͢ɻ • ϞοΫԽ͍͢͠Α͏ʹجఈʹΠϯλϑΣΠε͔நΫϥεΛ࡞ͬ ͓ͯ͘ɻ • গͳ͘ͱϏδωεϩδοΫΫϥΠΞϯτΫϥε৮Βͳ ͍ɻ •
ΠϯλϑΣΠεʹɺۀΛࣔ͢ϝιουΛੜͯ͠ɺ࣮ମΫϥεͰ࣮ ࡍʹAPIΛݺͿΑ͏ʹ࣮͢Δɻ © Yuichiro Saito (koemu), 2017 10
υϝΠϯΫϥεΛ࡞Δ • ͜ΕΒΛߦ͏ϝιουΛੜ͢ • ֬ೝ͢Δ • ͍߹ΘͤΔ • ཤྺΛࢀর͢Δ •
υϝΠϯΫϥε͕σʔλͷཧͷΛ࣋ͭɻ • υϝΠϯΫϥε͔ΒɺΫϥΠΞϯτΫϥεΛݺͼग़͢Α͏ʹ͢Δɻ • υϝΠϯΫϥε͕ɺDBͷCRUDΛཧ͢ΔΑ͏ʹ͢Δɻ • ϏδωεϩδοΫଆɺυϝΠϯΫϥεΛૢ࡞͢Εۀ͕͢ΔΑ͏ʹ࡞͓ͬͯ͘ɻ © Yuichiro Saito (koemu), 2017 11
ͳΜͰ͜Μͳ͜ͱΛͨ͠ͷ͔ • ϕϯμʔΓସ͑ࠓޙఆ͞ΕΔɻ • ϕϯμʔͷௐࢠ͕ͬͺΓྑ͘ͳ͔ͬͨΒϕϯμʔΛ͢͜ͱ ͩͬͯ͋ΓಘΔɻ • υϝΠϯΫϥεʹσʔλΛૢ࡞͢Δ෦Λ·ͱΊΔͱɺޙͰಡ Ήਓ͕ಡΈ͍͢(ͣ)ɻ ©
Yuichiro Saito (koemu), 2017 12
·ͱΊ • গͳ͘ͱϏδωεϩδοΫ͔ΒϕϯμʔͷAPIୟ͔ͳ ͍ɻ • υϝΠϯΫϥεʹநԽ͢ΕɺϕϯμʔΓସ͑ʹରॲ͠ ͘͢ͳΔͣɻ • υϝΠϯΫϥεʹσʔλૢ࡞Λ·ͱΊΕɺଞͷਓίʔυ͕ ಡΈ͘͢ͳΔͣɻ
© Yuichiro Saito (koemu), 2017 13
͓͠Βͤ • 2017/10/09 (݄ɾॕ) • খதֶੜ͚ ϓϩάϥϛϯάڭࣨ TENTOͷൃදձ • ߨධͯͩ͘͠͞ΔํΛืू͓ͯ͠Γ·͢ʂ
© Yuichiro Saito (koemu), 2017 14