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
ネットスーパーの買い物体験を支える工夫と決済機能実現の過程
Search
yamarkz
November 30, 2022
Technology
0
1.8k
ネットスーパーの買い物体験を支える工夫と決済機能実現の過程
泥臭くも価値を届ける決済の仕組みと工夫 by 10X + CAMPFIRE + Kanmu
https://kanmu.connpass.com/event/266209/
yamarkz
November 30, 2022
Tweet
Share
More Decks by yamarkz
See All by yamarkz
Flutter/Dartと共に歩んだスタートアップの開発を振り返って得た、成功と失敗の教訓
yamarkz
5
3.2k
Bloc PatternにおけるBloc分割の方針と実践例 / Division plan and practical example in bloc pattern
yamarkz
7
28k
Smart Contract Design Pattern
yamarkz
4
2.8k
トークンの概要と開発観点から見たICO / Token and TokenSale
yamarkz
5
61k
Zilliqa Next Gen High Throughput Blockchain Platform
yamarkz
0
2.2k
詳解 Ethereum Transaction / detail ethereum transaction
yamarkz
5
2.7k
Proof of Stake Casper
yamarkz
8
13k
Blockchain R&D Introduction
yamarkz
2
51k
Bitcoin Improvement Flow
yamarkz
5
4.5k
Other Decks in Technology
See All in Technology
手を動かしてレベルアップしよう!
maruto
0
170
Cracking the Coding Interview 6th Edition
gdplabs
14
28k
PHPで印刷所に入稿できる名札データを作る / Generating Print-Ready Name Tag Data with PHP
tomzoh
0
180
アジャイルな開発チームでテスト戦略の話は誰がする? / Who Talks About Test Strategy?
ak1210
1
400
偏光画像処理ライブラリを作った話
elerac
1
160
OPENLOGI Company Profile
hr01
0
60k
AWS Well-Architected Frameworkで学ぶAmazon ECSのセキュリティ対策
umekou
2
130
「正しく」失敗できる チームの作り方 〜リアルな事例から紐解く失敗を恐れない組織とは〜 / A team that can fail correctly
i35_267
4
780
Raycast AI APIを使ってちょっと便利な拡張機能を作ってみた / created-a-handy-extension-using-the-raycast-ai-api
kawamataryo
0
210
エンジニアが加速させるプロダクトディスカバリー 〜最速で価値ある機能を見つける方法〜 / product discovery accelerated by engineers
rince
4
550
CDKのコードを書く環境を作りました with Amazon Q
nobuhitomorioka
1
160
AIエージェント入門
minorun365
PRO
30
16k
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
182
22k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
A Philosophy of Restraint
colly
203
16k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
BBQ
matthewcrist
87
9.5k
How STYLIGHT went responsive
nonsquared
98
5.4k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
Building Applications with DynamoDB
mza
93
6.2k
Writing Fast Ruby
sferik
628
61k
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.