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
支払い.comのアーキテクチャについて
Search
satoshi mizumura
July 15, 2022
0
310
支払い.comのアーキテクチャについて
satoshi mizumura
July 15, 2022
Tweet
Share
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
28
4k
How to Ace a Technical Interview
jacobian
273
22k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
66
14k
In The Pink: A Labor of Love
frogandcode
138
21k
StorybookのUI Testing Handbookを読んだ
zakiyama
13
4.6k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
Clear Off the Table
cherdarchuk
85
310k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
Building Applications with DynamoDB
mza
88
5.6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
22
1.6k
A Tale of Four Properties
chriscoyier
153
22k
Transcript
ࢧ͍DPNͷΞʔΩςΫνϟʹ͍ͭͯ
ࣗݾհ גࣜձࣾ614*%&3ΤϯδχΞਫଜහࢤ όοΫΤϯυपΓΛओʹ୲ ,PUMJO͝Ζ͔Β͍ͬͯ·͢ ٕज़ॻయͰ4FSWFSTJEF,PUMJOͷຊΛ൦͠ ·ͨ͠ʢ4QSJOH#PPUͱ,UPSʣ
҆৺ɾ҆શͷӡӦ ɾΫϨσΟηκϯʢ౦ূҰ෦ʣͱڞಉӡӦ ɾແ୲อɺࡒॾදͳͲͷػີใෆཁ ɾৼࠐ໊ࢦఆՄɻऔҾઌʹར༻όϨͳ͍ ͓ಘ ɾखྉݻఆ
ɾ࠷େɺࢿۚ܁ΓΛվળ ૣͯ͘؆୯ ɾඵͰࢧ͍ྃ ɾӦۀޙͷࢧ͍͔Βར༻Մೳ
ૣͯ͘؆୯ɿεςοϓɺඵͰࢧ͍ྃ 4UFQ 8FC͔ΒϢʔβʔొ 4UFQ ͓ࢧ͍ใͷೖྗ 4UFQ ΧʔυͰ͓ࢧ͍ YYYY ΧϒγΩΨΠγϟ614*%&3
ԁ ԁ ԁ 614*%&3 ຊ ී௨ ϛϠΪτΦϧ YYYYYYYYYYYY YYY .*:"(*5036 ར༻ՄೳͳΫϨδοτΧʔυ ৼࠐՄೳͳ͓ࢧ͍ઌ શͯͷۜߦৼࠐ ྫʣ ɾਓ݅අ ɾՈ ɾೖΕඅ༻ ɾऔҾઌͷৼࠐ
݄ʹϓϩδΣΫτ͕࢝·Δ ։ൃ͕ελʔτͨ͠ͷ݄͔Β ˔ ڥߏஙઌߦ݄ͯ͠಄ࠒ͔Β։࢝ ݄ͷϦϦʔεΛࢦͯ͠ؤுΔ ˔ ݁Ռతʹ݄ʹϦϦʔεͨ͠ ˔ ཧ༝֎෦γεςϜͷຊ൪ڥߏஙΛ͍ͬͯͨͨΊ
˔ γεςϜࣗମ݄಄ʹग़དྷ্͕͍ͬͯͨ ։ൃظ͕ؒϲ݄ͳͷͰٸ͍Ͱ։ൃ͢Δඞཁ͕͋Δ ˔ ্هͷཧ༝ʹΑΓϦϦʔε͘ͳ͕݄ͬͨʹ͍͍ͩͨؒʹ߹ͬͨ
৽͍͠ϏδωεϞσϧͳͷͰૣ͘ݕূ͍ͨ͠ Δ͜ͱɺΒͳ͍͜ͱΛ࠷ॳʹܾΊͨ ࡞ΔػೳΛ࠷খݶʹ͢Δʢ.71ʹߜΔʣ ߴ͔ͭߴ࣭ʹ։ൃ͢Δମ੍Λ͑Δ
࣌ͷ։ൃମ੍ʢ݄ʙ݄ʣ ϑϩϯτΤϯυ ˔ ໊ όοΫΤϯυ ˔ ʙ໊ʢεϙοτͰΠϯϑϥߏஙΛखͬͯΒͬͨΓͨ͠ʣ σβΠϯ ˔ ໊
ϏδωεαΠυ ˔ ໊ʢ$00͕୲ʣ ϑϧλΠϜͷΤϯδχΞ໊ͷΈʢʣ
։ൃελΠϧʹ͍ͭͯʢʣ ΤϯδχΞͷࡋྔ͕ͱͯେ͖͍ ˔ 614*%&3ΤϯδχΞυϦϒϯͳ৫ͳͨΊΤϯδχΞ͕ଟ͘ͷܾఆݖΛ͍࣋ͬͯΔ ˔ νʔϜϏϧσΟϯάͱ࠾༻ʹΤϯδχΞ͕ݖݶͱΛ࣋ͭ جຊతʹແବͳ͜ͱҰΒͳ͍͠ɺࣗ༝ʹ͍ͬͯΔ ˔ ໘ͳௐ͝ͱͳͲ͕΄΅ൃੜ͠ͳ͍ͷͰɺܾΊͨΒ͙͢ΕΔڥ͕͍ͬͯΔ ˔
୭͔ʹԿ͔Λཧ͞ΕΔ͜ͱͳ͍ͷͰࣗ༝ʹಇ͍͍ͯΔʢࢠڙͷΑ͏ʹѻΘͳ͍ʣ εΫϥϜͰͳ͍ ˔ ϑϧϦϞʔτɺϑϧϑϨοΫεɺίΞλΠϜͳ͠ɺ෭ۀϝϯόʔଟΊͩͱεΫϥϜద༻ͮ͠Β͍
։ൃελΠϧʹ͍ͭͯʢʣ νʔϜͷਓ͕গͳ͍ͷͰཧίετ͕͔͔Βͳ͍ํ๏ʹͨ͠ ˔ (PPHMFTQSFBETIFFUͰλεΫΛཧ͚ͨͩ͠ ˔ ͦͦ͋·ΓཧΛͨ͘͠ͳ͍ʢΈΜͳ༏ल͔ͩΒͪΌΜͱՌΛग़ͤΔͱ͍͏લఏʣ ϛʔςΟϯάجຊతʹिճͷఆྫͷΈ ˔ ίϛϡχέʔγϣϯ4MBDLϕʔεͳͷͰجຊతʹඇಉظͰɺඞཁʹԠͯ͡NFFUͳͲͰձ͍ͯ͠Δ ˔
σΠϦʔͷϛʔςΟϯάͳͲଘࡏ͠ͳ͍ ։ൃϒϥϯνϚʔδɺςετɺϦϦʔεΛߴͰճ͢ ˔ ݱࡏ࠷Ͱिʹճຊ൪ϦϦʔε͍ͯ͠Δ ˔ ΤϯδχΞੵۃతʹςετʹࢀՃ͢ΔΑ͏ʹ͍ͯ͠Δ ˔ ΤϯδχΞࣗͷ࡞ͬͨͷʹΛ͖࣋ͭͰɺςετͬͨ΄͏͕͍͍ͱ͍͏ߟ͕͑͋Δ
λεΫΛཧ͍ͯͨ͠TQSFBETIFFU
ٕज़બఆ ૣ͘։ൃͰ͖ͯγϯϓϧͳߏΛࢦͨ͠ ˔ ׳Ε͍ͯΔ($1Λ࠾༻ ˔ $MPVE3VOΛ࠾༻ʢσϓϩΠָ͕ɺཧͷඞཁ͕΄΅ແ͍ͨΊʣ ݟͷ͋Δ,PUMJO,UPS&YQPTFEΛ࠾༻ʢϑϩϯτ/VYUKTͰɺݱࡏ/FYUKTʹҠߦʣ ˔ Χʔυଆͱಉٕ͡ज़ελοΫʹͨ͠ʢΧʔυଆͷΤϯδχΞʹॿ͚ͯΒ͏ఆΛͨ͠ʣ ˔
ૣ͘ϦϦʔε͢Δඞཁ͕͋ΔͨΊٕज़ଆͰϦεΫΛෛ͍ͨ͘ͳ͔ͬͨʢशಘίετɺ͕͋ͬͨ߹ͷௐ ࠪͳͲʣ (JU)VC"DUJPOTͰ$*$% ˔ $*$%࠷ॳʹߏங ˔ 1VMMSFRVFTU࡞࣌ʹৗʹςετ͕࣮ߦ͞Εͯ҆৺ ˔ ։ൃϒϥϯνϚʔδ͢ΔࡍʹࣗಈͰσϓϩΠ͞ΕΔͷͰָ
ΠϯϑϥߏͱσϓϩΠͷߏ
$MPVE3VOʹ͍ͭͯ ,UPSͷίʔϧυελʔτʹݒ೦͕͋ͬͨͨΊݕূͨ͠ ˔ ίʔϧυελʔτͷ͕࣌ؒඵఔͩͬͨͷͰڐ༰ൣғͱͨ͠ ˔ ඵִؒͰϔϧενΣοΫΛ͍ͯ͠ΔͷͰجຊతʹΠϯελϯεىಈ͍ͯ͠ ͯɺΦʔτεέʔϧ࣌ʹίʔϧυελʔτ͕ى͜Γ͏Δ ੍͍͔͕ͭ͋͘Δ ˔
Πϯελϯεʹ͖ͭECDPOOFDUJPO·Ͱ ˔ ৗʹΠϯελϯε্ཱ͕͕͍ͪͬͯΔઃఆ͡Όͳ͍ͱDPSPVUJOFT͕͑ͳ͍ ˔ ৄ͍͠ใυΩϡϝϯτΛ͝ࢀরԼ͍͞
ܰྔͳ4FSWFS $MJFOUϑϨʔϜϫʔΫ αʔόʔىಈ͕ͱͯૣ͍ ˔ ϩʔΧϧڥͩͱඵҎʹىಈ͢Δ ˔ $MPVE3VO࠷খΠϯελϯεͷίʔϧυελʔτ͕ඵ͘Β͍ʢΞϓϦέʔ γϣϯͷαΠζʹґଘ͠·͢ʣ ػೳ͍͍ͩͨἧ͍ͬͯΔ ˔
4QSJOH4FDVSJUZͷΑ͏ͳݖݶνΣοΫͷΈͳ͍ͷͰࣗ࡞͢Δඞཁ͋Γ
&YQPTFE %"0 %4-ͷύλʔϯͰهड़Մೳ γϯϓϧͳͷͰֶशίετ͍ ؆୯ʹUSBOTBDUJPOΛͰ͖Δͷ͕ྑ͍ -B[ZMPBEͩͱ/ ͕ൃੜ͢ΔՄೳੑ͕͋ΔͨΊҙ͢Δ ˔ ΦϓγϣϯͰ&BHFSMPBEͰ͖ΔͷͰ/ ճආՄೳ
˔ ͕ɺ&BHFSMPBEͰ42-͕ճൃߦ͞ΕΔͷ͕ඍົͳ߹KPJOࢦఆͰ͖ Δʢ͜ΕυΩϡϝϯτʹॻ͍ͯͳ͍ʣ
࠾༻ͯ͠Α͔ͬͨϥΠϒϥϦ :"7* ˔ +BWBͷ7BMJEBUJPOϥΠϒϥϦ ˔ ͱ͍͍ͯײ͡ʹWBMJEBUJPO͕ॻ͚ͯWBMJEBUJPOࡁΈͷΦϒδΣΫτ͕ੜͰ͖Δ ˔ 'PSNΫϥεͷWBMJEBUJPOʹυϝΠϯΦϒδΣΫτͷWBMJEBUPS͕͑Δͷ͕ͱͯ ྑ͍ ˔
ࡉ͔͍୯ҐͰWBMJEBUPSΛ߹ͯ͠ΦϒδΣΫτͷੜߦ͑Δ ˔ शಘ͢Δͷʹগ͠ίετ͔͔Δ͕ɺυΩϡϝϯτ͕๛ͰΘ͔Γ͍͢ ˔ ηΩϡΞόΠσβΠϯΛಡΜͰ͜ͷΑ͏ͳWBMJEBUPS͕ཉ͔ͬͨ͠ͷͰ࠾༻͠·ͨ͠
ѻ͍͕͔ͬͨ͠ϥΠϒϥϦ LPUMJOSFTVMU ˔ ϚΠΫϩαʔϏε֎෦αʔϏεͷτϥϯβΫγϣϯ੍ޚෳࡶͰɺ%#ͷΑ͏ ʹྫ֎Λεϩʔͯ͠ϩʔϧόοΫ͕Ͱ͖ͳ͍ ˔ Τϥʔʹର͢Δࡉ੍͔͍ޚ͕ඞཁͳͷͰLPUMJOSFTVMUΛ࠾༻ͨ͠ ˔ ݕࠪྫ֎ΛϋϯυϦϯάͯ͠&SSPSʹม͢Δඞཁ͕͋Δ ˔
طଘͷϥΠϒϥϦ͕ݕࠪྫ֎Λ͛ΔλΠϓͩͱϋϯυϦϯά͕໘ ˔ શͯLPUMJOSFTVMUͰ͍݁ͯ͠Δʹͳ͍ͱࢥ͏ ˔ ,PUMJOݕࠪྫ֎Λ͓͍ͯͯ͠Α͔ͬͨؾ͢Δ
࠾༻͠ͳ͔ͬͨϥΠϒϥϦ K002 ˔ ࠾༻͔͕ͨͬͨ͠τϥϯβΫγϣϯͷ੍ޚʹ՝͕͋ͬͨͷͰΊͨ ˔ VTFDBTFͱSFQPTJUPSZͰUSBOTBDUJPOΛҾ͖ճ͢ඞཁ͕͋ΔͨΊɺ SFQPTJUPSZʹUSBOTBDUJPOΛ͢͜ͱʹҧײ͕͋ͬͨʢ͕࣌ؒ͋Εղফ Ͱ͖ͨͱࢥ͏͕ɺ͕࣌ؒΓͳ͔ͬͨʣ ˔ 4QSJOH#PPUͳΒ!5BOTBDUJPOBMΞϊςʔγϣϯΛ༩͢Ε͍͍ͷͰͳ
͑͘Δ ˔ ͕ɺ&YQPTFE͍͍͢ϥΠϒϥϦͰؾʹೖ͍ͬͯΔͷͰϤγ
ࠓޙ͍ͬͯ͜͏ͱࢥ͍ͬͯΔ͜ͱ ,VCFSOFUFTͷಋೖͱ(,&ͷҠߦɺ͘͠"84ͷҠߦ ˔ Ϗδωεతͳஅ͋ΔͨΊ"84ʹҠߦ͢Δ͔͠Εͳ͍ ˔ ຖ݄Ϣʔβʔ͕૿Ճ͓ͯ͠ΓɺऔҾྔͲΜͲΜ૿͍͑ͯΔ͜ͱͱɺࠓޙͷϚΠΫ ϩαʔϏεԽΛݟਾ͑Δͱ,VCFSOFUFTΛ͍ͨ͘ͳΓͦ͏ νʔϜશମͷӳޠԽ ˔ ӳޠݍͷ༏लͳਓࡐΛ֫ಘ͢ΔͨΊνʔϜશମͷӳޠԽΛݱࡏਐΊ͍ͯ·͢
໘ന͍ػೳͷՃ ˔ ৄࡉॻ͚·ͤΜ͕ɺͬͱࢧ͍͕ศརʹͳΔΈΛ࡞͢Δ༧ఆͰ͢
͋·ΓͰ͖͍ͯͳ͍͜ͱ %FTJHO%PD"SDIJUFDUVSF%FDJTJPO3FDPSE υϝΠϯϞσϧਤͳͲɺυ ΩϡϝϯτΛͪΌΜͱ࡞͢Δ ˔ ಛʹӳޠݍͷϝϯόʔ͕ೖͬͯ͘Δʹ͋ͨͬͯυΩϡϝϯτԽ͕ඞਢʹͳͬ ͯ͘ΔͨΊɺͪΌΜͱυΩϡϝϯτԽ͢Δඞཁ͕͋Δ ˔ υΩϡϝϯτ࡞Λ։ൃϓϩηεͷதʹΈࠐΉ ˔
UFSSBGPSNͳͲͰΠϯϑϥߏΛίʔυԽ͢Δ ˔ ΤϯδχΞ͕ԣஅతʹίʔυΛ৮ΔΑ͏ʹ͍ͨ͠ʢྫ͑ɺόοΫΤϯυ୲ ͰϑϩϯτΤϯυͷίʔυΛ৮ΔΑ͏ͳػձΛઃ͚͍ͨʣ
ͦͷଞ͍ͬͯΔ͜ͱ ͋·Γ࡞ΓࠐΈ͗͢ͳ͍Α͏ʹ͢Δ ˔ ͲΜͳػೳ͕ඞཁͳͷ͔࡞ͬͯΈͳ͍ͱΘ͔Βͳ͍ͷͰɺ࠷͔ͭ؆୯ʹͰ͖Δํ๏Λߟ͑Δʢϒϥογϡ ΞοϓͦͷޙΔʣ ࣺͯͨ͘ͳͬͨΒࣺͯΒΕΔΑ͏ͳઃܭʹ͢Δ ˔ ෆՄٯతͳઃܭʹͳΒͳ͍Α͏ʹࣺͯͯ͠Δ͜ͱΛߟྀ͢Δ ૄ݁߹ͳઃܭʹ͢Δ ˔
ผαʔϏεʹΓग़ͤΔΑ͏ʹߟ͑ΔʢΧʔυܾࡁɺۜߦৼࠐͳͲͷػೳผαʔϏεʹΓग़ͤΔΑ͏ͳઃ ܭʹͳ͍ͬͯΔʣ
ଞʹ͍Ζ͍Ζ͍ͬͯ͜͏ͱࢥ͍ͬͯ ·͢ͷͰɺ͝ڵຯ͋ΔํͥͻҰ ΧδϡΞϧʹ͓͠·͠ΐ͏ʂʂ
·ͱΊ ৽͍͠ϏδωεϞσϧ͔ͭ৽نࣄۀͳͷͰٕज़తͳϦεΫΛԼ͛ͨ γϯϓϧͳΞʔΩςΫνϟʹͨ͠ ߴͰػೳΛ࡞Γͭͭߴ͍ίʔυ࣭Λҡ࣋͢ΔͨΊͷΈΛ͑ͨ ༏लͳΤϯδχΞΛޏͬͯ΄΅ཧ͠ͳ͍Ͱಈ͚ΔνʔϜ࡞ΓΛࢦͨ͠ ӳޠΛؤுΔ
ࢀߟࢿྉʢϥΠϒϥϦؔ࿈ʣ ˔ ,UPSIUUQTLUPSJP ˔ &YQPTFEIUUQTHJUIVCDPN+FU#SBJOT&YQPTFE ˔ ,PJOIUUQTJOTFSULPJOJP ˔ :"7*IUUQTZBWJJLBN ˔
LPUMJOSFTVMUIUUQTHJUIVCDPNNJDIBFMCVMMLPUMJOSFTVMU
ࢀߟࢿྉʢຊͳͲʣ ˔ ࣭ͱεϐʔυIUUQTTQFBLFSEFDLDPNUXBEBRVBMJUZBOETQFFETQSJOHFEJUJPO ˔ υϝΠϯۦಈઃܭαϯϓϧίʔυ'"2IUUQTCPPUIQNKBJUFNT ˔ ηΩϡΞόΠσβΠϯIUUQTCPPLNZOBWJKQFDQSPEVDUTEFUBJMJE ˔ -FBOͱ%FW0QTͷՊֶIUUQTCPPLJNQSFTTDPKQCPPLT ˔
ιϑτΣΞΞʔΩςΫνϟͷجૅIUUQTXXXPSFJMMZDPKQCPPLT ˔ (PPHMFͷιϑτΣΞΤϯδχΞϦϯάIUUQTXXXPSFJMMZDPKQCPPLT ˔ νʔϜτϙϩδʔIUUQTQVCKNBNDPKQCPPLCIUNM ˔ ςΟʔϧ৫IUUQTFJKJQSFTTPDOLOFUQSPEVDUMJTU LFZXPSE ˔ ϒϦοπεέʔϦϯάIUUQTCPPLQMVTOJLLFJDPNBUDMDBUBMPH1
ΤϯδχΞઈࢍืूதͰ͢ʂ 614*%&3ʹ͝ڵຯ͋Γ·ͨ͠ΒͥͻҰΧδϡΞϧʹ͓͠·͠ΐ͏ʂ IUUQTDBSFFSVQTJEFSDPN IUUQTXXXXBOUFEMZDPNDPNQBOJFTVQTJEFS
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ