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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Yuichiro SAITO
August 08, 2017
Programming
7.8k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
もしもベンダーのAPIを切り替えなくてはならなくなったら #phpblt
PHP BLT #8
2017-08-08 @ メルカリ 東京 (六本木ヒルズ)
Yuichiro SAITO
August 08, 2017
More Decks by Yuichiro SAITO
See All by Yuichiro SAITO
FinTech スタートアップのセキュリティチェックシートとの向き合い方 / AWS FinTech Bootcamp! Compliance
koemu
0
750
クラウドを積極活用したサービスの開発のために / AWS FinTech Bootcamp! Basic
koemu
0
360
ワークショップFinTech アーキテクチャ / AWS FinTech Bootcamp! Workshop
koemu
0
310
正しい理解で作る安心安全な FinTech の IT インフラ / tech play aws 2022 2
koemu
1
400
AWSの「今」 -PHPのコードを素早く動かすためのサービスのご紹介 / PHPCon2022 AWS Japan Session
koemu
2
2.3k
PdMとエンジニアのより良いコミュニケーションに向けて / Improve communication between Product Manager and Software Engineer
koemu
1
730
フェイズ別・スタートアップ企業への技術選定 シード編 #AWS #AWSStartup / Startup Tech 101 for Seed
koemu
0
560
AWSを使って送金機能を実装してみよう - 「sunabar-GMOあおぞらネット銀行API実験場-」コミュニティイベント第6弾
koemu
0
1.1k
Hardening II SU Softening Day - Team カムイ Presentation
koemu
0
4k
Other Decks in Programming
See All in Programming
承認済みなのに差戻しできてしまうバグ、型で潰せます
shinchit
0
110
プロポーザルを書いてもらう
pvcresin
0
580
仕様駆動開発へのトライを機に チームに適合する手法を模索し続けている話
freee
PRO
0
620
Go 1.27 における memory allocation の高速化
andpad
0
320
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
350
言葉の格闘技のススメ~紙とペンと言葉から始める、キャリアの描き方~
progresscicada
2
180
源内ハンズオン概要編
hideg
0
210
コンパウンドプロダクト開発のためのローカルプロセスマネージャー再発明 #layerxgo
izumin5210
0
350
Discordを用いたラボオートメーション関連情報収集の自動化
noguhiro2002
0
440
関東Kaggler会_NVIDIA_Nemotron_コンペ_振り返り
rick_ds
0
720
仕様書を書く前にハーネスを作る - Agent Native開発は「探索を速く、判定を固く」
gotalab555
4
1.8k
Gmail/Google DriveをトリガーにAIエージェントを動かそう! / Run AI agents with Gmail/Google Drive as triggers!
har1101
2
440
Featured
See All Featured
Site-Speed That Sticks
csswizardry
13
1.5k
How to build a perfect <img>
jonoalderson
1
5.9k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
710
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
410
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Bash Introduction
62gerente
615
220k
Six Lessons from altMBA
skipperchong
29
4.5k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
480
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
400
Test your architecture with Archunit
thirion
2
2.4k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
950
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