Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
ネットスーパーの買い物体験を支える工夫と決済機能実現の過程
Kazuki YAMAGUCHI
PRO
November 30, 2022
Technology
0
1.3k
ネットスーパーの買い物体験を支える工夫と決済機能実現の過程
泥臭くも価値を届ける決済の仕組みと工夫 by 10X + CAMPFIRE + Kanmu
https://kanmu.connpass.com/event/266209/
Kazuki YAMAGUCHI
PRO
November 30, 2022
Tweet
Share
More Decks by Kazuki YAMAGUCHI
See All by Kazuki YAMAGUCHI
Flutter/Dartと共に歩んだスタートアップの開発を振り返って得た、成功と失敗の教訓
yamarkz
PRO
6
2.6k
Bloc PatternにおけるBloc分割の方針と実践例 / Division plan and practical example in bloc pattern
yamarkz
PRO
8
26k
Smart Contract Design Pattern
yamarkz
PRO
4
2.4k
トークンの概要と開発観点から見たICO / Token and TokenSale
yamarkz
PRO
5
60k
Zilliqa Next Gen High Throughput Blockchain Platform
yamarkz
PRO
0
1.8k
詳解 Ethereum Transaction / detail ethereum transaction
yamarkz
PRO
6
2.3k
Proof of Stake Casper
yamarkz
PRO
9
13k
Blockchain R&D Introduction
yamarkz
PRO
2
50k
Bitcoin Improvement Flow
yamarkz
PRO
5
4.1k
Other Decks in Technology
See All in Technology
あつめたデータをどう扱うか
skrb
2
160
オブザーバビリティのベストプラクティスと弥生の現状 / best practices for observability and YAYOI’s current state
yayoi_dd
0
100
2年で10→70人へ! スタートアップの 情報セキュリティ課題と施策
miekobayashi
1
630
IoTを始めたきっかけの話と個人でできるIoTの今後 / 新年LT会「私の愛するIoT 2023」
you
0
230
書籍を書きました。 そう、VS Codeで。
takumanakagame
4
4.5k
OCI DevOps 概要 / OCI DevOps overview
oracle4engineer
PRO
0
500
PCI DSS に準拠したシステム開発
yutadayo
0
310
S3とCloudWatch Logsの見直しから始めるコスト削減 / Cost saving S3 and CloudWatch Logs
shonansurvivors
0
250
OpenShiftのリリースノートを整理してみた
loftkun
2
390
地方自治体業務あるある ーアナログ最適化編-
y150saya
1
270
PCL (Point Cloud Library)の基本となぜ点群処理か_2023年_第2版.pdf
cvmlexpertguide
0
170
Multi-Cloud Gatewayでデータを統治せよ!/ Data Federation with MCG
tutsunom
1
300
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
643
54k
Optimizing for Happiness
mojombo
365
64k
A Philosophy of Restraint
colly
193
15k
Writing Fast Ruby
sferik
613
58k
Fontdeck: Realign not Redesign
paulrobertlloyd
74
4.3k
Robots, Beer and Maslow
schacon
154
7.3k
A designer walks into a library…
pauljervisheath
199
16k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
32
6.7k
What's new in Ruby 2.0
geeforr
336
30k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
22
1.7k
Thoughts on Productivity
jonyablonski
49
2.7k
Code Review Best Practice
trishagee
50
11k
Transcript
©10X, Inc. All Rights Reserved. ωοτεʔύʔͷങ͍ମݧΛࢧ͑Δͱ ܾࡁػೳ࣮ݱͷաఔ 1 టष͘ՁΛಧ͚ΔܾࡁͷΈͱ /
10X, inc. yamarkz
©10X, Inc. All Rights Reserved. 2 ࣗݾհ Kazuki Yamaguchi yamakazu
(@yamarkz) Software Engineer at 10X, inc. Flutter, Dart, Kubernetes, Architecture ͡Ίʹ
©10X, Inc. All Rights Reserved. 10Xʹ͍ͭͯ • খചΓνΣʔϯ͚ECϓϥοτϑΥʔϜ Stailerͷ։ൃӡ༻ •
খചࣄۀऀ༷͚ʹωοτεʔύʔɾωοτυϥοάετΞࣄۀͷ্ཱͪ͛Λࢧԉ • αʔϏείϯηϓτʮຖͷੜ׆Λࢧ͑Δങ͍ʹ৽ͨͳબࢶΛʯ 3 ͡Ίʹ
©10X, Inc. All Rights Reserved. ࠓͷͷίϯηϓτ • ങ͍ମݧΛ࣮ݱ͢ΔͨΊʹࢪͨ͠ • ωοτεʔύʔʹ͓͚ΔܾࡁػೳͷಛͱΈ
• ܾࡁػೳͷ࣮աఔͱ࣮දݱ 4 10XͷϓϩμΫτͰ͋ΔStailerΛࡐʹɺࣗͨͪͳΓͷܾࡁػೳͷ࣮աఔΛհ͠·͢ɻ ෳࡶͳܾࡁ੍ޚ͕ඞཁͱ͞ΕΔϓϩμΫτͷ։ൃʹऔΓΉํͷࢀߟʹͳΔΑ͏ͳʹ·ͱΊ·ͨ͠ɻ ͡Ίʹ
©10X, Inc. All Rights Reserved. ͷݩωλ 5 10X Product BlogͰΧʔυܾࡁॲཧͷ͠͞ʹ͍ͭͯհ͢ΔهࣄΛॻ͖·ͨ͠ɻ
͜͜Ͱͷ༰ɺΑΓ։ൃʹϑΥʔΧεΛͯͨ༰ʹͳ͍ͬͯ·͢ɻ ͡Ίʹ
©10X, Inc. All Rights Reserved. ΞτϥΠϯ 1.ωοτεʔύʔʹ͓͚Δങ͍ମݧͷಛͱจૢ࡞ 2.Stailerʹ͓͚Δܾࡁૢ࡞ͷϞσϦϯάͱ࣮ 6 ͡Ίʹ
©10X, Inc. All Rights Reserved. 7 ωοτεʔύʔʹ͓͚Δങ͍ମݧͷಛͱจૢ࡞
©10X, Inc. All Rights Reserved. ωοτεʔύʔͷങ͍ମݧͷಛ 8 ωοτεʔύʔʹ͓͚Δങ͍ମݧͷಛͱจૢ࡞ ҰൠతͳEC ωοτεʔύʔ
ߪೖ 2~3 20Ҏ্ จૢ࡞ จมߋͳ͠ จมߋ͋Γ ࡏݿཧ Εൃੜͳ͠ Εൃੜ͋Γ ཧ ෆඋՄೳੑ ෆඋՄೳੑߴ • ಛͱͯ͠ߪೖͷଟ͞ɺจૢ࡞ͷॊೈੑ (≒ෆ࣮֬ੑ)ɺࡏݿෆ࣮֬ੑɺෆ࣮֬ੑ͕͋Δ • ωοτεʔύʔҰൠతͳECαʔϏε (Amazon, Yahooγϣοϐϯά) ͱൺͯɺෆ࣮֬ͳཁҼ͕ଟ͍
©10X, Inc. All Rights Reserved. ωοτεʔύʔͷओͳϢʔεέʔε 9 ωοτεʔύʔʹ͓͚Δങ͍ମݧͷಛͱจૢ࡞ ωοτεʔύʔͷओͳϢʔεέʔεɺ”ੜ৯ΛؚΉ20Ҏ্ͷ·ͱΊങ͍” ར༻Ձ͕ߴ͍ҰํͰɺར༻ϋʔυϧߴ͍ɻʮࠓ͔Β20Ҏ্ͷΛબΜͰങ͑·͔͢…ʁʯ
(ࢀর) https://10x.co.jp/blog/10xblog/to-c-product-growth/
©10X, Inc. All Rights Reserved. ωοτεʔύʔͷओͳϢʔεέʔε 10 ωοτεʔύʔʹ͓͚Δങ͍ମݧͷಛͱจૢ࡞ ར༻ϋʔυϧΛԼ͛Δͷ1ͭ ”จมߋ”
1จͨ͠ޙʹɺมߋՄೳظؒͰ͋ΕԿͰมߋՄೳʹ ʮΕͯͨΞϨങ͍͍ͨ͠ʯʮྫྷଂݿʹ͔͋ͬͨΒͬͺΓങ͏ͷΊ͍ͨʯ͕Ͱ͖Δ ٯʹ1จͨ͠Βม͑ΒΕͳ͍ͱ͍͏ෆՄٯͳจૢ࡞ɺར༻ϋʔυϧߴ͍ = จૢ࡞ͷॊೈੑ͕ٻΊΒΕ͍ͯΔ (ࢀর) https://10x.co.jp/blog/10xblog/to-c-product-growth/
©10X, Inc. All Rights Reserved. จૢ࡞ͱܾࡁૢ࡞ 11 ωοτεʔύʔʹ͓͚Δങ͍ମݧͷಛͱจૢ࡞ ͳͥɺܾࡁͷͰઌʹจૢ࡞ͷΛ͢Δͷ͔ʁ จͱܾࡁ͕ີ݁߹Ͱɺ”ܾࡁจֹۚʹґଘ͢Δ”
͔Β ͭ·Γɺจૢ࡞Ͱॊೈੑ͕ٻΊΒΕΔͳΒɺܾࡁૢ࡞ʹॊೈੑ͕ٻΊΒΕΔͱ͍͏͜ͱ ܾࡁૢ࡞ΛॊೈʹͰ͖ͳ͚Εɺॊೈͳจૢ࡞Λ࣮ݱ͢Δ͜ͱͰ͖ͳ͍ 🙅 ͜ͷॊೈͳจૢ࡞Λ࣮ݱ͢ΔͨΊʹɺܾࡁૢ࡞ΛͲ͏දݱ͢Δͷ͔͕ຊ ༷ʑͳΛࢪܾͯ͠ࡁػೳͷ։ൃΛ͖͕ͯͨ͠ɺࠓճ͜ͷॊೈͳจૢ࡞ͷΛਂ΅Δ
©10X, Inc. All Rights Reserved. 12 Stailerʹ͓͚Δܾࡁૢ࡞ͷϞσϦϯάͱ࣮
©10X, Inc. All Rights Reserved. ॊೈͳܾࡁૢ࡞ͷ࣮ݱΛࢦͯ͠ 13 ॊೈͳจૢ࡞Λ࣮ݱ͢ΔͨΊʹɺܾࡁૢ࡞ͷॊೈੑ͕୲อ͞Ε࣮ͨΛࢦ͢͜ͱʹɻ ͱͱ͋ͬͨػೳΛকདྷతͳ֦ுੑΛߟྀͯ͠ϦϑΝΫλϦϯά͢Δγʔϯ͕ۙ͋Γɺ
࣮ࡍʹऔΓΜͩϞσϦϯάΛऔΓ্͛ɺ͞Βʹ۩ମͷ࣮දݱ͕Ͳ͏ͳͬͨͷ͔Λࣔ͠·͢ɻ ͳ͓ɺ͜͜ͰͷϞσϦϯάػೳ։ൃͷϞσϦϯάͰ͋ΓɺσʔλϞσϦϯάͰ͋Γ·ͤΜɻ ܾࡁػೳ֎෦ͷܾࡁߦձࣾΛར༻͍ͯ͠·͢ɻ Stailerʹ͓͚Δܾࡁૢ࡞ͷϞσϦϯάͱ࣮
©10X, Inc. All Rights Reserved. จঢ়ଶͷมભͱܾࡁૢ࡞ͷશମ૾ 14 Stailerʹ͓͚Δܾࡁૢ࡞ͷϞσϦϯάͱ࣮ จલ จྃ
Ωϟϯηϧ ४උ ୡྃ ࢧ֬ఆ จมߋ Stailerͷจঢ়ଶͷมભΛநԽͯ͠දݱ͢Δ จมߋ
©10X, Inc. All Rights Reserved. จঢ়ଶͷมભͱܾࡁૢ࡞ͷશମ૾ 15 Stailerʹ͓͚Δܾࡁૢ࡞ͷϞσϦϯάͱ࣮ จલ จྃ
Ωϟϯηϧ ४උ ୡྃ ࢧ֬ఆ จมߋ จมߋ จঢ়ଶͷมભʹ߹ΘͤͯݺΕΔܾࡁૢ࡞ͷΠϕϯτΛϚοϐϯά 4ͭͷૢ࡞ύλʔϯɺ6ͭͷૢ࡞γʔϯ ΦʔιϦ Ωϟϯηϧ ࠶ΦʔιϦ ࠶ΦʔιϦ Ωϟϓνϟʔ
©10X, Inc. All Rights Reserved. ܾࡁૢ࡞ͷ3ͭͷม 16 શମΛ၆ᛌͭͭ͠ৄࡉΛੳ͢Δͱɺܾࡁૢ࡞3ͭͷมͰܾఆ͢Δ͜ͱ͕ݟ͖͑ͯͨ 1. ܾࡁૢ࡞Λߦ͏จ຺
(create, update, cancel, finalize) 2. ݱࡏͷࢧֹ͍ۚ (0ҎԼ, 1Ҏ্) 3. ݱࡏͷΦʔιϦऔಘঢ়گ (ະऔಘ, औಘෆཁ, औಘࡁΈ, ΩϟϯηϧࡁΈ) Stailerʹ͓͚Δܾࡁૢ࡞ͷϞσϦϯάͱ࣮
©10X, Inc. All Rights Reserved. ܾࡁૢ࡞ͷ3ͭͷม 17 ͳͥɺ͜ͷ3ͭͷมͩͱݴ͍ΕΔͷ͔ʁ ఆ͢ΔશͯͷϢʔεέʔεͰԿͷܾࡁૢ࡞Λબ͢Δ͖͔Λઆ໌Ͱ͖Δ͔Β ྫ1.
ΦʔιϦΛऔಘ͢Δ จ࡞ͷίϯςΩετ(1), ࢧֹ͍͕ۚ2800ԁ(2), ΦʔιϦ͕ະऔಘ(3) => ΦʔιϦΛऔಘ͢Δ ྫ2. ΦʔιϦΛߋ৽͢Δ จมߋͷίϯςΩετ(1), ࢧֹ͍͕ۚ4700ԁ(2), ΦʔιϦऔಘࡁΈ(3), => ΦʔιϦΛ࠶औಘ͢Δ Stailerʹ͓͚Δܾࡁૢ࡞ͷϞσϦϯάͱ࣮
©10X, Inc. All Rights Reserved. ܾࡁͷঢ়ଶભҠͱΞΫγϣϯ 18 ܾࡁঢ়ଶʹભҠ͕͋ΔͷͰɺঢ়ଶભҠਤΛఆٛ Ͳͷঢ়ଶͰԿͷΞΫγϣϯ͕औΕΔͷ͔ɺͦͷ݁ՌͲͷঢ়ଶʹมΘΔͷ͔Λ໌จԽͨ͠
Stailerʹ͓͚Δܾࡁૢ࡞ͷϞσϦϯάͱ࣮
©10X, Inc. All Rights Reserved. ܾࡁૢ࡞ͷύλʔϯཧ 19 3ͭͷมͱঢ়ଶભҠͷཧΛܦͯɺૢ࡞ͷύλʔϯԽΛࢼΈΔ ݁Ռͱͯ͠32ύλʔϯͷૢ࡞Λચ͍ग़͢͜ͱ͕Ͱ͖ͨ
ίϯςΩετ (4) * ࢧֹ͍ۚ (2) * ΦʔιϦঢ়گ (4) = 32ύλʔϯ… 🤯 Stailerʹ͓͚Δܾࡁૢ࡞ͷϞσϦϯάͱ࣮
©10X, Inc. All Rights Reserved. ܾࡁૢ࡞ͷ࣮ 20 ͜͜·Ͱ͕ϞσϦϯάͷɻ͜ͷϞσϦϯάͰཧͰ͖ͨ༰Λݩʹ࣮Λߦ͏ ચ͍ग़ͤͨ32ύλʔϯͷذΛ۪ʹ࣮͢Δͷ͔…? ͑No.
🙅 อकੑ, Մಡੑ, ςετ༰қੑΛඋ࣮͑ͨΛࢦ͠ɺߏԽ͞ΕͨΫϥεઃܭΛࢼΈΔ Stailerʹ͓͚Δܾࡁૢ࡞ͷϞσϦϯάͱ࣮
©10X, Inc. All Rights Reserved. ܾࡁૢ࡞ͷ࣮ 21 Stailerʹ͓͚Δܾࡁૢ࡞ͷϞσϦϯάͱ࣮ ࣗͨͪͷΫϥεઃܭͷ͑
©10X, Inc. All Rights Reserved. ܾࡁૢ࡞ͷ࣮ 22 Stailerʹ͓͚Δܾࡁૢ࡞ͷϞσϦϯάͱ࣮ PaymentTransaction
©10X, Inc. All Rights Reserved. ܾࡁૢ࡞ͷ࣮ 23 Stailerʹ͓͚Δܾࡁૢ࡞ͷϞσϦϯάͱ࣮ ԿΛ࣮ߦ͢Δ͔ΛӅṭ͢ΔPaymentTransaction
Public InterfaceexecuteͱrollbackͷΈ ܾࡁૢ࡞ͷΛ୯ҰΫϥεͰදݱ͢Δૂ͍ 1Ϋϥε͋ͨΓ60~80ߦͰऩ·Δ
©10X, Inc. All Rights Reserved. ܾࡁૢ࡞ͷ࣮ 24 Stailerʹ͓͚Δܾࡁૢ࡞ͷϞσϦϯάͱ࣮ Factory
©10X, Inc. All Rights Reserved. ܾࡁૢ࡞ͷ࣮ 25 Stailerʹ͓͚Δܾࡁૢ࡞ͷϞσϦϯάͱ࣮ ͲΕΛ࣮ߦ͢Δͷ͔ΛӅṭ͢ΔFactory
Public InterfacecreateͷΈ ύλʔϯબ(ذॲཧ)ΛΧϓηϧԽ͢Δૂ͍ શମͰ150ߦɺ1ϝιου͋ͨΓ࠷େ20ߦ΄Ͳ
©10X, Inc. All Rights Reserved. ܾࡁૢ࡞ͷ࣮ 26 Stailerʹ͓͚Δܾࡁૢ࡞ͷϞσϦϯάͱ࣮ UseCase
©10X, Inc. All Rights Reserved. ܾࡁૢ࡞ͷ࣮ 27 Stailerʹ͓͚Δܾࡁૢ࡞ͷϞσϦϯάͱ࣮ executeͱrollbackΛݺͼग़͚ͩ͢ͷUseCase
۩ମͷखଓॲཧΛΒͳͯ͘Α͘͢Δૂ͍ ʮΠϯλʔϑΣʔεʹରͯ͠ϓϩάϥϛϯά͢Δʯ વΔ͖ݺͼग़͠λΠϛϯάͰϝιουΛݺͼग़͚ͩ͢
©10X, Inc. All Rights Reserved. ܾࡁૢ࡞ͷ࣮ 28 Stailerʹ͓͚Δܾࡁૢ࡞ͷϞσϦϯάͱ࣮ ΫϥεઃܭΛ3ͭͷΓޱͰऔΓ্͖͛ͯ·ͨ͠
©10X, Inc. All Rights Reserved. ϞσϦϯάͱ࣮ʹΑͬͯಘΒΕͨͷ 29 Stailerʹ͓͚Δܾࡁૢ࡞ͷϞσϦϯάͱ࣮ • ඞਢཁ݅Ͱ͋ͬͨɺܾࡁػೳͷॊೈੑύλʔϯΛཏ͢Δ͜ͱͰ࣮ݱͰ͖ͨ
• ϞσϦϯάաఔͰੜΈग़ͨ͠Ռ (ύλʔϯද, ঢ়ଶભҠਤ, γʔέϯεਤ) Λݩʹ ੜΈग़ͨ͠ίʔυɺอकੑ, Մಡੑ, ςετ༰қੑ͕උΘͬͨ • ෳਓͰڠྗͯ͠औΓΜͩ͜ͱͰɺ։ൃӡ༻ऀͷՄ༻ੑಘΒΕͨ
©10X, Inc. All Rights Reserved. 30 ·ͱΊ
©10X, Inc. All Rights Reserved. ·ͱΊ 31 ωοτεʔύʔͷങ͍ମݧΛࢧ͑Δͱܾࡁػೳ࣮ݱͷաఔ • ωοτεʔύʔͷങ͍ମݧΛࢧ͑Δͷ1͕ͭจมߋ
• ॊೈͳจૢ࡞Λ࣮ݱ͢ΔͨΊʹɺܾࡁૢ࡞ͷॊೈੑ͕ඞཁ • StailerͰ32ύλʔϯͷܾࡁૢ࡞Λݟग़ͨ͠ • υϝΠϯͷෳࡶͳ՝Λ۪ʹటष͘ϞσϦϯάΛॏͶͯղܾʹ͔͍ͬͯΔ
©10X, Inc. All Rights Reserved. 32 ࠷ޙʹ
©10X, Inc. All Rights Reserved. We are Hiring!! 10XͰ͓٬༷ͷཧͷମݧ͔Βٯࢉͯ͠ɺॏେͳΠγϡʔ͔Β࢝·Δ։ൃʹऔΓΊ·͢ ෳࡶͳυϝΠϯͰటष͘ߟ͑ൈ͘͜ͱେมͰ͕͢໘ന͍Ͱ͢Α
33 ࠷ޙʹ https://10x.co.jp/recruit/
©10X, Inc. All Rights Reserved. 34 End.