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
大量購入を支える 決済トランザクション設計 / EC Payment Transaction...
Search
Kazuyoshi Tsuchiya
June 24, 2020
Programming
5
1.7k
大量購入を支える 決済トランザクション設計 / EC Payment Transaction Architecture
GMO Developers Night #10 ペパボ EC テックカンファレンス 2020.06.24
https://pepabo.connpass.com/event/179445/
Kazuyoshi Tsuchiya
June 24, 2020
Tweet
Share
More Decks by Kazuyoshi Tsuchiya
See All by Kazuyoshi Tsuchiya
1年間単体テストを書き続けた現場から送る Vue Component のテスト / Vue Component Test
tsuchikazu
27
25k
Other Decks in Programming
See All in Programming
レガシーシステムにどう立ち向かうか 複雑さと理想と現実/vs-legacy
suzukihoge
14
2.2k
TypeScriptでライブラリとの依存を限定的にする方法
tutinoko
3
690
Laravel や Symfony で手っ取り早く OpenAPI のドキュメントを作成する
azuki
2
120
CSC509 Lecture 12
javiergs
PRO
0
160
RubyLSPのマルチバイト文字対応
notfounds
0
120
Contemporary Test Cases
maaretp
0
140
.NET のための通信フレームワーク MagicOnion 入門 / Introduction to MagicOnion
mayuki
1
1.7k
Quine, Polyglot, 良いコード
qnighy
4
650
シェーダーで魅せるMapLibreの動的ラスタータイル
satoshi7190
1
480
AI時代におけるSRE、 あるいはエンジニアの生存戦略
pyama86
6
1.2k
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
100
どうして僕の作ったクラスが手続き型と言われなきゃいけないんですか
akikogoto
1
120
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
109
49k
Facilitating Awesome Meetings
lara
50
6.1k
4 Signs Your Business is Dying
shpigford
180
21k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Being A Developer After 40
akosma
87
590k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
47
2.1k
Teambox: Starting and Learning
jrom
133
8.8k
Transcript
ྑ(.01FQBCP *OD (.0%FWFMPQFST/JHIUϖύϘ&$ςοΫΧϯϑΝϨϯε େྔߪೖΛࢧ͑Δ ܾࡁτϥϯβΫγϣϯઃܭ
(.0ϖύϘ&$ࣄۀ෦ςΫχΧϧϦʔυ ྑ!UTVDIJLB[V 7VFKTຊ6TFS(SPVQ$PSF4UB⒎ IUUQTUTVDIJLB[VOFU
ܾࡁτϥϯβΫγϣϯͱ Χʔτʹ͍ΕΔ ॅॴೖྗ จ֬ఆϘλϯԡ͢ จྃ
ܾࡁτϥϯβΫγϣϯͱ Χʔτʹ͍ΕΔ ॅॴೖྗ จ֬ఆϘλϯԡ͢ จྃ ͜ͷؒͷ͜ͱ
ܾࡁτϥϯβΫγϣϯͰ͍ͬͯΔ͜ͱ wͷࡏݿΛݮΒ͢ wΫϨΧͳͲͷܾࡁ"1*ͷ࣮ߦ wडσʔλͷ࡞ wϝʔϧϓογϡ௨ͳͲ
σʔλෆ߹ແ͘ େྔͷܾࡁτϥϯβΫγϣϯΛ ࡹ͖Δ
ݱ࣮తʹෆՄೳ
$"1ఆཧ Ұ؏ੑ $POTJTUFODZ Մ༻ੑ "WBJMBCJMJUZ
ωοτϫʔΫஅੑ 1BSUJUJPOUPMFSBODF wͭΛಉ࣌ʹຬͨ͢͜ͱෆՄೳ w ޠฐΛڪΕͣʹ͍͏ͱ ࢄγεςϜʹ͓͍ͯɺҰ؏ੑͱՄ༻ੑͲͪ Βຬͨ͢ͷແཧ
ྫ Ұ؏ੑΛຬͨ͢ มͳσʔλΛڐ͞ͳ͍ ͷࡏݿΛݮΒ͢ ΫϨΧͳͲͷܾࡁ"1*ͷ࣮ߦ डσʔλͷ࡞ w͜ͷதͷҰ෦͚ͩޭ͍ͯ͠Δঢ়ଶͱ͍͏ͷɺ͓͔͍͠
wશͯޭ͢Δ͔ɺશࣦͯഊʹ͢Δ͔ wͲͪΒ͔ʹͳΒͳ͚ΕͳΒͳ͍
ͦͷ݁Ռ Կ͔͕όʔϯͱ٧·༷ͬͨࢠ
Կ͕ى͖ͨʁ w৭ͷॲཧࡏݿߋ৽ͰɺߦϩοΫΛ͔͚͍ͯΔ wಉҰτϥϯβΫγϣϯͰܾࡁ"1*ΛؚΊͨશͯͷॲཧΛ࣮ࢪ wશͯͷॲཧ͕ऴΘΒͳ͍ͱɺϩοΫղআ͞Εͳ͍ ࡏݿߋ৽ ܾࡁ"1* ड࡞ ௨ͳͲ ࡏݿߋ৽ ܾࡁ"1*
ड࡞ ͪ
Ұ؏ੑΛऔΒͣʹɺ Մ༻ੑΛॏࢹͨ͠ઃܭ͕ඞཁ
#"4&ಛੑ #"ɿ#BTJDBMMZ"WBJMBCMFʢৗʹར༻Մೳʣ 4ɿ4PGUTUBUFʢҰ࣌తʹҰ؏ੑͷͳ͍ঢ়ଶΛڐ༰ʣ &ɿ&WFOUVBM$POTJTUFODZʢଈ࣌Ͱͳ݁͘Ռ߹ੑΛऔΔʣ wΞϓϦέʔγϣϯͷϨΠϠʔͰσʔλ߹ੑͷ୲อ͢Δઓུ wதࠃͰΞϦϖΠɺຊͰϝϧϖΠͳͲͳͲʜ
࣮ࡍʹΧϥʔϛʔͰ ࣮ફ͍ͯ͠Δ͜ͱ
ܾࡁτϥϯβΫγϣϯॲཧͷࡉԽ wࡏݿΛݮΒͨ͠λΠϛϯάͰɺͦΕ͚ͩDPNNJUͯ͠͠·͓͏ ࡏݿߋ৽ ܾࡁ"1* ड࡞ ௨ͳͲ ࡏݿߋ৽ ܾࡁ"1* ड࡞ ௨ͳͲ
ͪ
ܾࡁτϥϯβΫγϣϯॲཧͷࡉԽ wޙड़͢ΔิঈτϥϯβΫγϣϯ͕ෳࡶԽ͢ΔͨΊɺͳΔ͘࠷খ wҎԼͷ߹ɺࡉԽཁૉͱͯ͠ߟ͑Δͱྑ͍ wϩοΫ͕ൃੜ͢Δ෦ w֎෦"1*ϦΫΤετ͢Δ෦
ิঈτϥϯβΫγϣϯ wલʹਐΊΒΕͳ͍߹ɺࠓ·Ͱ࣮ߦ͖ͯͨ͠ૢ࡞ΛҰ͖ͪΜͱϩʔ ϧόοΫ͢Δඞཁ͕͋Δ wࣦഊ͢Δͱ݁Ռ߹ੑ͕ͱΕͳ͘ͳΔͨΊɺϦΧόϦʔՄೳʹ͢Δ wϦτϥΠՄೳ wႈੑ ͋ͬͨ΄͏͕҆৺
ิঈτϥϯβΫγϣϯ ࡏݿߋ৽ ܾࡁ"1* ड࡞ ௨ͳͲ SPMMCBDL ࡏݿߋ৽ SPMMCBDL ܾࡁ"1* Τϥʔ͕ى͖ͨͱ͖
SFUSZ SFUSZ
ิঈτϥϯβΫγϣϯ ࡏݿߋ৽ ܾࡁ"1* ड࡞ ௨ͳͲ SPMMCBDL ࡏݿߋ৽ SPMMCBDL ܾࡁ"1* SFUSZ
SFUSZ λΠϜΞτൃੜ࣌ɺ ޭ͍ͯ͠Δ͔ࣦഊ͍ͯ͠Δ͔Θ͔Βͳ͍ Ұఆ࣌ؒޙʹܾࡁͷঢ়ଶΛ֬ೝͯ͠ SPMMCBDL
σʔλಥ߹ʢ3FDPODJMFʣ wσʔλ߹ੑ͕ͪΌΜͱऔΕͯΔ͔Ͳ͏͔ʹ͍ͭͯɺԿΒ͔ͷํ๏Ͱ ֬ೝ͘͠ϞχλϦϯά͢Δඞཁ͕͋Δ
σʔλಥ߹ʢ3FDPODJMFʣ wܾࡁͱจͷσʔλ͕Ұக͢Δ͔͕ɺ࠷ॏཁ wࣗಈͰݕɺ͙͢ʹରԠ͢ΔΈԽ͕ඞཁ w࣌όονͰJTTVF͕࡞͞Εɺ߹ੑΛอͭΞΫγϣϯ
ͦͷ݁Ռͱࠓޙ wຖʹࡹ͚ΔܾࡁτϥϯβΫγϣϯɺ͜ΕΛ͢Δ͚ͩͰഒҎ্ wεέʔϧΞτՄೳͳঢ়ଶ wLTͰͷΦʔτεέʔϧϦιʔεͷ༗ޮ׆༻ w࣍ͷϘτϧωοΫͷΞϓϩʔν w%#ͷίωΫγϣϯΓͳ͘ͳΒͳ͍Α͏ʹɺڞ༗%#͔Βͷ٫ wܾࡁ"1*ͷෛՙࢄͷͨΊඇಉظԽ
·ͱΊ wେྔߪೖΛࡹ͘ʹɺҰ؏ੑͷͳ͍ঢ়ଶΛڐ༰ͯ͠ɺ݁Ռ߹ੑΛͱ Δඞཁ͕͋Δ wܾࡁτϥϯβΫγϣϯͷࡉԽ wิঈτϥϯβΫγϣϯ wσʔλಥ߹ wͦͯ͠৽ͨͳϘτϧωοΫͱͷઓ͍͕࢝·͍ͬͯΔ