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
Takuya Oki
July 21, 2020
Technology
1
270
モダンなアーキテクチャでゼロから作る証券基盤
Takuya Oki
July 21, 2020
Tweet
Share
Other Decks in Technology
See All in Technology
生成AIを活用した音声文字起こしシステムの2つの構築パターンについて
miu_crescent
PRO
3
230
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.6k
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
1.7k
usermode linux without MMU - fosdem2026 kernel devroom
thehajime
0
240
Claude_CodeでSEOを最適化する_AI_Ops_Community_Vol.2__マーケティングx_AIはここまで進化した.pdf
riku_423
2
610
StrandsとNeptuneを使ってナレッジグラフを構築する
yakumo
1
130
Why Organizations Fail: ノーベル経済学賞「国家はなぜ衰退するのか」から考えるアジャイル組織論
kawaguti
PRO
1
210
モダンUIでフルサーバーレスなAIエージェントをAmplifyとCDKでサクッとデプロイしよう
minorun365
4
230
pool.ntp.orgに ⾃宅サーバーで 参加してみたら...
tanyorg
0
1.3k
生成AIと余白 〜開発スピードが向上した今、何に向き合う?〜
kakehashi
PRO
0
160
今日から始めるAmazon Bedrock AgentCore
har1101
4
420
Embedded SREの終わりを設計する 「なんとなく」から計画的な自立支援へ
sansantech
PRO
3
2.6k
Featured
See All Featured
Ruling the World: When Life Gets Gamed
codingconduct
0
150
It's Worth the Effort
3n
188
29k
The Invisible Side of Design
smashingmag
302
51k
KATA
mclloyd
PRO
34
15k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
72
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
440
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
98
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
How to Ace a Technical Interview
jacobian
281
24k
Transcript
ϞμϯͳΞʔΩςΫνϟͰ θϩ͔Β࡞Δূ݊ج൫ גࣜձࣾFinatext ੴڮ३ࢤɾେ࠸ #devsumi Session C-7
ࣗݾհ ʔ ੴڮ३ࢤ • FinatextͰαʔόαΠυͱΠϯϑϥ • ূ݊ϓϥοτϑΥʔϜͷ։ൃʹܞΘΔ • ηκϯϙέοτͷ։ൃʹܞΘΔ •
झຯαφ • twitterɿ@bashi0501
ࣗݾհ ʔ େ࠸ • ͱͱۜߦͰӦۀͬͯ·ͨ͠ • ݱࡏFinatextͰαʔόαΠυΤϯδχΞ • BaaSηκϯϙέοτͷ։ൃӡ༻ʹܞΘΔ •
࠷ۙͷझຯɿےτϨ • twitterɿ@okidoki78
Finatextάϧʔϓʹ͍ͭͯ
ࣄۀ༰ “BtoBforCϞσϧ”Λ࣠ʹɺଟ༷ͳχʔζʹରԠ͢Δۚ༥αʔϏεΛ։ൃɾఏڙ X[EH X[EH 4&)?.3 X[EH .;#3:A. • RZ",C-B1$C*
• >6%BJI • ;#+1$C* • ,<@51$LP"VU • KO(B/41$92#/ S` • YTW\M]Q^ ! D_F D DJF GN-#7.JI (B/42#/S` W\:A038'#=
ۚ༥͕ͬͱΒ͠ʹدΓఴ͏ੈͷதʹ͢Δ VISION MISSION ۚ༥Λ”αʔϏε”ͱͯ͠࠶ൃ໌͢Δ
Finatextάϧʔϓ͕ࢦۚ͢༥αʔϏε૾ ' 34$ ' ) #!." $ $
-% 1( , 34 ' & +/ $ 02*
ূ݊ϓϥοτϑΥʔϜʢBrokerage as a Serviceʣ ূ݊αʔϏεͷڞ௨ػೳΛΫϥυԽ͠ɺଞγεςϜͱͷଓ෦ΛAPIԽ
ैདྷܕखྉθϩͷίϛϡχςΟܕגऔҾΞϓϦ STREAMʢετϦʔϜʣͷհ •ैདྷܕͷגࣜҕୗखྉ͕͍ͭͰԿͰ ແྉ •࠷̑ͰεϐʔσΟʔʹޱ࠲։ઃਃ͠ࠐΈ͕ Մೳ •ΦϯϥΠϯʗΦϑϥΠϯͷίϛϡχςΟΛ ௨ͯ͠ϕςϥϯॳ৺ऀג༑ʹ
ηκϯϙέοτͷհ ηκϯΧʔυ/UCΧʔυձһΛରͱͨ͠ࢿӡ༻αʔϏε •খ࢝͘͞Ί͍ͨॳ৺ऀ͚ͷαʔϏε •ΫϨδοτΧʔυܾࡁͰגࣜͷੵΈཱ͕ͯՄೳ •Ӭٱෆ໓ϙΠϯτͰࢿ৴ୗגࣜͷੵΈཱͯɺ ࢿ৴ୗͷߪೖ͕Մೳ ύʔτφʔɿגࣜձࣾΫϨσΟηκϯ༷
ܦӦ্ͷظ • ࣄۀͷଟ֯Խ • ίΞࣄۀͱͷγφδʔ • Ϋϩεηϧ • ΫϩευϝΠϯͰͷσʔλੳ •
UXͷ্ • ӦརاۀͰ͋ΔҎ্ɺϢʔβʔͱ͓ۚͷΓऔΓଘࡏ
ۚ༥ࣄۀ্ཱͪ͛ͷ՝ • ໔ڐ੍ɾొ੍ͷͷ͕΄ͱΜͲ • ձࣾ৫ • ਓһମ੍ • ཧΦϑΟεͷߏ •
γεςϜίετेԯن ͓࣌ؒۚॳظίετ͕͔͔Δ
BaaSͷղܾ͢Δ՝ • ۚ༥հۀͱ͍͏ϥΠηϯεͰϥΠτʹ • 2021ʹʮۚ༥αʔϏεհۀʯ • ओͳূ݊ۀʢޱ࠲։ઃܾࡁͳͲʣҾ͖ ड͚Δ͜ͱͰମ੍ΦϑΟεͷճආ • WebAPIͰޱ࠲։ઃจൃͳͲΛड͚Δ͜
ͱͰॳظͷγεςϜίετΛճආ
BaaSߏਤ
BaaSͷಛ • ෳͷECSΫϥελʹΑΔϚΠΫϩαʔϏε • ػೳ͝ͱʹେ͖͘ҟͳΔηΩϡϦςΟɾՄ༻ੑɾύϑΥʔϚϯεཁ݅ • ࢢͷ։͍ͯΔ࣌ؒݶΒΕ͓ͯΓɺͦΕʹΑΔίετ࠷దԽ • ϝϯςφϯεೖΕΔ͜ͱͷϋʔυϧͷࠩʢྫɿޱ࠲։ઃ24h։͚͍͍͕ͯͨɺ จΛਂʹด͡Δ͜ͱ༰қʣ
• ͨͩτϥϯβΫγϣϯڥք͍͠… • ଟ͘ͷ֎෦ଓڥɻൃܥɺՁ֨ܥɺόοΫΦϑΟεetc • ͦΕʹ͏ଟ͘ͷόονॲཧ • FIXʢTCP্ͷۚ༥༻ϓϩτίϧʣʹઐ༻ઢଓʢDirect ConnectʣΛར༻ɻ
ηκϯϙέοτߏਤ ۙكʹݟΔ γϯϓϧͳϞϊϦε
ΫϨσΟηκϯ༷ͷհ
ηκϯϙέοτͷੜ
• ࢿ৴ୗɺגࣜͷੵཱࢿ͕ग़དྷΔ • גࣜ1ג୯ҐͰੵཱՄೳʢ௨ৗɺࢢͰചങ͢Δ߹ 100ג୯Ґʣ • ੵཱͷݪࢿʹɺηκϯΧʔυɺӬٱෆ໓ϙΠϯτΛ ར༻͢Δ͜ͱ͕ग़དྷΔ • ͪΖΜΧʔυͰੵཱ͢ΔͱӬٱෆ໓ϙΠϯτஷ·
Δ ηκϯϙέοτͷಛ
• ͪͳΈʹɾɾɾ • ΫϨδοτΧʔυΛ༻͍ͨגࣜੵཱຊॳ • ΫϨδοτΧʔυΛ༻͍ͨࢿ৴ୗͷੵཱຊʹ ͑Δ΄Ͳ ηκϯϙέοτͷಛ
• Ϣʔβͱͯ͠ੵཱʹΫϨδοτΧʔυΛ͍͍ͨ • ͳ͓௨ৗΫϨδοτΧʔυͷखྉ͕ߴͯ͑͘ͳ͍ • גࣜͷചങखྉɿยಓ1%ະຬ • ࢿ৴ୗͷ৴ୗใुɿ0.5~1.5%ఔ • ΫϨδοτΧʔυͷܾࡁखྉɿ3%
• ΫϨδοτΧʔυൃߦձࣾͷΫϨσΟηκϯ༷͔ͩΒͦ͜ग़དྷͨαʔϏε ηκϯϙέοτͷಛ
• ੵཱࢿͷΈ • όονॲཧͷઃܭ ੵཱͷཪଆͷ
• ੵཱࢿͷΈ • όονॲཧͷઃܭ ੵཱͷཪଆͷ
ੵཱࢿͷΈ • ຖ݄8ʹੵཱΛ࣮ࢪ • 1. ηκϯϙέοτͷαʔό͔ΒɺBaaSʹରͯ͠ੵཱϦΫΤετΛ͛Δ • 2. BaaSͰҎԼΛߦ͏ •
ސ٬ͷΫϨδοτΧʔυɾϙΠϯτͷܾࡁ • ܾࡁֹͨۚ͠Λɺސ٬ͷূ݊ޱ࠲ೖۚ • ސ٬ͷޱ࠲ߴΛར༻͠ɺגࣜɾࢿ৴ୗͷࢢͷൃ • 3. ηκϯϙέοτͷαʔόͰɺੵཱ݁ՌΛऔΓࠐΈ
ੵཱࢿͷΈ • ຖ݄8ʹੵཱΛ࣮ࢪ • 1. ηκϯϙέοτͷαʔό͔ΒɺBaaSʹରͯ͠ੵཱϦΫΤετΛ͛Δ • 2. BaaSͰҎԼΛߦ͏ •
ސ٬ͷΫϨδοτΧʔυɾϙΠϯτͷܾࡁ • ܾࡁֹͨۚ͠Λɺސ٬ͷূ݊ޱ࠲ೖۚ • ސ٬ͷޱ࠲ߴΛར༻͠ɺגࣜɾࢿ৴ୗͷࢢͷൃ • 3. ηκϯϙέοτͷαʔόͰɺੵཱ݁ՌΛऔΓࠐΈ
ੵཱࢿͷΈ • ࢿ৴ୗͷ߹ • ϙΠϯτͷܾࡁɾΫϨΧͷܾࡁ → ސ٬צఆೖۚ → ސ٬צఆͰࢢങൃ •
גࣜͷ߹ • ϙΠϯτͷܾࡁ → ސ٬צఆೖۚ → εϚʔτϓϥεͷࣗݾצఆͰࢢങൃ → ΫϨΧͷܾࡁ → ސ٬צఆೖۚ → εϚʔτϓϥεͷอ༗ʢࡏݿʣΛސ ٬͕ങ͢Δ • גࣜͷ߹ɺސ٬͕ΫϨΧܾࡁʹࣦഊͨ͠߹ɺεϚʔτϓϥε͕ࡏݿΛ๊ ͑Δ͜ͱͱͳͬͯ͠·͏
ੵཱࢿͷΈ • ຊདྷגࣜɺࢿ৴ୗͱಉ͘͡ɺΫϨδοτΧʔυܾࡁΛ֬ೝͰ͖͔ͯΒɺࢢ ൃ͍ͨ͠ • ࢿ৴ୗʹֹؔͯۚ͠୯ҐͰങͰ͖ΔͷͰՄೳ • →10,000ԁͷߪೖϦΫΤετʹରͯ͠ɺͪΐ͏Ͳ10,000ԁͰങͭ͢͜ͱ͕Մೳ • ͔͠͠גࣜʹؔͯ͠1ג୯ҐͰ͔͠ങͰ͖ͳ͍
• → 1ג3,000ԁͷ߹ɺ10,000ԁͷߪೖϦΫΤετʹରͯ͠9,000ԁ͔͠ങ͍ ͚Ͱ͖ͳ͍ • ֹۚɺࢢʹൃ͢Δ͜ͱͰॳΊͯ֬ఆ͢Δ • ΑͬͯɺൃޙʹΫϨδοτΧʔυΛܾࡁ͢Δඞཁ͕͋Δ
ੵཱࢿͷΈ • ങൃͷલʹɺΫϨδοτΧʔυʹ10,000ԁܾࡁɾೖۚ͠ɺ༨ͬͨͦ ͷ··ޱ࠲ߴʹ͢ͷͲ͏͔ʁ • ͜ΕΫϨδοτΧʔυͷʮγϣοϐϯάͷݱۚԽʯʹ֘ͯ͠͠·͏ͷͰ ग़དྷͳ͍ • ങൃͷલʹɺܾࡁձࣾʹ10,000ԁͷΧʔυͷ༩৴ͷ֬อΛߦ͍ɺޙʹ 9,000ԁͷΧʔυܾࡁΛߦ͑Α͍ͷͰʁ
• Έ্ɺ10,000ԁͷ༩৴औΓফͤͳ͍ͨΊɺ19,000ԁͷ༩৴͕ඞ ཁͱͳͬͯ͠·͏
• ੵཱࢿͷΈ • όονॲཧͷઃܭ ੵཱͷཪଆͷ
όονͷछྨ • BaaS 㱻 ηκϯϙέοτ • ηκϯϙέοτ͔ΒBaaSੵཱਃΛ࿈ܞ͢Δόον • BaaS͔Βηκϯϙέοτੵཱ݁ՌΛ࿈ܞ͢Δόον •
BaaS୯ମ • BaaSͷதͰ֤ϚΠΫϩαʔϏεʹੵཱਃΛ࿈ܞ͢Δόον • ΫϨδοτΧʔυӬٱෆ໓ϙΠϯτΛܾࡁ͠ɺೖۚ͢Δόον • ࢢגࣜΛൃ͢Δόον • ࢢ৴Λൃ͢Δόον • ηκϯϙέοτ୯ମ • ηκϯϙέοτͰϢʔβʹੵཱ݁ՌΛ௨͢Δόον
όονॲཧͷઃܭͰҙ͍ࣝͯ͠Δ͜ͱ • ႈੑ • τϥϯβΫγϣϯ੍ޚ
ႈੑͱʁ • ͋Δૢ࡞Λෳճߦͬͯɺinput͕ಉ͡Ͱ͋Ε݁Ռಉ͡ʹͳΔɺͱ͍͏֓೦ • ex) ҎԼႈͰແ͍ • όονΛෳճୟ͘ͱɺ݁Ռ͕ͦͷʹ૿͍͑ͯ͘ • όονΛෳճୟ͘ͱɺ݁Ռ͕ͦͷʹߋ৽͞Ε͍ͯ͘
• όονΛႈʹ࡞Δ͖ཧ༝ • ͲΜͳόονʹඞࣦͣഊ͢ΔՄೳੑ͋Δ • ωοτϫʔΫΤϥʔɺoomɺϋʔυΣΞͷނোɾɾɾ • ΛऔΓআ͍ͨޙɺ࠶όονΛΒͤΔࣄ͕ग़དྷΔ
ႈੑͷ࣮ํ๏ • 1. શͯͷॲཧΛΓ͢ • ͓ͦΒ͘ݫີͳҙຯͰͷႈੑ • ߹ʹΑͬͯطʹग़དྷ͍ͯΔσʔλΛ࠷ॳʹআ͢Δ͜ͱ͕ඞཁͱͳΔ • ࠶࣮ߦ࣌ʹ͔͔࣌ؒΔ͕ɺ݅ذগͳͯ͘ࡁΉ
• 2. ະॲཧͷͷͷΈ࣮ߦ͢Δ • ͦΕͧΕͷॲཧʹରͯ͠ॲཧࡁεςʔλεΛ͚ͭΔɻ࠶࣮ߦ࣌ʹεςʔλε ͕͍͍ͭͯͳ͍ͷͷΈॲཧ͢Δ • ࠶࣮ߦ࣌ʹΓͷ݅Λ࣮ߦ͢Δ͚ͩͳͷͰɺ͔͔࣌ؒΒͳ͍ • εςʔλεͰϋϯυϦϯά͢Δɺ݅ذ૿͑ͯ͠·͏
ηκϯϙέοτͰͷྫ • 1. શͯͷॲཧΛΓ͢ྫ • ηκϯϙέοτ͔ΒBaaSʹରͯ͠ੵཱϦΫΤετΛૹΔόον • ηκϯϙέοτͰBaaS͔Βੵཱ݁ՌΛऔΓࠐΉόον • 2.
ະॲཧͷͷͷΈ࣮ߦ͢Δྫ • ΫϨδοτΧʔυϙΠϯτΛࢧ͏όον • ੵཱ݁ՌΛɺϝʔϧͰϢʔβʹ௨͢Δόον • ֎෦ʹ࡞༻Λ࣋ͬͯ͠·͏ͷ2Ͱ࣮ͤ͟ΔΛಘͳ͍ • 2ͷ߹ʹؾΛ͚ͭΔ͖͜ͱ —> τϥϯβΫγϣϯ੍ޚ
τϥϯβΫγϣϯ੍ޚͱʁ • τϥϯβΫγϣϯ = ͋ΔҙຯΛ࣋ͬͨҰ࿈ͷॲཧͷմ • τϥϯβΫγϣϯ੍ޚ = τϥϯβΫγϣϯͰσʔλͷ߹ੑ͕อͨΕΔ͜ͱ •
͜Ε͕݁ߏ͍͠
ex) ࢿ৴ୗͷܾࡁόον • ಛʹαʔϏεΛ·্͙ͨͰɺ༷ʑͳΤϥʔ͕ى͖͏Δ • ωοτϫʔΫΤϥʔ૬खํͷϋʔυΣΞͷނোΛߟ͑ΔͱҎԼఆͰ͖Δ • Ӭٱෆ໓ϙΠϯτͷೖۚ࣌ʹΤϥʔ • ΫϨΧར༻࣌ʹΤϥʔ
• ΫϨΧͷೖۚ࣌ʹΤϥʔ • Statusߋ৽࣌ʹΤϥʔ
͍͔ʹରԠ͍ͯ͠Δ͔ • ো͕ى͖Δ͜ͱΛલఏʹઃܭ͢Δ • ॲཧ୯Ґ͝ͱʹɺࡉ͔͘σʔλϕʔεΛߋ৽͢Δ͜ͱͰɺΤϥʔൃੜ࣌ͷӨڹΛہॴԽ • ֎෦ଓͷΓͱΓશͯϩάʹు͖ग़͢ɻͦͷଞॲཧͷϙΠϯτʹͳΔͱ͜Ζϩά Λు͘ɻ → ো͕ى͖ͯ͠·ͬͨ߹ɺԿ͕ى͍͔ͬͯͨ͑͜ΔΑ͏ʹ͢Δ
• ࣮ࡍো͕ى͖ͨ߹ʹͲ͏ͳΔ͔ • ΦϯίʔϧͷΤϯδχΞ͕͍Δ • γεςϜΤϥʔ͕ى͖ͨ߹ɺҰ୴ͦͷ࣌ͰόονΛࢭΊͯΦϯίʔϧͷΤϯδχ Ξʹ࿈བྷ͕͍͘
·ͱΊ • ূ݊ϓϥοτϑΥʔϜʮBaaSʢBrokerage as a ServiceʣʯΛ͑ɺ ଟେͳॳظίετΛ͔͚ͳͯۚ͘༥ࣄۀΛ࢝ΊΒΕΔɻ • BaaSϚΠΫϩαʔϏεԽ͠ɺηΩϡϦςΟɺՄ༻ੑɺύϑΥʔϚϯεɺ ίετʹର͠ɺͦΕͧΕͷ୯ҐͰٻΊΒΕΔͷʹద༻͍ͯ͠Δ
• ֤αʔϏεECSʹΑͬͯίϯςφӡ༻͠ɺdisposableʹ͢Δ͜ͱͰ ࠷৽ੑΛอͯΔΑ͏ʹ͍ͯ͠Δ • όονॲཧΫϥυαʔϏεൃՐͷΠϕϯτͰ࣮͢Δ͜ͱͰҰཡੑΛ อ͍ͬͯΔ • όονॲཧͷઃܭͰႈੑͱτϥϯβΫγϣϯ੍ޚ͕؊ʹͳΔ
We Are Hiring! • ࢲͨͪͱҰॹʹɺ࣍ੈͷۚ༥γεςϜΛϞμϯͳٕज़Ͱ։ൃͯ͠Έ·ͤΜ͔ʁ • ϚωʔδυαʔϏεSaaSΛੵۃతʹ׆༻͢Δ͜ͱͰɺॊೈͰՄ༻ੑͷߴ͍ γεςϜΛ࣮ݱ͍ͯ͠·͢ɻʢৄ͘͠ςοΫϒϩάʹͯʂ https://medium.com/finatext ʣ
• αʔϏε৫ٸதͰɺٕज़తʹνϟϨϯδͰ͖Δ͜ͱ͕ͨ͘͞Μ ͋Γ·͢ʂ • ৄ͘͠ https://finatext.com/ja/career
None