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
280
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
モダンなアーキテクチャでゼロから作る証券基盤
Takuya Oki
July 21, 2020
Other Decks in Technology
See All in Technology
OSPN.JPバージョンアップ作業進捗のご報告 / 20260801-osc26kyoto
akkiesoft
0
220
LangfuseによるLLMOps基盤の構築と活用事例
zozotech
PRO
1
260
Amazon Bedrock Managed Knowledge BaseDive Deep
ren8k
0
380
【CEDEC2026】『ウマ娘 プリティーダービー』 英語版のキャラクターの方言や口調をローカライズするための創造的アプローチ
cygames
PRO
1
160
クラウドセキュリティ入門 ~安全なクラウド利用のための基礎知識~
lhazy
8
7.4k
Issue設計から始める仕様駆動開発 / 20260731 Mizuki Hirata
shift_evolve
PRO
1
120
[しろおび夏祭り2026] チャットするAIから、作業するAIへ - 使われ方の変化と、その裏側で起きていること
kk0n
0
1.5k
Redmine 7.0 新機能・機能強化解説(OSC2026京都ダイジェスト版)
vividtone
1
180
QAと開発の両側から進める AI活用 -QAプロセスAI支援ツールキットと Inner Loop / Outer Loopの取り組み-
legalontechnologies
PRO
2
420
変化の早いClaude Codeを 書籍に落とし込む
oikon48
6
1.2k
AIエージェントを前提としたプラットフォーム エンジニアリング:GKEで作るAgent-Ready Golden Path
legalontechnologies
PRO
1
130
メルカリのグローバルアプリで挑んだ AlloyDB 運用と課題解決の実践記
hatappi
0
140
Featured
See All Featured
Building Adaptive Systems
keathley
44
3.2k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
760
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
3
400
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Technical Leadership for Architectural Decision Making
baasie
3
460
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.2k
Google's AI Overviews - The New Search
badams
0
1.1k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Ethics towards AI in product and experience design
skipperchong
2
340
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
230
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
200
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
119
120k
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