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.4k
実例から学ぶ、最後まで諦めない決済サービス移行方法/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
89
15年続くWebサービスの開発現場のイマ/muumu-development-env
litencatt
0
74
オブジェクト指向×思考×試行 / OOP x Study x Try
litencatt
1
470
とあるペパボカレッジ1期生がこの1年間で学習してきたこと / Studying to be a web engineer
litencatt
4
540
ムームードメイン ショッピングカートを支える技術! / muumuu-shopping-cart-tech
litencatt
2
5.5k
CI環境をDockerで再現する/Build the testing containers
litencatt
0
870
201612_一歩踏み出した先にあったもの
litencatt
4
1.3k
Other Decks in Technology
See All in Technology
プロダクトエンジニアとしてのマインドセットの育み方 / How to improve product engineer mindset
saka2jp
1
170
新米エンジニアをTech Leadに任命する ー 成長を支える挑戦的な人と組織のマネジメント
naopr
1
350
ゼロコード計装導入後のカスタム計装でさらに可観測性を高めよう
sansantech
PRO
1
690
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
2
250
Mackerelにおけるインシデント対応とポストモーテム - 現場での工夫と学び
taxin
0
110
戦えるAIエージェントの作り方
iwiwi
22
11k
激動の2025年、Modern Data Stackの最新技術動向
sagara
0
510
今から間に合う re:Invent 準備グッズと現地の地図、その他ラスベガスを周る際の Tips/reinvent-preparation-guide
emiki
1
270
AIでデータ活用を加速させる取り組み / Leveraging AI to accelerate data utilization
okiyuki99
6
1.7k
初海外がre:Inventだった人間の感じたこと
tommy0124
1
190
次世代のメールプロトコルの斜め読み
hirachan
3
350
20251029_Cursor Meetup Tokyo #02_MK_「あなたのAI、私のシェル」 - プロンプトインジェクションによるエージェントのハイジャック
mk0721
PRO
6
2.4k
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
140
7.2k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Writing Fast Ruby
sferik
630
62k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Documentation Writing (for coders)
carmenintech
76
5.1k
The Cost Of JavaScript in 2023
addyosmani
55
9.1k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Automating Front-end Workflow
addyosmani
1371
200k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.8k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
650
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
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