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
実践Dash - 手を抜きながら本気で作るデータApplicationの基本と応用 / Das...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Shinichi Nakagawa
PRO
September 28, 2024
Programming
4.4k
2
Share
実践Dash - 手を抜きながら本気で作るデータApplicationの基本と応用 / Dash for Python and Baseball
PyCon JP 2024 9/28 Talk Session 発表資料
Shinichi Nakagawa
PRO
September 28, 2024
More Decks by Shinichi Nakagawa
See All by Shinichi Nakagawa
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
450
WBCの解説は生成AIにやらせよう - 生成AIで野球解説者AI Agentを実現する / Baseball Commentator AI Agent for Gemini
shinyorke
PRO
1
430
自らを強いエンジニアにするための3つの習慣 2025/ Fitter happier more productive
shinyorke
PRO
0
290
生成AI時代におけるSREの進化とキャリア戦略 / Building an Embedded SRE team and my career
shinyorke
PRO
0
160
生成AIを活用した野球データ分析 - メジャーリーグ編 / Baseball Analytics for Gen AI
shinyorke
PRO
1
6.3k
ゼロから始めるSREの事業貢献 - 生成AI時代のSRE成長戦略と実践 / Starting SRE from Day One
shinyorke
PRO
3
7.8k
AI・LLM事業部のSREとタスクの自動運転
shinyorke
PRO
0
550
Terraform, GitHub Actions, Cloud Buildでデータ基盤をProvisioningする / Data Platform provisioning for Google Cloud and Terraform
shinyorke
PRO
2
3.7k
Cloud RunとCloud PubSubでサーバレスなデータ基盤2024 with Terraform / Cloud Run and PubSub with Terraform
shinyorke
PRO
9
4.4k
Other Decks in Programming
See All in Programming
なぜあなたのコードには「コシ」がないのか?〜AI時代に問う、最後まで美味しい設計と戦略〜 #phpconkagawa / phpconkagawa2026
shogogg
0
210
リセットCSSを1行消したらアクセシビリティが向上した話
pvcresin
4
520
inferと仲良くなる10分間
ryokatsuse
1
130
プロパティの順序で型推論が壊れる!? TypeScript6.0の修正からContext-Sensitivityの仕組みを追う
bicstone
2
140
KMP × Kotlin 2.3 - How Android Got Slower While iOS Builds Improved by 47%
rio432
0
230
運転動画を検索可能にする〜Cosmos-Embed1とDatabricks Vector Searchで〜/cosmos-embed1-databricks-vector-search
studio_graph
3
970
PHPでバイナリをパースして理解するASN.1
muno92
PRO
0
460
AI時代だからこそ「Bloc」を採用する価値があるのかもしれない
takuroabe
0
200
20年以上続くプロダクトでも使い続けられる静的解析ツールを求めて
matsuo_atsushi
0
150
AI Agent と正しく分析するための環境作り
yoshyum
2
550
「なんか〇〇ライブラリで脆弱性あるみたいなんだけど。。。」から始める脆弱性対応 / First Steps in Vulnerability Response
mackey0225
2
130
AI駆動開発勉強会 広島支部 第一回勉強会 AI駆動開発概要とワークショップ
hayatoshimiu
0
250
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
230
Everyday Curiosity
cassininazir
0
210
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
Six Lessons from altMBA
skipperchong
29
4.2k
Agile that works and the tools we love
rasmusluckow
331
21k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.2k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
390
Faster Mobile Websites
deanohume
310
31k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
A Soul's Torment
seathinner
6
2.8k
Transcript
࣮ફDash🐍 खΛൈ͖ͳ͕ΒຊؾͰ࡞ΔσʔλApplicationͷجຊͱԠ༻ Shinichi Nakagawa(@shinyorke) 2024/09/28
໔ࣄ߲ • ຊηογϣϯࢲʢத৳Ұʣݸਓͷܦݧɾҙݟʹجͮ͘ݟղͰ͢. • ॴଐ৫ɾاۀɾஂମΛද͢ΔൃݴɾҙݟͰ͍͟͝·ͤΜ. • ॴଐ৫ɾاۀ͓ΑͼͦͷεςʔΫϗϧμʔʹର͢Δ࣭͝, ͝ҙݟ, ͍߹Θ͓ͤΑͼۀ༰ʹҰ͓͑͢Δ͜ͱͰ͖·ͤΜ. •
ίϯςϯπࣗ࡞͘͠ʮ͍Β͢ͱʯ͕େͰ͕͢ඞཁͳϞϊʹ ͍ͭͯग़యΛ໌ه͍ͯ͠·͢.
TL;DRʢ͜ͷͷμΠδΣετʣ • ʢ͍͍ײ͡ʹखΛൈ͍ͯʣָʹΞϓϦ࡞ΔͳΒDash͍͍ͱࢥ͏. • ؤுͬͯԠ༻ޮ͔ͤͨΒ, ൺֱతେ͖ΊͷΞϓϦ࡞Εͯ͠·͏. • Low-codeΛબͿ࣌ଞͷखஈߟ͑Δͷ͕٢, ։ൃׂͬͯͱΩπ͍.
ࣗݾհ • Shinichi Nakagawa(@shinyorke) • ӳޠ͕ۤखͳҎ֎, ׂͱԿͰͰ͖ΔΤϯδχΞΛੜۀͱ͠ ͨԿ͔ͷਓʢݱࡏେख֎ࢿITίϯαϧاۀͰSREʣ. • ٿσʔλੳͱΤϯδχΞϦϯά,
ࠓങͬͪΌͬͨϚΠ ϗʔϜʹ໋Λ͔͚͍ͯΔਓ. • Python, Cloud, Data Science, SRE, Agile͋ͨΓ͕ಘҙ. • Google Cloud Partner Top Engineer 2024ड. • ਪ͠ຊϋϜϑΝΠλʔζͱສதਖ਼, MLBશൠ⚾ • ΦΦλχ͞Μ͕45-45ΛܾΊͨʹ45ࡀʹͳΓ·ͨ͠. ※Developers Boost 2023ొஃ࣌ͷࣸਅʢ2023/12ʣ
͜ͷൃදΛݟͯ΄͍͠ɾௌ͍ͯ΄͍͠ਓ • DashStreamlitͳͲʮLow-codeʯͳPython Framework͕ؾʹͳΔਓ. • DashΛ͍ͬͯΔ, ໊લ͍ͬͯΔ͚ͲԿʹͬͨΒ🤔తͳ͕ٙ͋Δਓ. • Web Application։ൃʹඞཁͳࣝͱܦݧ͕͋Δ.
• ʲඞਢʳDjangoFlask, Fast APIͰ࡞ͬͨ͜ͱ͋Δͥ. • ʲͰ͖ΕʳAWSGoogle CloudͳΜ͔Ͱެ։ͨ͠ࣄ͋Δͥ. • ʢੈքҰ༗໊ͳʣΦΦλχαϯ͕Կऀ͔͍ͬͯΔํ⚾ ※ωλͰొ͠·͢
Dashͱ🤔
ʲʳָʹσʔλͷՄࢹԽΛ͢ΔFramework • Low-codeͳWeb FrameworkͰ, σʔλͷՄࢹԽʹશৼΓ͍ͯ͠Δ. • Python൛Flask͕ϕʔε. FlaskͰ͑Δͷ͍͍ͩͨ͑Δ. • OSS൛ͱEnterprise൛͕ଘࡏ.
ͳ͓ຊτʔΫͯ͢OSS൛ͷ. ※ग़య: https://dash.plotly.com/
DashΛಋೖ͢Δ
DashΞϓϦΛಈ͔͢
͓͠ͳ͕͖ - جຊ͔ΒԠ༻, ࣮ફ·Ͱ⚾ • Dashͷجຊ - ͱΓ͋͑ͣ࡞ͬͯಈ͔͢ • DashͷԠ༻
- ࣄͰ͏, ެ։͢Δ • ࣮ફฤʮϝδϟʔϦʔάσʔλͷՄࢹԽͱੳͷDXԽʯ • ࣅͨऀಉ࢜ͰൺͯΈΔ - StreamlitͱԿ͕ҧ͏ͷ͔ʁ
Dashͷجຊ - ͱΓ͋͑ͣ࡞ͬͯಈ͔͢
DashͷجຊʢԿނʮखൈ͖ʯͳͷ͔ʣ • Hello Worldʢ෩ʣʹԿ͔Λ࡞Δ • σʔλΛՄࢹԽ͢Δ • callbackͱྑ͘ͳΔ
Hello Worldʢ෩ʣʹԿ͔Λ࡞Δ • 1ϑΝΠϧʢapp.pyʣͰಈ͔͢ΞϓϦΛ൸࿐͠·͢. • CSVσʔλΛΤΠοͱՄࢹԽʢpandasͰಡΜͰplotlyͰՄࢹԽʣ. • ʢDashͰආ͚ͯ௨Εͳ͍ʣcallbackΛ͏. • ϓϧμϯͰબखΛબͨ͠ΒϗʔϜϥϯͷ͕ग़ΔΞϓϦͰ͢.
• σʔλ http://seanlahman.com/ ͔ΒMLBͷଧܸσʔλΛར༻.
Hello Worldʢ෩ʣͷsample
Hello Worldʢ෩ʣͷsample
σʔλΛՄࢹԽ • pandasͷDataframeΛ࡞Δ • PlotlyͷΦϒδΣΫτΛ࡞Δ • ϖʔδʹຒΊࠐΉ͔, callbackͰ͍͍ײ͡ʹϋϝΔ
Dash࠷ॳͷਏΈʮcallbackʯ
Callbackͷجຊ • @callbackσίϨʔλͰ࣮. • OutputͰग़ྗઌ, InputͰೖྗΛࢦఆ. Ͳ ͪΒෳࢦఆՄʢ1…nݸͷInputͰ, 1…nݸͷOutput͕Մೳʣ •
Dashͷϑϩϯτ෦ReactͳͷͰ, React͍ͷਓʹͱ͖͍͔ͬͭ͢.
CallbackΛ੍͢Δऀ͕DashΛ੍͢Δ • DashͷΞϓϦ։ൃͷ͕callbackͳͷͰઆʢҟೝΊΔʣ • Կ͔͠ΒͷΠϕϯτʢ=ೖྗʣͰඞཁͳσʔλʢ=ग़ྗʣΛಘΔͷ͕ ΞϓϦέʔγϣϯͳͷͰવͱݴ͑વ. • DashͷcallbackײతͰΈ͍͢Ұํ, Γ͗͢ΔͱΞϓϦ͕ෳ ࡶʹͳͬͨΓ,
ඳըͳͲͷύϑΥʔϚϯεʹӨڹग़ΔͷͰҙ.
DashͰ࣮ݱ͢Δ ʮखൈ͖ʯײ • ͪΐͬͱPythonΛͬͯॻ͚ΕԿ ͔͠ΒͷσʔλՄࢹԽΛͰ͖Δͷ͕ DashͷڧΈʢݸਓతͳݟղʣ. • HTMLJSΛॻ͔ͳͯ͘, pandas plotlyͷίϯϙʔωϯτΛదʹ
ಥͬࠐΜͰ࡞ΕΔʮखൈ͖ײʯૉ Β͍͠ͱࢥ͏.
DashͷԠ༻ - ࣄͰ͏, ެ։͢Δ
DashͷԠ༻ʢ͘͠ʮຊؾʯͷ෦ʣ • σʔλͷऔΓѻ͍ͱScope • ೝূೝՄΛ࣮͢Δ • ΫϥυʹσϓϩΠ͢Δʢੈͷதʹެ։͢Δʣ
σʔλͷऔΓѻ͍ͱScope • DashStatelessͳWeb Framework. σʔλอ࣋ͯ͘͠Ε·ͤΜ. • Pythonͷݴޠ༷తʹ, ʮGlobalʯʮLocalʯͷScopeͰઓ͏͜ͱʹ. • Global
Scope: GlobalͳมͰͷอ࣋. ىಈ࣌ʹऔಘ. • Local Scope: ؔͰͷอ࣋. DashͰcallbackͰݺͼग़͠. • Ͳ͏ͯ͠σʔλอ͍࣋ͨ࣌͠http session֎෦ετϨʔδʹཔΔ.
Global ScopeͱLocal ScopeʢPythonͷʣ.
ೝূೝՄΛ࣮͢Δ • OSS൛Dashͱͯ͠BasicೝূͷΈରԠ. • Basicೝূ͕NGͷ߹, ҎԼͰରԠʢ͓ۚΛ͏͔໘ͳࣄΛ͢Δ͔ʣ. • Enterprise൛DashͩͱLDAP, SAML, OIDC͕ར༻Մೳ💰
• DashͷݩFlaskͳͷͰࣗͰ࣮͢ΔʢԞͷखͱͯ͠ʣ ※ʮࣗͰ࣮ʯ͔ͳΓͷϦεΫ͕͋ΔͷͰࣗݾͰ͓ئ͍͠·͢.
DashͰೝূೝՄΛ͏ʢdash-auth͕ඞཁʣ
DashͰೝূೝՄΛ͏ʢίʔυʣ
DashʢʹݶΒͣWebΞϓϦશൠʣͷਏΈʮσϓϩΠͲ͏͢Δʯ
ΫϥυʹσϓϩΠ͢Δʢ=ެ։͢Δʣ • DockerͰContainer Imageͱͯ͠ѻ͏ͷ͕ϕετʢී௨ͷWebΞϓϦಉ༷ʣ. • ࠷ޙʹग़͢ઌ͕AWS, Google Cloud, AzureͳͲͷΫϥυͳΒͳ͓ͷ͜ͱ. •
ϩʔΧϧͰ࡞ͬͨDashΞϓϦΛͦͷ··Ͱग़ͤͳ͍ͷͰͪΐͬͱ͢Δ. 1.Application ServerΛProduction༻ͷͷʹ͢Δ. 2.Docker Imageͱͯ͠Build͢Δ. 3.ΫϥυʹσϓϩΠ͢Δ.
Productionʢຊ൪ʣӡ༻ͷͨΊʹखೖΕ͢Δ • ։ൃ༻ͷapp.runͰͳ͘, Production༻ͷαʔόʔΛ͏. • ۩ମతʹFlaskͰΑ͘͏gunicornͳͲΛ͏. • ެࣜͷࣄྫgunicorn https://dash.plotly.com/deployment
gunicornΛ͏ • ίʔυʹ1ߦՃ. • gunicornΛೖΕͯಈ͔͢. • ͜ͷลFlaskͱશ͘ಉ͡.
DockerΛ͏ • PythonͷWebΞϓϦͱͯ͠ Dockerʹ·ͱΊΔ. • ͜ͷลଞͷWeb Framework ͱΓํมΘΒͣ. • ίʔυαϯϓϧ͋͘·ͰҰྫ.
σϓϩΠ͢Δ (Google Cloud) • ΞϓϦΛಈ͔͢ڥʹՃ͑ͯ, Dockerͷ RegistryͱBuildͷखஈΛ༻ҙ. • Google Cloudͷ߹,
ʮCloud Runʯ ʮArtifact RegistryʯʮCloud BuildʯͰ ࣮ݱՄೳ. • AWSͳͲ, ଞͷΫϥυͰࣅͨײ͡ʹ ͳΓ·͢.
࣮ફฤʮϝδϟʔϦʔάσʔλͷՄࢹԽͱੳͷDXԽʯ
࣮ફྫʮMLBσʔλͷՄࢹԽͱੳʯͷDXԽ • ٿσʔλੳDXͷҝʹʮϚϧνϖʔδʯͳDashΞϓϦΛߏங • ੳྫͦͷᶃʮ࠷͍ଧٿͱٿʯ • ੳྫͦͷᶄʮ50-50Λͬͨ͋ͷํʯ
ʲ͓ʳϝδϟʔϦʔά⚾ͷΦϨΦϨDXԽ • ʮϝδϟʔͷϠό͍બखΛγϡοͱੳͰ͖ΔΑ͏ͳσʔλՄࢹԽʯι ϦϡʔγϣϯΛ2022͔Βӡ༻͍ͯ͠·͢ʢݸਓͰʣ. • MLBެࣜͷϏοάσʔλʮStatcastʯͰΦΦλχαϯΛ͡Ίͱͨͯ͢͠ ͷϓϨʔϠʔͷओཁͳσʔλ͕खʹೖΓ·͢ʢ2010Ҏ߱ʣ • γεςϜσʔλՄࢹԽΞϓϦʢDashଞʣͱσʔλج൫ʢBigQueryଞʣͰ ߏங,
ޙऀͷσʔλऩूɾूܭͷج൫PyCon JP 2022, σϒαϛͰࣄྫ ൃද͍ͯ͠ΔͷͰͦͪΒΛ͝ཡ͋Ε.
ʲࢀߟʳPyCon JP 2022ʮPython͍ͷͨΊͷεϙʔπσʔλղੳͷ͖΄Μʯ࣌ͷ࡞. ※࣌ج൫ʢPySpark/DataprocʣͷϝΠϯͰDashҰ͍ͯ͠ͳ͍. શମΞʔΩ 2022࣌ͷDashΞϓϦʢSPAʣ
2024ʹΓ͔ͨͬͨ͜ͱ
ؾʹͳΔϝδϟʔϦʔΨʔͷσʔλΛγϡοͱோΊ͍ͨ. ۩ମతʹʮͰιʔτʯͯ͠બखͷϖʔδʹϦϯΫͯ͠දࣔ. Ͱιʔτͨ͠Topը໘ Topը໘͔ΒͷϦϯΫͰදࣔ
͜ΜͳαΠτϚοϓͰ࣮͍͕ͨ͠…SPAͰແཧ.
ʲDashͷ࣮ફʳMPAʢMulti Page Applicationʣ • DashSPA͚ͩͰͳ͘, ෳϖʔδʢMPAʣͷΞϓϦ͕࣮Մೳ. • SPA͡Ό͍͠ΞϓϦΛMPAʹ࡞Γม͑Δͷൺֱత༰қʹՄೳ. • URLݻఆϖʔδʹՃ͑ͯ,
URLύλʔϯͰಈతϖʔδʹ͢Δ͜ͱՄೳ. • ؤுΕDash͚ͩͰ͋ΔఔͷWebαΠτ࡞Εͯ͠·͏. • ͳ͓, DashStatelessͳFrameworkͰσʔλΛ࣋ͨͳ͍ҝ, ϖʔδΛލ͙ σʔλ࿈ܞΦεεϝ͠·ͤΜʢΔͷ૬ΩπΠͱࢥΘΕΔʣ.
MPAΛ࣮͢Δʢงғؾʣ ※MPAͷ۩ମతͳ࣮ղઆެࣜ https://dash.plotly.com/urls Λ͝ཡ͍ͩ͘͞.
࣮ࡍʹͬͯΈͨ⚾
Statcast ʢ&ࢲʣ͕ਪ͢ ʮମೳྗ͓Խ͚ͳօ༷ʯ • ଧٿ͕ਓؒͱࢥ͑ͳ͍. • ࠷͍ϘʔϧΛ͛ͨਓ. • 50-50? ※σʔλ20249݄27ʢຊ࣌ؒʣ࣌ͷͷ.
※ʢؔͳ͍͚ͲʣϋϜCSਐग़ඇৗʹΊͰ͍ͨ🎉
ΦχʔϧɾΫϧʔζ ʢ2024ଧٿ࠷Ԧʣ • 5/21ʹ2024ͷMLB࠷ͱͳΔ, 195.53 km/h ͷೋྥଧΛه • ϐοπόʔΫɾύΠϨʔζॴଐ, 25ࡀͷएख
γϣʔτ݉ηϯλʔ • ଧܸͦͦ͜͜ྑͦ͞͏ͳͷͷ, कඋࢦ ඪ͕ѱ͘ѻ͍ʹࠔΓͦ͏ͳ༧ײ. • ͪͳΈʹΦΦλχαϯࠓγʔζϯ191.83km/ hͷ୯ଧΛه͍ͯ͠Δ.
ΞϩϧσΟεɾνϟοϓϚϯ ʢπʔγʔϜ࠷Ԧʣ • 8/7ʹ2024ͷMLB࠷ͱͳΔ, 172.36 km/hͷπʔ γʔϜʢsinker, ಈ͘ਅ͙ͬͷ͜ͱʣΛه • ͜ͷϘʔϧͷ݁Ռݟಀ͠ετϥΠΫ.
• ޚࡀ36ࡀͳ͕Β, ͣͬͱMLBͷ࠷Ԧʹ܅ྟ͠ଓ͚ Δਓྨ࠷ࠨ. • ԿٿஂΓา͍ͯݱࡏϐοπόʔΫɾύΠϨʔ ζॴଐ. • Ͳ͏Ͱ͍͍͚ͲύΠϨʔπʹԦ͕ू·͍ͬͯΔ🤔
େ୩ᠳฏ ʢઆ໌লུʣ • ੌ͗ͯ͢Կ͔Βݴ͍͍͑ͷ͔😇 • ͔֬ͳͷଧٿ্͕ͬͯΔ, ͍ͬͯ͋ͨΓύϑΥʔϚϯ ε͕͍͢͝. •
དྷ, खΛͬͨΒͲΕ͚ͩͷ ύϑΥʔϚϯε͕ग़Δͷָ͔͠Έ.
ʮStreamlitͱͲ͕͍͍ͬͪͰ͔͢?ʯ ؾʹͳΓ·ͤΜ?
ͲͬͪPythonͷLow-codeͳFWͰࣅͨͷಉ࢜, ൺֱͪ͠Ό͍·ͤΜ? #ׂͱ͋Γ͕ͪͳ࣭ #͜Ε͕ฉ͖ͨͯ͘͜ͷτʔΫʹདྷͨΜͰ͠ΐ? #͠·͢Ͷ Streamlit ※PyCon JP 2021ൃදΑΓҾ༻ Dash
※ࠓճͷ࡞ʢ2024ʣ
ࢲʢshinyorkeʣͷݟղɹ˞ݸਓతͳײͰ͢ ؾʹͳΔϙΠϯτʢൺΔΞϨʣ %BTI 4USFBNMJU αΫοͱ࡞ͬͯެ։Ͱ͖Δ͔ ͋ΔఔϖʔδΛσβΠϯ͢Δඞཁ͋Δ ؾָʹ࡞ͬͯެ։͢Δײ͡Ͱͳ͍ ྑ͘ѱ͘ϨΠΞτ͕ܾ·Γ͍͢ ͷͰָ͘͢͝ʢ͍͡Δൣғগͳ͍ʣ
͔ͬ͠ΓσβΠϯͯ͠࡞ΕΔ͔ ίϯϙʔωϯτͷΈ߹Θͤ σβΠϯ ςʔϚΛ࡞͍͍ͬͯײ͡ʹ࡞ΕΔ 4USFBNMJUಛ༗ͷσβΠϯ͕ड͚ೖΕΒ Εͳ͍߹ ٧Ή ࣮ɾςετͷײ৮ ίϯϙʔωϯτ͓Αͼ$BMMCBDLͷςετ ࣮ʹۤ࿑͢Δ ίϯϙʔωϯτͷςετ֎෦ϥΠϒϥ ϦͰߦ͚Δςετʹۤ࿑ͦ͠͏ ͦΕͧΕͷݸੑɾಛ શൠతʹσʔλͷՄࢹԽʹڧ͍ ϚϧνϖʔδߏͰͷΞϓϦߏங͕Մೳ ೖग़ྗ͕සൟʹ͋Δ ΠϯλϥΫςΟϒ ͳΞϓϦͳΒ4USFBNMJU$IBU࡞ΕΔ
DashͱStreamlitʢͱଞͷαʔϏεʣ͍͚͕٢ • ಉ͡Low-code FrameworkͰతɾڧΈ͕ҧ͏ͷͰ͍͚Α͏. • άϥϑϏδϡΞϥΠθʔγϣϯΛΰϦοͱΔͳΒDash. • ChatFormͳͲͷΠϯλϥΫςΟϒͳΞϓϦStreamlit. • ͲͪΒʹͯ͠,
TableauLooker StudioͳͲͷαʔϏεͰ࣮ͤͣʹ ࡁΉͳΒͦΕʹӽͨ͜͠ͱແ͍ʢ্࣮ͷҙࢥܾఆͱͯ͠ʣ. • ͲΜͳLow-codeͰͪΌΜͱΖ͏ͱ͢ΔͱLow͡Όͳ͘ͳΔ(ry
Low-codeͰ։ൃൃੜ͢Δ, ߟ͑Δ͜ͱଟ͍ͷͰͦͷਏ͞ߟྀ͠·͠ΐ͏. मߦͱࢥͬͯॻ͍ͯΈΔͷѱ͘ͳ͍ͱࢥ͍·͕͢⚾
Wrap up
TL;DRʢ࠶ܝʣ • ʢ͍͍ײ͡ʹखΛൈ͍ͯʣָʹΞϓϦ࡞ΔͳΒDash͍͍ͱࢥ͏. • ؤுͬͯԠ༻ޮ͔ͤͨΒ, ൺֱతେ͖ΊͷΞϓϦ࡞Εͯ͠·͏. • Low-codeΛબͿ࣌ଞͷखஈߟ͑Δͷ͕٢, ։ൃׂͬͯͱΩπ͍.
զࢥ͏&ࠓޙͷల. • SoIʢSystem of InsightʣͳػೳΛDashͰΨνͰΉΞΠσΞ, զͳ͕Βྑ͍ ΞΠσΞͩͬͨ. ࡞Γͳ͕ΒՄࢹԽΞϓϦͷΞΠσΞ͕രͨ͠ͷͰ֓೦࣮ ূʢPoCʣతʹྑ͔ͬͨ. •
Ұํ, ͬͺTableauLooker StudioͳΜ͔ͰΊͨ΄͏ָ͕͍͍ͩ͠Αͳ ͱ…͜͜·ͰຊؾͰΞϓϦ࡞ΔͱେมͬͪΌେมʢೝূೝՄͱ͔໘ʣ. • ࠓޙͰ͕͢, ੜAIͰʮ͖͏AIʯͳΤʔδΣϯτ࡞ͬͯͦΕͱձ͢Δະདྷ Λݟਾ͍͑ͯ·͢, Streamlitͱ͔Ͱ͜Ε࣮ݧ͢ΔͷͰͳ͔Ζ͏͔স.
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠. Shinichi Nakagawa
ʲAppendixʳࢀߟจݙ • Dash Document https://dash.plotly.com/ • Baseball savant https://baseballsavant.mlb.com/ •
https://shinyorke.hatenablog.com/entry/baseball-data- transformation-2024 ※࠷ॳͷDash MPAࣄྫʢࣗͷϒϩάʣ