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
実例から学ぶ、最後まで諦めない決済サービス移行方法/phperkaigi-2020
Search
litencatt
February 11, 2020
Technology
2
1.2k
実例から学ぶ、最後まで諦めない決済サービス移行方法/phperkaigi-2020
https://phperkaigi.jp/2020/
02/11 10:55〜 Track B
litencatt
February 11, 2020
Tweet
Share
More Decks by litencatt
See All by litencatt
chrome-extention-development-start-with-template
litencatt
1
77
15年続くWebサービスの開発現場のイマ/muumu-development-env
litencatt
0
59
オブジェクト指向×思考×試行 / OOP x Study x Try
litencatt
1
450
とあるペパボカレッジ1期生がこの1年間で学習してきたこと / Studying to be a web engineer
litencatt
4
530
ムームードメイン ショッピングカートを支える技術! / muumuu-shopping-cart-tech
litencatt
2
5.3k
CI環境をDockerで再現する/Build the testing containers
litencatt
0
840
201612_一歩踏み出した先にあったもの
litencatt
4
1.3k
Other Decks in Technology
See All in Technology
【shownet.conf_】コンピューティング資源を統合した分散コンテナ基盤の進化
shownet
PRO
0
370
Strict Concurrencyにしたらdeinitでクラッシュする話
0si43
0
120
MLOpsの「あるある」課題の解決と、そのためのライブラリgokart
mski_iksm
1
160
つよつよリーダーが 抜けたらどうする? 〜ナビタイムのAgile⽀援組織の変遷〜
navitimejapan
PRO
22
13k
令和最新版 Perlコーディングガイド
anatofuz
4
3.2k
【shownet.conf_】ShowNet x 宇宙ネットワーク
shownet
PRO
0
380
Oracle Database 23ai 新機能#4 Real Application Clusters
oracle4engineer
PRO
0
140
エムスリー全チーム紹介資料 / Introduction of M3 All Teams
m3_engineering
1
270
DenoでもViteしたい!インポートパスのエイリアスを指定してラクラクアプリ開発
bengo4com
1
1.8k
【shownet.conf_】ShowNet伝送改めShowNet APN 2024
shownet
PRO
0
410
Efficient zero-copy networking using io_uring
ennael
PRO
0
320
SQLによるオブザーバビリティの進化とClickHouseの実力
mikimatsumoto
0
160
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
30
1.4k
Making the Leap to Tech Lead
cromwellryan
130
8.8k
GraphQLの誤解/rethinking-graphql
sonatard
65
9.9k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
29
1.7k
The Art of Programming - Codeland 2020
erikaheidi
50
13k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
355
29k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Adopting Sorbet at Scale
ufuk
73
9k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
6
260
Building a Scalable Design System with Sketch
lauravandoore
459
32k
Building Your Own Lightsaber
phodgson
102
6k
Transcript
தଜޫ༎(.01FQBCP *OD 1)1FS,BJHJ ࣮ྫ͔ΒֶͿɺ ࠷ޙ·ͰఘΊͳ͍ܾࡁαʔ ϏεҠߦํ๏
ΤϯδχΞ தଜޫ༎!MJUFODBUU ϗεςΟϯάࣄۀ෦ϗεςΟϯάάϧʔϓ$9νʔϜ
w ܾࡁαʔϏεҠߦΛܦݧͯ͠ΈͯΘ͔ͬͨ wҠߦΛఘΊͣޭͤ͞ΔʹԿΛ͢ΕΑ͍ͷ͔ʁ wͦͷֶͼʹࢸͬͨʮఘΊͦ͏ʹͳͬͨग़དྷࣄʯ w Λ͓͠·͢ ͜ͷൃදͰ͍͑ͨ͜ͱ
ܾࡁαʔϏεҠߦͷഎܠ ܾࡁαʔϏεҠߦΛޭͤ͞Δʹʁ ·ͱΊ ࣍
ܾࡁαʔϏεҠߦͷഎܠ
w ʮ͓͍͞Άʂʯͱ͍͏αʔϏεΛͬͯ·͔͢ʁ w ϖύϘ͕ӡӦ͢ΔҰ෦ͷαʔϏεͰར༻ྉࢧ͍ʹ͑Δ ΥϨοταʔϏε ܾࡁαʔϏεҠߦͷഎܠ IUUQTPTBJQPKQ
w ʮ͓͍͞Άʂʯͱ͍͏αʔϏεΛͬͯ·͔͢ʁ w ϖύϘ͕ӡӦ͢ΔҰ෦ͷαʔϏεͰར༻ྉࢧ͍ʹ͑Δ ΥϨοταʔϏε w ϖύϘαʔϏε͚ʹΫϨΧܾࡁߦػೳ"1*ఏڙ ܾࡁαʔϏεҠߦͷഎܠ αʔϏε" αʔϏε#
αʔϏε$ αʔϏε% ͓͍͞Άʂ ܾࡁαʔϏε
ܾࡁαʔϏεҠߦͷഎܠ ͓͍͞Άʂͷར༻͢ΔΫϨΧܾࡁαʔϏεΛʹ ಉӡӦձ͕ࣾఏڙ͢Δ৽ܾࡁαʔϏεҠߦ͢Δ
w ݱࡏར༻͍ͯ͠ΔچܾࡁαʔϏεͷऴྃͷ͓Βͤ w ݄Ͱऴྃ w ෆਖ਼ͳΫϨΧܾࡁͰͷνϟʔδόοΫ͕ʑ૿Ճ͍ͯ͠Δ w ෆਖ਼ࢭαʔϏεΛૣ͘ಋೖ͍ͨ͠ ܾࡁαʔϏεҠߦͷഎܠ ͓͍͞Άʂͷར༻͢ΔΫϨΧܾࡁαʔϏεΛʹ
ಉӡӦձ͕ࣾఏڙ͢Δ৽ܾࡁαʔϏεҠߦ͢Δ ͳ͔ͥʁ
ܾࡁαʔϏεҠߦΛޭͤ͞Δ ʹʁ
w ૣظʹଧͪ߹ΘͤΛ࣮ࢪ͢Δ w ࣄલʹຊ൪ڥͰಈ࡞֬ೝΛ࣮ࢪ͓ͯ͘͠ w ສ͕ҰͷࡍͷରԠϑϩʔΛ༻ҙ͓ͯ͘͠ ܾࡁαʔϏεҠߦΛޭͤ͞Δʹʁ
w ૣظʹଧͪ߹ΘͤΛ࣮ࢪ͢Δ w ࣄલʹຊ൪ڥͰಈ࡞֬ೝΛ࣮ࢪ͓ͯ͘͠ w ສ͕ҰͷࡍͷରԠϑϩʔΛ༻ҙ͓ͯ͘͠ ܾࡁαʔϏεҠߦΛޭͤ͞Δʹʁ
ૣظʹଧͪ߹ΘͤΛ࣮ࢪ͢Δ
ϖύϘ ࠓճͷҠߦʹඞཁͳରԠ αʔϏε" αʔϏε# αʔϏε$ αʔϏε% ͓͍͞Άʂ "1* ܾࡁαʔϏεӡӦձࣾ چܾࡁαʔϏε
৽ܾࡁαʔϏε ձһσʔλҠߦ͕ඞཁ ΫϨΧܾࡁߦ"1*Λ ࣾαʔϏεʹఏڙ w ܾࡁαʔϏεӡӦଆͰͷձһσʔλҠߦಉ࣌ظʹ࣮ࢪ͠ ͯΒ͏ඞཁ͕͋ͬͨ w ͦͷͨΊҠߦ࣮ࢪʹ͍ͭͯͷଧͪ߹ΘͤΛ࣮ࢪͨ͠
w ܭըҊΛ࡞͢Δஈ֊ʹ͓͍ͯ w ҠߦܭըҊΛ͚ࣗͨͪͩͰߟ͑͗͢ͳ͍ w ૣظʹܾࡁαʔϏεӡӦଆͱଧͪ߹ΘͤΛ࣮ࢪ͢Δ ૣظʹଧͪ߹ΘͤΛ࣮ࢪ͢Δ
͜ͷֶͼʹࢸΔࠓճఘΊͦ͏ʹ ͳͬͨग़དྷࣄͦͷ
w ҠߦܭըཱҊॳͷҠߦํ w αʔϏεແఀࢭͰ͔ͭ҆શʹܾࡁαʔϏεҠߦ͍ͨ͠ w ͦ͜Ͱஈ֊తͳҠߦܭըҊΛ࡞ͨ͠ ໖ີͳҠߦܭըΛཱ͍ͯͯͨ چܾࡁαʔϏε ৽چܾࡁαʔϏε ฒߦӡ༻
৽ܾࡁαʔϏε ..:: ".)).. ..:: ".))..
w ࣌ؒΛ͔͚ͯௐࠪɾݕ౼ͯ͠Ҡߦํ๏Λܭըͨ͠ w ܾࡁαʔϏεӡӦଆͱͷଧͪ߹Θͤ࣌ʹ͜ͷܭըΛఏҊ w ͔͠͠૬खଆͷγεςϜͷ্༷ͷ੍ʹҾ͔͔ͬͬͨ w ܭըҊΛݟ͟͞ΔΛ͑ͳ͔ͬͨ ఘΊͦ͏ʹͳͬͨग़དྷࣄ
w ࠷ऴతʹҎԼͷํ๏ɾఔͰҎ߱Λ࣮ࢪ w ϝϯςφϯεΛڬΈܾࡁαʔϏεΛશҠߦ͢Δ w ͔͠(8લͷ ۚ ʹҠߦΛ࣮ࢪ͢Δ ఘΊͦ͏ʹͳͬͨग़དྷࣄ چܾࡁαʔϏε
ϝϯςφϯε ͦͷؒʹձһσʔλҠߦ ৽ܾࡁαʔϏεରԠϦϦʔε ৽ܾࡁαʔϏε ". ".
w ͳ͔ͥʁ w ࡞ͨ͠Ҡߦܭը͕ඞ࣮ͣ͠ࢪͰ͖ΔͱݶΒͳ͍ w ͦͷࡍͷਫ਼ਆతμϝʔδΛݮΒͨ͢Ίʹ ૣظʹଧͪ߹ΘͤΛ࣮ࢪ͢Δ
શҠߦͤ͟ΔΛಘͳ͍ੈքઢʹ ౸ୡͨ͠զʑɺͲ͏ͬͯ͜ͷ ঢ়گΛΓͬͨͷ͔ʁ
w ૣظʹଧͪ߹ΘͤΛ࣮ࢪ͢Δ w ࣄલʹຊ൪ڥͰಈ࡞֬ೝΛ࣮ࢪ͓ͯ͘͠ w ສ͕ҰͷࡍͷରԠϑϩʔΛ༻ҙ͓ͯ͘͠ ܾࡁαʔϏεҠߦΛޭͤ͞Δʹʁ
ࣄલʹຊ൪ڥͰಈ࡞֬ೝΛ࣮ ࢪ͓ͯ͘͠
w ςετڥͰेʹಈ࡞֬ೝΛߦ্ͬͨͰ w ࣄલʹຊ൪ڥͰಈ࡞֬ೝΛ࣮ࢪɾ͓ྃͯ͘͠ ࣄલʹຊ൪ڥͰಈ࡞֬ೝΛ࣮ࢪ
ςετڥͰͷಈ࡞֬ೝ "1*ςετ 1)17$3Λར༻ Ϣχοτςετ w ·ͣςετڥͰҎԼΛ࣮ࢪɾྃͤͨ͞ w Ϣχοτςετ "1*ςετ w
"1*ར༻αʔϏε͔Βͷಈ࡞֬ೝ ࣄલʹຊ൪ڥͰಈ࡞֬ೝΛ࣮ࢪ αʔϏε" αʔϏε# αʔϏε$ αʔϏε% ͓͍͞Άʂ "1* ܾࡁαʔϏεӡӦଆ چܾࡁαʔϏε ৽ܾࡁαʔϏε
ࣄલҠߦʹຊ൪ڥͰಈ࡞֬ೝ w ͞Βʹຊ൪ڥͰҎԼΛ࣮ࢪɾྃͤͨ͞ w Ҡߦલʹࣄલʹ"1*ར༻αʔϏε͔Βͷಈ࡞֬ೝ w ೦ͷҝɺҠߦ࠷ऴಈ࡞֬ೝ ࣄલʹຊ൪ڥͰಈ࡞֬ೝΛ࣮ࢪ αʔϏε" αʔϏε#
αʔϏε$ αʔϏε% ͓͍͞Άʂ "1* ܾࡁαʔϏεӡӦଆ چܾࡁαʔϏε ৽ܾࡁαʔϏε
w αʔϏεଆͰͷಈ࡞֬ೝ͕࣌ؒతʹҰ൪ͷϘτϧωοΫ w ಈ࡞֬ೝΛ૬खʹؙ͛ͤͣ࠷ޙ·Ͱαϙʔτͨ͠ w 4MBDLʹઐ༻νϟϯωϧΛ༻ҙ͢Δ w ҰॹʹΤϥʔௐࠪ͢Δ w ࣭ʹର͢Δૣ͍Ϩεϙϯε
ಈ࡞֬ೝΛظؒͰྃͤ͞Δҝʹ
ࠓճఘΊͦ͏ʹͳͬͨ ग़དྷࣄͦͷ
Ҡߦ લ
w Ҡߦલʹࣄલʹຊ൪ڥͰಈ࡞֬ೝத w %ηΩϡΞΧʔυΛར༻ܾͨ͠ࡁॲཧ͕͏·͍͔͘ͳ͍ w ݪҼ৽ܾࡁαʔϏεܖ࣌ͷਃࠐΈ༰ϛε ఘΊͦ͏ʹͳͬͨग़དྷࣄ αʔϏε" αʔϏε# αʔϏε$
αʔϏε% ͓͍͞Άʂ "1* ܾࡁαʔϏεӡӦଆ چܾࡁαʔϏε ৽ܾࡁαʔϏε ❌ ⭕ ❌ ❌
͜ͷઃఆϛεʹؾ͍͙ͮͯ͢Ӧۀ୲ͷํʹి࿈བྷ w Ӧۀͷํʮ͜ͷઃఆมߋɺ௨ৗि͔͔ؒΓ·͢ʜʯ w ࣗͨͪʮ ऴΘͬͨʜԆظͩΘ͜Εʜ ʯ ఘΊͦ͏ʹͳͬͨग़དྷࣄ
ʜ࣌ؒޙ w Ӧۀͷํʮมߋؒʹ߹͏Α͏Ͷ͡ࠐΈ·ͨ͠ʂʯ w ࣗͨͪʮ ͏͓ʔʔʔʂʂʂʂ ʯ ఘΊͦ͏ʹͳͬͨग़དྷࣄ
w ͳ͔ͥʁ w ຊ൪ڥͰͷෆ۩߹ʹࣄલʹؾ͚ͮΔ w ࣗΛ࣋ͬͯҠߦΛܴ͑Δ͜ͱ͕Ͱ͖Δ ࣄલʹຊ൪ڥͰಈ࡞֬ೝΛ࣮ࢪ
w ૣظʹଧͪ߹ΘͤΛ࣮ࢪ͢Δ w ࣄલʹຊ൪ڥͰಈ࡞֬ೝΛ࣮ࢪ͓ͯ͘͠ w ສ͕ҰͷࡍͷରԠϑϩʔΛ༻ҙ͓ͯ͘͠ ܾࡁαʔϏεҠߦΛޭͤ͞Δʹʁ
ສ͕ҰͷࡍͷରԠϑϩʔΛ༻ҙ͠ ͓ͯ͘
w લ·Ͱʹͷ࡞ۀ༧ఆΛ࡞ w ࡞ۀ߲ຖʹສ͕ҰͷࡍʹͲ͏ରԠ͢Δ͔ߟ͓͑ͯ͘ w ͷ࡞ۀͷਐḿঢ়گʹԠ͍ͯ͡ΖΜͳέʔεΛ ສ͕ҰͷࡍͷରԠϑϩʔΛ༻ҙ͓ͯ͘͠
ࠓճఘΊͦ͏ʹͳͬͨ ग़དྷࣄͦͷ
Ҡߦ
Ҡߦ࣮ࢪͷεέδϡʔϧ ". ϝϯςφϯε։࢝ ". ϝϯςφϯεऴྃ چܾࡁαʔϏε ձһσʔλҠߦ ৽ܾࡁαʔϏεରԠϦϦʔε ࠷ऴಈ࡞֬ೝ ৽ܾࡁαʔϏε
Ҡߦ࣮ࢪͷεέδϡʔϧ ". ϝϯςφϯε։࢝ ". ϝϯςφϯεऴྃ αʔϏε" αʔϏε# αʔϏε$ αʔϏε% ͓͍͞Άʂ
ܾࡁαʔϏεӡӦଆ چܾࡁαʔϏε ৽ܾࡁαʔϏε چܾࡁαʔϏε ձһσʔλҠߦ ৽ܾࡁαʔϏεରԠϦϦʔε ࠷ऴಈ࡞֬ೝ ৽ܾࡁαʔϏε ձһσʔλ Ҡߦ
w ϝϯςφϯεதͷ࡞ۀॱௐʹਐΜͩ w ༧ఆ௨Γϝϯςφϯεऴྃͯ͠αʔϏε࠶։ w Ϣʔβʔͷܾࡁॲཧͳͦ͞͏ʂ Ҡߦ࣮ࢪͷεέδϡʔϧ
શ উར
ͦΜͳ;͏ʹߟ ͍͑ͯͨ࣌ظ͕ ʹ͋Γ·͠ ͨʜ
w ͓னલʹϝϯγϣϯ͕ඈΜͰ͖ͨʜ w ฦۚॲཧͰΤϥʔ͕ग़ΔΒ͍͠ w ʮ͓͔͍͠ͳʜฦۚॲཧಈ࡞֬ೝͯ͠ແ͔ͬͨͣ ͚ͨͲͳʜʯ શউར ͦΜͳ;͏ʹ SZ
w چܾࡁαʔϏεͰͷܾࡁʹର͢Δฦ͕ۚΤϥʔͱͳΔ w ࠓճچܾࡁαʔϏε্ͷܾࡁཤྺҠߦ͞Ε͍ͯͳ͍ w چܾࡁαʔϏεͷฦۚॲཧΛߟྀͰ͖͍ͯͳ͔ͬͨʜ શউར ͦΜͳ;͏ʹ SZ αʔϏε"
αʔϏε# αʔϏε$ αʔϏε% ͓͍͞Άʂ ܾࡁαʔϏεӡӦଆ چܾࡁαʔϏε ৽ܾࡁαʔϏε
Ͳ͏͢Δʁ
w ࣄલʹఆ͍ͯͨ͠શମΛϩʔϧόοΫ͢ΔϨϕϧͷෆ۩ ߹Ͱͳ͍ͱஅ w ͳͷͰچܾࡁαʔϏεͣ͞ରԠ͢Δ͜ͱΛܾஅ બΜͩߦಈ
w εςʔδϯάڥΛچܾࡁαʔϏεʹϩʔϧόοΫ w ඞཁ࠷খݶରԠ͔ͭͬͱ࣮֬ͳํ๏ w ฦۚॲཧͷܾࡁ࣌ͰϦΫΤετઌΛৼΓ͚ͨ w Ҏ߱ͷܾࡁ৽ܾࡁαʔϏε w ҎલͷܾࡁچܾࡁαʔϏε
Ұ෦ϩʔϧόοΫ͢Δ αʔϏε" αʔϏε# αʔϏε$ αʔϏε% ͓͍͞Άʂ ܾࡁαʔϏεӡӦଆ چܾࡁαʔϏε ৽ܾࡁαʔϏε ͓͍͞Άʂ εςʔδϯάڥ ˞ݱࡏ͓͍͞Άʂଆͷ ຊ൪ڥͷॲཧͰٵऩͯ͠मਖ਼ࡁΈ
ͱ͍͏ ͜ͱͰ
Ҡߦ ྃ
None
w ͳ͔ͥʁ w ϩʔϧόοΫ͢Δ͔Ͳ͏͔ͳͲͷஅج४͕ͯΔ w ͦͷ࣌ͷঢ়گʹԠͯ͡దͳஅ͕Մೳ ສ͕ҰͷࡍͷରԠϑϩʔΛ༻ҙ͓ͯ͘͠
·ͱΊ
w ૣظʹଧͪ߹ΘͤΛ࣮ࢪ͢Δ w ࣄલʹຊ൪ڥͰಈ࡞֬ೝΛ࣮ࢪ͓ͯ͘͠ w ສ͕ҰͷࡍͷରԠϑϩʔΛ༻ҙ͓ͯ͘͠ ܾࡁαʔϏεҠߦΛޭͤ͞Δʹʁ
w ҠߦΛఘΊͦ͏ʹͳͬͨͭͷग़དྷࣄ͕͋Γ·ͨ͠ w ͔͜͠͠ͷҠߦϓϩδΣΫτʹܞΘ͍༷ͬͯͨʑͳਓͨͪ ͷڠྗͷ͓͔͛ͰܾࡁαʔϏεΛҠߦͤ͞Δ͜ͱ͕ग़དྷ· ͨ͠ ·ͱΊ
܅ϖύϘͰಇ͔ͳ͍͔ʁ ࠷৽ͷ࠾༻ใΛνΣοΫˠ !QC@SFDSVJU