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.9k
大量購入を支える 決済トランザクション設計 / 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
26k
Other Decks in Programming
See All in Programming
ユーザーも開発者も悩ませない TV アプリ開発 ~Compose の内部実装から学ぶフォーカス制御~
taked137
0
150
知っているようで知らない"rails new"の世界 / The World of "rails new" You Think You Know but Don't
luccafort
PRO
1
110
JSONataを使ってみよう Step Functionsが楽しくなる実践テクニック #devio2025
dafujii
1
520
Namespace and Its Future
tagomoris
6
700
テストカバレッジ100%を10年続けて得られた学びと品質
mottyzzz
2
590
CloudflareのChat Agent Starter Kitで簡単!AIチャットボット構築
syumai
2
480
Improving my own Ruby thereafter
sisshiki1969
1
160
パッケージ設計の黒魔術/Kyoto.go#63
lufia
3
430
MCPとデザインシステムに立脚したデザインと実装の融合
yukukotani
4
1.4k
プロパティベーステストによるUIテスト: LLMによるプロパティ定義生成でエッジケースを捉える
tetta_pdnt
0
310
「手軽で便利」に潜む罠。 Popover API を WCAG 2.2の視点で安全に使うには
taitotnk
0
840
Swift Updates - Learn Languages 2025
koher
2
470
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.5k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Git: the NoSQL Database
bkeepers
PRO
431
66k
GraphQLとの向き合い方2022年版
quramy
49
14k
Code Review Best Practice
trishagee
70
19k
Designing for humans not robots
tammielis
253
25k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Writing Fast Ruby
sferik
628
62k
RailsConf 2023
tenderlove
30
1.2k
Why Our Code Smells
bkeepers
PRO
339
57k
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ͦͯ͠৽ͨͳϘτϧωοΫͱͷઓ͍͕࢝·͍ͬͯΔ