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.8k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
実践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
500
WBCの解説は生成AIにやらせよう - 生成AIで野球解説者AI Agentを実現する / Baseball Commentator AI Agent for Gemini
shinyorke
PRO
1
470
自らを強いエンジニアにするための3つの習慣 2025/ Fitter happier more productive
shinyorke
PRO
0
300
生成AI時代におけるSREの進化とキャリア戦略 / Building an Embedded SRE team and my career
shinyorke
PRO
0
170
生成AIを活用した野球データ分析 - メジャーリーグ編 / Baseball Analytics for Gen AI
shinyorke
PRO
1
6.4k
ゼロから始めるSREの事業貢献 - 生成AI時代のSRE成長戦略と実践 / Starting SRE from Day One
shinyorke
PRO
3
8.3k
AI・LLM事業部のSREとタスクの自動運転
shinyorke
PRO
0
570
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.5k
Other Decks in Programming
See All in Programming
What's New in Android 2026
veronikapj
0
130
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
410
音楽のための関数型プログラミング言語mimiumにおける多段階計算の活用
tomoyanonymous
1
350
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
530
フィードバックで育てるAI開発
kotaminato
1
120
1年で人数1.5倍、PR数5.5倍増。 品質とアウトカムはどうなったか、 何が効いたか
ike002jp
0
140
광주소프트웨어마이스터고등학교 DevFest 특강 - 바이브 코딩 시대에서 주니어 개발자로 살아남는 방법
utilforever
1
150
【やさしく解説 設計編 #1】「ドメイン駆動」と「実装駆動」ってなに? 〜設計の考え方を、たとえ話で学ぼう〜
panda728
PRO
1
120
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
1
2.9k
えっ!!コードを読まずに開発を!?
hananouchi
0
230
SLOをサービス品質の共通言語にするために 取り組んできたこと
wakana0222
0
540
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
360
Featured
See All Featured
Fireside Chat
paigeccino
42
4k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
How to train your dragon (web standard)
notwaldorf
97
6.7k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
Making the Leap to Tech Lead
cromwellryan
135
10k
Google's AI Overviews - The New Search
badams
0
1.1k
What's in a price? How to price your products and services
michaelherold
247
13k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
660
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
510
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
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ࣄྫʢࣗͷϒϩάʣ