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
Shinichi Nakagawa
PRO
September 28, 2024
Programming
2
3.5k
実践Dash - 手を抜きながら本気で作るデータApplicationの基本と応用 / Dash for Python and Baseball
PyCon JP 2024 9/28 Talk Session 発表資料
Shinichi Nakagawa
PRO
September 28, 2024
Tweet
Share
More Decks by Shinichi Nakagawa
See All by Shinichi Nakagawa
生成AI時代におけるSREの進化とキャリア戦略 / Building an Embedded SRE team and my career
shinyorke
PRO
0
100
生成AIを活用した野球データ分析 - メジャーリーグ編 / Baseball Analytics for Gen AI
shinyorke
PRO
1
4.9k
ゼロから始めるSREの事業貢献 - 生成AI時代のSRE成長戦略と実践 / Starting SRE from Day One
shinyorke
PRO
2
4.7k
AI・LLM事業部のSREとタスクの自動運転
shinyorke
PRO
0
470
Terraform, GitHub Actions, Cloud Buildでデータ基盤をProvisioningする / Data Platform provisioning for Google Cloud and Terraform
shinyorke
PRO
2
3.4k
Cloud RunとCloud PubSubでサーバレスなデータ基盤2024 with Terraform / Cloud Run and PubSub with Terraform
shinyorke
PRO
9
4.2k
自らを強いエンジニアにするための3つの習慣 / I need to be myself, I can't be no one else
shinyorke
PRO
85
88k
阪神タイガース優勝のひみつ - Pythonでシュッと調べた件 / SABRmetrics for Python
shinyorke
PRO
1
1.5k
Pythonとクラウドと野球の推し活. / Baseball Data Platform for Python and Google Cloud
shinyorke
PRO
2
3k
Other Decks in Programming
See All in Programming
私はどうやって技術力を上げたのか
yusukebe
43
17k
いま中途半端なSwift 6対応をするより、Default ActorやApproachable Concurrencyを有効にしてからでいいんじゃない?
yimajo
2
340
Pythonスレッドとは結局何なのか? CPython実装から見るNoGIL時代の変化
curekoshimizu
4
1.3k
Reduxモダナイズ 〜コードのモダン化を通して、将来のライブラリ移行に備える〜
pvcresin
2
680
Your Perfect Project Setup for Angular @BASTA! 2025 in Mainz
manfredsteyer
PRO
0
120
Web フロントエンドエンジニアに開かれる AI Agent プロダクト開発 - Vercel AI SDK を観察して AI Agent と仲良くなろう! #FEC余熱NIGHT
izumin5210
3
380
そのpreloadは必要?見過ごされたpreloadが技術的負債として爆発した日
mugitti9
2
3k
WebエンジニアがSwiftをブラウザで動かすプレイグラウンドを作ってみた
ohmori_yusuke
0
170
クラシルを支える技術と組織
rakutek
0
190
PostgreSQLで手軽にDuckDBを使う!DuckDB&pg_duckdb入門/osk2025-duckdb
takahashiikki
1
240
uniqueパッケージの内部実装を支えるweak pointerの話
magavel
0
910
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
140
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
890
Typedesign – Prime Four
hannesfritz
42
2.8k
Building Applications with DynamoDB
mza
96
6.6k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
The Pragmatic Product Professional
lauravandoore
36
6.9k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Testing 201, or: Great Expectations
jmmastey
45
7.7k
It's Worth the Effort
3n
187
28k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Rails Girls Zürich Keynote
gr2m
95
14k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.5k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
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ࣄྫʢࣗͷϒϩάʣ