Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
月額コーヒー3.34杯分のコストでオオタニサンの活躍を見守るデータ基盤のはなし / Pyhac...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Shinichi Nakagawa
PRO
June 17, 2023
Technology
620
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
月額コーヒー3.34杯分のコストでオオタニサンの活躍を見守るデータ基盤のはなし / Pyhack Con
#pyhack conference 2023/06/17
Shinichi Nakagawa
PRO
June 17, 2023
More Decks by Shinichi Nakagawa
See All by Shinichi Nakagawa
LLMの出力を"いい感じに"する技術 / Taming LLM Output: AI Agent Design Patterns with FastAPI
shinyorke
PRO
4
1.9k
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
710
WBCの解説は生成AIにやらせよう - 生成AIで野球解説者AI Agentを実現する / Baseball Commentator AI Agent for Gemini
shinyorke
PRO
1
700
自らを強いエンジニアにするための3つの習慣 2025/ Fitter happier more productive
shinyorke
PRO
0
320
生成AI時代におけるSREの進化とキャリア戦略 / Building an Embedded SRE team and my career
shinyorke
PRO
0
190
生成AIを活用した野球データ分析 - メジャーリーグ編 / Baseball Analytics for Gen AI
shinyorke
PRO
1
6.7k
ゼロから始めるSREの事業貢献 - 生成AI時代のSRE成長戦略と実践 / Starting SRE from Day One
shinyorke
PRO
3
9.6k
AI・LLM事業部のSREとタスクの自動運転
shinyorke
PRO
0
590
実践Dash - 手を抜きながら本気で作るデータApplicationの基本と応用 / Dash for Python and Baseball
shinyorke
PRO
2
4.9k
Other Decks in Technology
See All in Technology
スクラムで身についていた動き方を、XPで捉え直してみた
codmoninc
PRO
1
350
幾何アルゴリズムで なめらかなピン操作を / iOSDC Japan 2026 / smoothpin
kazumanagano
0
260
コーディングエージェントでM5Stack系の開発を少し試した時の話 / M5 Japan Tour 2026 Autumn 東京
you
PRO
0
150
omasushiというライブラリを作った
polidog
PRO
0
200
「重なり」は迎える側がつくる ― 人もAIエージェントも歓迎するプロダクトエンジニアリング ―
go0517go
PRO
0
280
Redmine 7.0で私が開発した新機能の狙いと背景
vividtone
1
160
GoにおけるFFIのこれまでとこれから
goccy
5
2.4k
ASTを使って影響範囲を特定する
nealle
0
150
KPIだけでは評価できないプロダクトが考えるべき Evalsという第二の評価系 / Beyond KPIs: Evals as a Second Evaluation Framework for Products #PdEConf
aki_iinuma
4
3.9k
Screen Lens - 今見てる画面を翻訳する
komagata
0
240
ペアプロの価値はコードを書くことだけじゃない
codmoninc
PRO
0
170
Deploying a Full-Stack Bun-Native Framework on Cloudflare Workers
7nohe
0
130
Featured
See All Featured
Side Projects
sachag
456
43k
Thoughts on Productivity
jonyablonski
76
5.4k
Believing is Seeing
oripsolob
1
210
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
590
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
510
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
240
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.9k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
57k
Transcript
ίʔώʔ3.34ഋͷֹ݄ྉۚͰ σʔλج൫Λ࡞ͬͯ͏ Google Cloudͷ͋Ε͜ΕͱࣆJAPANͷͦͷޙ. @shinyorke 2023/06/17 Python mini Hack-a-thon Conference
Who am I?(ࣗݾհ) • Shinichi Nakagawa@shinyorke • େख֎ࢿITίϯαϧاۀϚωʔδϟʔʢݱ৬ʣ • #Pyhack
ॳࢀՃ: 2013/02/16ʢ#28ʣ, ଟৗ࿈ʢͱ͍͏ೝࣝʣ • ٿ͕Ұ൪ͷझຯͱݟ͔͚ͤͯͦ͏Ͱͳ͍ਓ. • ωλͱͯ͠ͷʮٿͷਓʯطʹଔۀ͍ͯ͠·͢. ͨ·ͨ·ݸਓ։ൃωλ͕ٿʹدͬͯΔ͚ͩͰ͢.
ࠓͷ͓ • #PyHack #148ʢ2023/02/04ʣͰൃද࿅शͨ͠σϒαϛ2023ొஃωλ …ͷμΠδΣετ൛ʢ10Ver.ʣΛ͓൸࿐͠·͢. • ొஃͨ͠ͷ͕2݄Ͱࠓ4݄ͳͷͰΞοϓσʔτগ͋͠Γ·͢. • σϒαϛຊฤͷಈըʢ40ʣެ։͞Ε͍ͯ·͢.
https://codezine.jp/devonline/archive/session/131
σϒαϛͰͨ͜͠ͱʢཁʣ • ΫϥυͱσʔλΤϯδχΞϦϯάͰ࣮ݱ͢ΔԶͷDX • αʔόϨεͳΞʔΩςΫνϟͰ࣮ݱ͢Δʮ͍͍ײ͡ͳσʔλج൫ʯ • ʮਪ͠ͷٿબखʯͷʮਪ࣌͠ʯͲ͜ͳͷ͔ΛݟۃΊΔ⽁
͜͏͍͏ϞϊΛͬͯ… ※σϒαϛࢿྉΑΓൈਮ
ϥʔζɾψʔτόʔ ʢࣆJAPANʣ • ࣆJAPANॳͷΞϝϦΧग़બख • ଧ͍ͷͷग़ྥͱଧ ͦͯ͠ଧٿ͕͘, 3ϙδγϣϯ
ͦͭͳ͘कΕΔ֎कඋ˕ • Ωϟϥཱ͍͍ͪͯͯ͠Ϡπͱ͍͏ᷚ, ࣆδϟύϯͷηϯλʔͱͯ͠ظʂ ※σϒαϛࢿྉΑΓൈਮ
ϥʔζɾψʔτόʔ ʢࣆJAPANʣ • ࣆJAPANॳͷΞϝϦΧग़બख • ଧ͍ͷͷग़ྥͱଧ ͦͯ͠ଧٿ͕͘, 3ϙδγϣϯ
ͦͭͳ͘कΕΔ֎कඋ˕ • Ωϟϥཱ͍͍ͪͯͯ͠Ϡπͱ͍͏ᷚ, ࣆδϟύϯͷηϯλʔͱͯ͠ظʂ 8#$͕։ນ͢Δલʢʣ ͜ͷ࣌Ͱψʔτόʔͷ׆༂Λ༧ݴ͢Δ͜ͱʹޭʂ ˞*5ۀքΤϯδχΞք۾࠷ͷൃදʢଟʣ Ұ൪όολʔͱͯ͠ͷ׆༂༧֎͕ͩͬͨͦΕ͓͖ͯ͞স
ࠓͷ10LTͰશ෦৮ΕΔͷແཧ. Google CloudͱٿͷΛগʑ.
͓͠ͳ͕͖ • DashͱCloud RunͰσʔλɾμογϡϘʔυΛ࡞ͬͯಈ͔͢ • WBCઓ࢜ͨͪͷͦͷޙ⽁ • ͦͯ͠ؾʹͳΔ͓ஈ?
࡞ͬͨσʔλɾμογϡϘʔυʢͬ͘͟Γʣ •DashΛͬͯʮPythonॻ͚μογϡϘʔυ࡞ΕΔʯΑ͏ʹ͠·ͨ͠. •σʔλຊମBigQuery, σʔλͷΞΫηεRESTful APIʢGoʣܦ༝. •ೝূతͰAPI Gateway, Cacheͱͯ͠StorageΛར༻ʢ͜ΕϚετ͡Όͳ͍ʣ.
Dash is Կऀ🤔 • PlotlyΛLow-codeπʔϧͱͯ͠ ͑ΔΑ͏ʹ͍͍ͨ͠ײ͡ͷౕ. • ϓϩτλΠϓͰੳɾՄࢹԽʹ
Jupyter LabͱPlotlyΛ͓ͬͯΓ, ͜ΕΛͦͷ··Ҡ২Ͱ͖ΔखஈͰ ࣮͔ͨͬͨ͠. • https://dash.plotly.com/
ࠓճ࡞ͬͨίʔυ ʢҰ෦ൈਮʣ • Python͚ͩͰॻ͚ΔͷΊͬͪΌศརͩͬͨ. • HTMLʹͨ͠ίϯϙʔωϯτΛPythonͰ ΰϦͬͱॻ͍ͯ࡞͢Δͱ͍͍ײ͡ʹಈ͘. •
ΠϕϯτۦಈͰͷॻ͖͑Callbackͳ σίϨʔλʔͰ࣮. • ReactͬΆ͋ͬͯ͞ݸਓతʹେ͖͕ͩ, ςετ͕ॻ͖ʹ͍͘ҹ… ※গͳ͘ͱUI ίϯϙʔωϯτʹؔͯ͠
Cloud RunΛબͨ͠ʢPythonicͳʣཧ༝ • μογϡϘʔυΞϓϦͷґଘϥΠϒϥϦతʹApp EngineͰಈ͔͘ո͔ͬͨͨ͠Ί • PandasʹDashʢPlotlyʣͱσʔλܥͷϥΠϒϥϦ͕Γͩ͘͞ΜͷWebΞϓϦ • ͜ͷ࣌ͰͪΌΜͱͨ͠ContainerܥͰಈ͔͞ͳ͍ͱବͩͳͬͯஅˠͦͷ௨Γͩͬͨ •
બ͢Δ·Ͱͷࢥߟͱͯ͠… 1.ґଘϥΠϒϥϦͳͲͷ߹Ͱ΄΅PythonʢҰ෦GoʣͰͷ։ൃ -> Firebase͕ީิ͔Βফ͑Δ 2.Cloud FunctionsͰಈ͔͢ʹඍົͳ༷ͱͳͬͨͨΊબࢶͱͯ͠ফڈ 3.App EngineʢStandardʣContainer͡Όͳ͍ -> Cloud Runʹܾఆ ※ContainerͰಈ͔ͤΔApp EngineʢFlexibleʣΛΘͳ͔ͬͨཧ༝…ͦΜͳબࢶΛೖΕͨ͘ͳ͔͔ͬͨΒͰ͢ʢٿʣ
WBC2023ࣆδϟύϯઓ࢜ͷͦͷޙ • ೋྲྀͷ͋ͷํ • ϕετφΠϯʹબΕͨMLB৽ਓԦʢީิʣ
େ୩ᠳฏʢϩαϯθϧεɾΤϯδΣϧε, TWPʢTwo Way Playerʣʣ ϗʔϜϥϯྔ࢈ͷൿີ͕໌Β͔ʹ
େ୩ᠳฏʢϩαϯθϧεɾΤϯδΣϧε, TWPʣ ӈʹࠨʹଧ͚͍ͪͯΔͷ͍͍ײ͡
େ୩ᠳฏʢϩαϯθϧεɾΤϯδΣϧε, TWPʣ खͱͯ͜͠Μͳײ͡
٢ాਖ਼ঘʢϘετϯɾϨουιοΫε, LFʣ ώοτྔ࢈ͷൿີ͕໌Β͔ʹ
ʁʁʁʮσʔλج൫ࣗͰ࣋ͭͱ͓ߴ͍ͷͰʁʯ
ʲʳ͏αʔϏεΛͯ͠ίετ੍ • ʮ͏ͱ্ཱ͖͚͕ͩͪΕ͍͍ʯલఏͰશαʔϏεΛίʔϧυελϯόΠʹ. • ͯ͢ͷΞϓϦɾػೳΛαʔόϨεͳΫϥυʢCloud RunͳͲʣΛར༻. • ʮಈ͍͍ͯͳ͍͓͕͔͔࣌ۚΔʯͷBigQueryͱετϨʔδͷΈʢ͘͝গ ֹʣ •
σʔλอ͍ํΛ͠ίετΛ͑Δ • ແྉͷϧʔϧΛཧղ͠, ͦͷൣᙝͰۃྗ͏ʢ㲈ඞཁͳͷʹ͓ۚΛ͏ʣ • BigQueryCloud StorageແྉΛΊͬͪΌ׆༻
Ұϲ݄Ͱ$3ະຬ, ίʔώʔ3.34ഋఔͰӡ༻͍ͯ͠·͢🐯 ※σʔλج൫ϓϩδΣΫτͷ࣮ίετΑΓࢉग़ʢίʔώʔίϯϏχίʔώʔج४ʣ, υϝΠϯऔಘྉ֎෦ίετΛআ͘
͓͠ͳ͕͖ • DashΛGoogle CloudͰಈ͔͢ͳΒCloud Run • ΦΦλχαϯϚονϣ͞Μ৭ʑͱΤά͍ • ࣗͰσʔλج൫Λ࣋ͬͯର͔͔ͯۚ͠Βͳ͍ ※AWS,
ଞͷΫϥυαʔϏεͰಉ͜͡ͱ͕Ͱ͖·͢Αʂ ʢGoogle Cloudʹ͍ͯ͠ΔͷࢲͷΈͰ͢ʣ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠⽁ @shinyorke