Slide 1

Slide 1 text

࣮ફDash🐍 खΛൈ͖ͳ͕ΒຊؾͰ࡞ΔσʔλApplicationͷجຊͱԠ༻ Shinichi Nakagawa(@shinyorke) 2024/09/28

Slide 2

Slide 2 text

໔੹ࣄ߲ • ຊηογϣϯ͸ࢲʢத઒৳Ұʣݸਓͷܦݧɾҙݟʹجͮ͘ݟղͰ͢. • ॴଐ૊৫ɾاۀɾஂମΛ୅ද͢ΔൃݴɾҙݟͰ͸͍͟͝·ͤΜ. • ॴଐ૊৫ɾاۀ͓ΑͼͦͷεςʔΫϗϧμʔʹର͢Δ࣭͝໰, ͝ҙݟ, ໰͍߹Θ͓ͤΑͼۀ຿಺༰ʹ͸Ұ੾͓౴͑͢Δ͜ͱ͸Ͱ͖·ͤΜ. • ίϯςϯπ͸ࣗ࡞΋͘͠͸ʮ͍Β͢ͱ΍ʯ͕େ൒Ͱ͕͢ඞཁͳϞϊʹ ͍ͭͯ͸ग़యΛ໌ه͍ͯ͠·͢.

Slide 3

Slide 3 text

TL;DRʢ͜ͷ࿩ͷμΠδΣετʣ • ʢ͍͍ײ͡ʹखΛൈ͍ͯʣָʹΞϓϦ࡞ΔͳΒDash͸͍͍ͱࢥ͏. • ؤுͬͯԠ༻ޮ͔ͤͨΒ, ൺֱతେ͖ΊͷΞϓϦ΋࡞Εͯ͠·͏. • Low-codeΛબͿ࣌͸ଞͷखஈ΋ߟ͑Δͷ͕٢, ։ൃׂͬͯͱΩπ͍.

Slide 4

Slide 4 text

ࣗݾ঺հ • 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ʣ

Slide 5

Slide 5 text

͜ͷൃදΛݟͯ΄͍͠ɾௌ͍ͯ΄͍͠ਓ • Dash΍StreamlitͳͲʮLow-codeʯͳPython Framework͕ؾʹͳΔਓ. • DashΛ࢖͍ͬͯΔ, ໊લ͸஌͍ͬͯΔ͚ͲԿʹ࢖ͬͨΒ🤔తͳٙ໰͕͋Δਓ. • Web Application։ൃʹඞཁͳ஌ࣝͱܦݧ͕͋Δ. • ʲඞਢʳDjango΍Flask, Fast APIͰ࡞ͬͨ͜ͱ͋Δͥ. • ʲͰ͖Ε͹ʳAWS΍Google CloudͳΜ͔Ͱެ։ͨ͠ࣄ͋Δͥ. • ʢੈքҰ༗໊ͳʣΦΦλχαϯ͕Կऀ͔஌͍ͬͯΔํ⚾ ※ωλͰొ৔͠·͢

Slide 6

Slide 6 text

Dashͱ͸🤔

Slide 7

Slide 7 text

ʲ౴ʳָʹσʔλͷՄࢹԽΛ͢ΔFramework • Low-codeͳWeb FrameworkͰ, σʔλͷՄࢹԽʹશৼΓ͍ͯ͠Δ. • Python൛͸Flask͕ϕʔε. FlaskͰ࢖͑Δ΋ͷ͸͍͍ͩͨ࢖͑Δ. • OSS൛ͱEnterprise൛͕ଘࡏ. ͳ͓ຊτʔΫ͸͢΂ͯOSS൛ͷ࿩. ※ग़య: https://dash.plotly.com/

Slide 8

Slide 8 text

DashΛಋೖ͢Δ

Slide 9

Slide 9 text

DashΞϓϦΛಈ͔͢

Slide 10

Slide 10 text

͓͠ͳ͕͖ - جຊ͔ΒԠ༻, ࣮ફ·Ͱ⚾ • Dashͷجຊ - ͱΓ͋͑ͣ࡞ͬͯಈ͔͢ • DashͷԠ༻ - ࢓ࣄͰ࢖͏, ެ։͢Δ • ࣮ફฤʮϝδϟʔϦʔάσʔλͷՄࢹԽͱ෼ੳͷDXԽʯ • ࣅͨऀಉ࢜Ͱൺ΂ͯΈΔ - StreamlitͱԿ͕ҧ͏ͷ͔ʁ

Slide 11

Slide 11 text

Dashͷجຊ - ͱΓ͋͑ͣ࡞ͬͯಈ͔͢

Slide 12

Slide 12 text

DashͷجຊʢԿނʮखൈ͖ʯͳͷ͔ʣ • Hello Worldʢ෩ʣʹԿ͔Λ࡞Δ • σʔλΛՄࢹԽ͢Δ • callbackͱ஥ྑ͘ͳΔ

Slide 13

Slide 13 text

Hello Worldʢ෩ʣʹԿ͔Λ࡞Δ • 1ϑΝΠϧʢapp.pyʣͰಈ͔͢ΞϓϦΛ൸࿐͠·͢. • CSVσʔλΛΤΠοͱՄࢹԽʢpandasͰಡΜͰplotlyͰՄࢹԽʣ. • ʢDashͰ͸ආ͚ͯ௨Εͳ͍ʣcallbackΛ࢖͏. • ϓϧμ΢ϯͰબखΛબ୒ͨ͠ΒϗʔϜϥϯͷ਺͕ग़ΔΞϓϦͰ͢. • σʔλ͸ http://seanlahman.com/ ͔ΒMLBͷଧܸ੒੷σʔλΛར༻.

Slide 14

Slide 14 text

Hello Worldʢ෩ʣͷsample

Slide 15

Slide 15 text

Hello Worldʢ෩ʣͷsample

Slide 16

Slide 16 text

σʔλΛՄࢹԽ • pandasͷDataframeΛ࡞Δ • PlotlyͷΦϒδΣΫτΛ࡞Δ • ௚઀ϖʔδʹຒΊࠐΉ͔, callbackͰ͍͍ײ͡ʹϋϝΔ

Slide 17

Slide 17 text

Dash࠷ॳͷਏΈʮcallbackʯ

Slide 18

Slide 18 text

Callbackͷجຊ • @callbackσίϨʔλͰ࣮૷. • OutputͰग़ྗઌ, InputͰೖྗΛࢦఆ. Ͳ ͪΒ΋ෳ਺ࢦఆՄʢ1…nݸͷInputͰ, 1…nݸͷOutput͕Մೳʣ • Dashͷϑϩϯτ෦෼͸ReactͳͷͰ, React࢖͍ͷਓʹ͸ͱ͖ͬͭ΍͍͔͢΋.

Slide 19

Slide 19 text

CallbackΛ੍͢Δऀ͕DashΛ੍͢Δ • DashͷΞϓϦ։ൃͷ൒෼͕callbackͳͷͰ͸આʢҟ࿦͸ೝΊΔʣ • Կ͔͠ΒͷΠϕϯτʢ=ೖྗʣͰඞཁͳσʔλʢ=ग़ྗʣΛಘΔͷ͕ ΞϓϦέʔγϣϯͳͷͰ౰વͱݴ͑͹౰વ. • Dashͷcallback͸௚ײతͰ૊Έ΍͍͢Ұํ, ΍Γ͗͢ΔͱΞϓϦ͕ෳ ࡶʹͳͬͨΓ, ඳըͳͲͷύϑΥʔϚϯεʹӨڹग़ΔͷͰ஫ҙ.

Slide 20

Slide 20 text

DashͰ࣮ݱ͢Δ ʮखൈ͖ʯײ • ͪΐͬͱPythonΛ஌ͬͯॻ͚Ε͹Կ ͔͠ΒͷσʔλՄࢹԽΛͰ͖Δͷ͕ DashͷڧΈʢݸਓతͳݟղʣ. • HTML΍JSΛॻ͔ͳͯ͘΋, pandas ΍plotlyͷίϯϙʔωϯτΛద౰ʹ ಥͬࠐΜͰ࡞ΕΔʮखൈ͖ײʯ͸ૉ ੖Β͍͠ͱࢥ͏.

Slide 21

Slide 21 text

DashͷԠ༻ - ࢓ࣄͰ࢖͏, ެ։͢Δ

Slide 22

Slide 22 text

DashͷԠ༻ʢ΋͘͠͸ʮຊؾʯͷ෦෼ʣ • σʔλͷऔΓѻ͍ͱScope • ೝূೝՄΛ࣮૷͢Δ • Ϋϥ΢υʹσϓϩΠ͢Δʢੈͷதʹެ։͢Δʣ

Slide 23

Slide 23 text

σʔλͷऔΓѻ͍ͱScope • Dash͸StatelessͳWeb Framework. σʔλ͸อ࣋ͯ͘͠Ε·ͤΜ. • Pythonͷݴޠ࢓༷తʹ͸, ʮGlobalʯʮLocalʯͷScopeͰઓ͏͜ͱʹ. • Global Scope: Globalͳม਺Ͱͷอ࣋. ىಈ࣌ʹऔಘ. • Local Scope: ؔ਺಺Ͱͷอ࣋. DashͰ͸callback಺Ͱݺͼग़͠. • Ͳ͏ͯ͠΋σʔλอ͍࣋ͨ࣌͠͸http session΍֎෦ετϨʔδʹཔΔ.

Slide 24

Slide 24 text

Global ScopeͱLocal Scopeʢ΋͸΍Pythonͷ࿩ʣ.

Slide 25

Slide 25 text

ೝূೝՄΛ࣮૷͢Δ • OSS൛Dashͱͯ͠͸BasicೝূͷΈରԠ. • Basicೝূ͕NGͷ৔߹, ҎԼͰରԠʢ͓ۚΛ෷͏͔໘౗ͳࣄΛ͢Δ͔ʣ. • Enterprise൛DashͩͱLDAP, SAML, OIDC͕ར༻Մೳ💰 • Dashͷݩ͸FlaskͳͷͰࣗ෼Ͱ࣮૷͢ΔʢԞͷखͱͯ͠ʣ ※ʮࣗ෼Ͱ࣮૷ʯ͸͔ͳΓͷϦεΫ͕͋ΔͷͰࣗݾ੹೚Ͱ͓ئ͍͠·͢.

Slide 26

Slide 26 text

DashͰೝূೝՄΛ࢖͏ʢdash-auth͕ඞཁʣ

Slide 27

Slide 27 text

DashͰೝূೝՄΛ࢖͏ʢίʔυʣ

Slide 28

Slide 28 text

DashʢʹݶΒͣWebΞϓϦશൠʣͷਏΈʮσϓϩΠͲ͏͢Δ໰୊ʯ

Slide 29

Slide 29 text

Ϋϥ΢υʹσϓϩΠ͢Δʢ=ެ։͢Δʣ • DockerͰContainer Imageͱͯ͠ѻ͏ͷ͕ϕετʢී௨ͷWebΞϓϦಉ༷ʣ. • ࠷ޙʹग़͢ઌ͕AWS, Google Cloud, AzureͳͲͷΫϥ΢υͳΒͳ͓ͷ͜ͱ. • ϩʔΧϧͰ࡞ͬͨDashΞϓϦΛͦͷ··Ͱ͸ग़ͤͳ͍ͷͰͪΐͬͱ޻෉͢Δ. 1.Application ServerΛProduction༻ͷ΋ͷʹ͢Δ. 2.Docker Imageͱͯ͠Build͢Δ. 3.Ϋϥ΢υʹσϓϩΠ͢Δ.

Slide 30

Slide 30 text

Productionʢຊ൪ʣӡ༻ͷͨΊʹखೖΕ͢Δ • ։ൃ༻ͷapp.runͰ͸ͳ͘, Production༻ͷαʔόʔΛ࢖͏. • ۩ମతʹ͸FlaskͰΑ͘࢖͏gunicornͳͲΛ࢖͏. • ެࣜͷࣄྫ΋gunicorn https://dash.plotly.com/deployment

Slide 31

Slide 31 text

gunicornΛ࢖͏ • ίʔυʹ1ߦ௥Ճ. • gunicornΛೖΕͯಈ͔͢. • ͜ͷลFlaskͱશ͘ಉ͡.

Slide 32

Slide 32 text

DockerΛ࢖͏ • PythonͷWebΞϓϦͱͯ͠ Dockerʹ·ͱΊΔ. • ͜ͷล͸ଞͷWeb Framework ͱ΍Γํ͸มΘΒͣ. • ίʔυαϯϓϧ͸͋͘·ͰҰྫ.

Slide 33

Slide 33 text

σϓϩΠ͢Δ (Google Cloud) • ΞϓϦΛಈ͔͢؀ڥʹՃ͑ͯ, Dockerͷ RegistryͱBuildͷखஈΛ༻ҙ. • Google Cloudͷ৔߹, ʮCloud Runʯ ʮArtifact RegistryʯʮCloud BuildʯͰ ࣮ݱՄೳ. • AWSͳͲ, ଞͷΫϥ΢υͰ΋ࣅͨײ͡ʹ ͳΓ·͢.

Slide 34

Slide 34 text

࣮ફฤʮϝδϟʔϦʔάσʔλͷՄࢹԽͱ෼ੳͷDXԽʯ

Slide 35

Slide 35 text

࣮ફྫʮMLBσʔλͷՄࢹԽͱ෼ੳʯͷDXԽ • ໺ٿσʔλ෼ੳDXͷҝʹʮϚϧνϖʔδʯͳDashΞϓϦΛߏங • ෼ੳྫͦͷᶃʮ࠷΋଎͍ଧٿͱ౤ٿʯ • ෼ੳྫͦͷᶄʮ50-50Λ΍ͬͨ͋ͷํʯ

Slide 36

Slide 36 text

ʲ͓୊ʳϝδϟʔϦʔά⚾ͷΦϨΦϨDXԽ • ʮϝδϟʔͷϠό͍બखΛγϡοͱ෼ੳͰ͖ΔΑ͏ͳσʔλՄࢹԽʯι ϦϡʔγϣϯΛ2022೥͔Βӡ༻͍ͯ͠·͢ʢݸਓͰʣ. • MLBެࣜͷϏοάσʔλʮStatcastʯͰΦΦλχαϯΛ͸͡Ίͱͨ͢͠΂ͯ ͷϓϨʔϠʔͷओཁͳσʔλ͕खʹೖΓ·͢ʢ2010೥୅Ҏ߱ʣ • γεςϜ͸σʔλՄࢹԽΞϓϦʢDashଞʣͱσʔλج൫ʢBigQueryଞʣͰ ߏங, ޙऀͷσʔλऩूɾूܭͷج൫͸PyCon JP 2022, σϒαϛ౳Ͱࣄྫ ൃද͍ͯ͠ΔͷͰͦͪΒΛ͝ཡ͋Ε.

Slide 37

Slide 37 text

ʲࢀߟʳPyCon JP 2022ʮPython࢖͍ͷͨΊͷεϙʔπσʔλղੳͷ͖΄Μʯ࣌఺ͷ࡞඼. ※౰࣌͸ج൫ʢPySpark/Dataprocʣͷ࿩ϝΠϯͰDash͸Ұ੾࿩͍ͯ͠ͳ͍. શମΞʔΩ 2022೥౰࣌ͷDashΞϓϦʢSPAʣ

Slide 38

Slide 38 text

2024೥ʹ΍Γ͔ͨͬͨ͜ͱ

Slide 39

Slide 39 text

ؾʹͳΔϝδϟʔϦʔΨʔͷσʔλΛγϡοͱோΊ͍ͨ. ۩ମతʹ͸ʮ੒੷Ͱιʔτʯͯ͠௚઀બखͷϖʔδʹϦϯΫͯ͠දࣔ. ੒੷Ͱιʔτͨ͠Topը໘ Topը໘͔ΒͷϦϯΫͰ੒੷දࣔ

Slide 40

Slide 40 text

͜ΜͳαΠτϚοϓͰ࣮૷͍͕ͨ͠…΋͸΍SPAͰ͸ແཧ.

Slide 41

Slide 41 text

ʲDashͷ࣮ફʳMPAʢMulti Page Applicationʣ • Dash͸SPA͚ͩͰͳ͘, ෳ਺ϖʔδʢMPAʣͷΞϓϦ͕࣮૷Մೳ. • SPA͡Ό೉͍͠ΞϓϦΛMPAʹ࡞Γม͑Δͷ͸ൺֱత༰қʹՄೳ. • URLݻఆϖʔδʹՃ͑ͯ, URLύλʔϯͰಈతϖʔδʹ͢Δ͜ͱ΋Մೳ. • ؤுΕ͹Dash͚ͩͰ΋͋Δఔ౓ͷWebαΠτ͸࡞Εͯ͠·͏. • ͳ͓, Dash͸StatelessͳFrameworkͰσʔλΛ࣋ͨͳ͍ҝ, ϖʔδΛލ͙ σʔλ࿈ܞ͸Φεεϝ͠·ͤΜʢ΍Δͷ͸૬౰ΩπΠͱࢥΘΕΔʣ.

Slide 42

Slide 42 text

MPAΛ࣮૷͢Δʢงғؾʣ ※MPAͷ۩ମతͳ࣮૷ղઆ͸ެࣜ https://dash.plotly.com/urls Λ͝ཡ͍ͩ͘͞.

Slide 43

Slide 43 text

࣮ࡍʹ࢖ͬͯΈͨ⚾

Slide 44

Slide 44 text

Statcast ʢ&ࢲʣ͕ਪ͢ ʮ਎ମೳྗ͓Խ͚ͳօ༷ʯ • ଧٿ଎౓͕ਓؒͱ͸ࢥ͑ͳ͍. • ࠷΋଎͍ϘʔϧΛ౤͛ͨਓ. • 50-50? ※σʔλ͸2024೥9݄27೔ʢ೔ຊ࣌ؒʣ࣌఺ͷ΋ͷ. ※ʢؔ܎ͳ͍͚Ͳʣ೔ϋϜCSਐग़ඇৗʹΊͰ͍ͨ🎉

Slide 45

Slide 45 text

ΦχʔϧɾΫϧʔζ ʢ2024೥ଧٿ଎౓࠷଎Ԧʣ • 5/21ʹ2024೥ͷMLB࠷଎ͱͳΔ, 195.53 km/h ͷೋྥଧΛه࿥ • ϐοπόʔΫɾύΠϨʔζॴଐ, 25ࡀͷएख γϣʔτ݉ηϯλʔ • ଧܸ੒੷͸ͦͦ͜͜ྑͦ͞͏ͳ΋ͷͷ, कඋࢦ ඪ͕ѱ͘ѻ͍ʹࠔΓͦ͏ͳ༧ײ. • ͪͳΈʹΦΦλχαϯ͸ࠓγʔζϯ191.83km/ hͷ୯ଧΛه࿥͍ͯ͠Δ.

Slide 46

Slide 46 text

ΞϩϧσΟεɾνϟοϓϚϯ ʢπʔγʔϜ࠷଎Ԧʣ • 8/7ʹ2024೥ͷMLB࠷଎ͱͳΔ, 172.36 km/hͷπʔ γʔϜʢsinker, ಈ͘ਅͬ௚͙ͷ͜ͱʣΛه࿥ • ͜ͷϘʔϧͷ݁Ռ͸ݟಀ͠ετϥΠΫ. • ޚࡀ36ࡀͳ͕Β, ͣͬͱMLBͷ࠷଎Ԧʹ܅ྟ͠ଓ͚ Δਓྨ࠷଎ࠨ࿹. • Կٿஂ΋౉Γา͍ͯݱࡏ͸ϐοπόʔΫɾύΠϨʔ ζॴଐ. • Ͳ͏Ͱ΋͍͍͚ͲύΠϨʔπʹԦ͕ू·͍ͬͯΔ🤔

Slide 47

Slide 47 text

େ୩ᠳฏ ʢઆ໌͸লུʣ • ੌ͗ͯ͢Կ͔Βݴ͑͹͍͍ͷ͔😇 • ͔֬ͳͷ͸ଧٿ͸্͕ͬͯΔ, ଎ ౓΋଎͍ͬͯ͋ͨΓύϑΥʔϚϯ ε͕͍͢͝. • དྷ೥, ౤खΛ΍ͬͨΒͲΕ͚ͩͷ ύϑΥʔϚϯε͕ग़Δͷָ͔͠Έ.

Slide 48

Slide 48 text

ʮStreamlitͱͲ͕͍͍ͬͪͰ͔͢?ʯ ؾʹͳΓ·ͤΜ?

Slide 49

Slide 49 text

Ͳͬͪ΋Python੡ͷLow-codeͳFWͰࣅͨ΋ͷಉ࢜, ൺֱͪ͠Ό͍·ͤΜ? #ׂͱ͋Γ͕ͪͳ࣭໰ #͜Ε͕ฉ͖ͨͯ͘͜ͷτʔΫʹདྷͨΜͰ͠ΐ? #࿩͠·͢Ͷ Streamlit ※PyCon JP 2021ൃදΑΓҾ༻ Dash ※ࠓճͷ࡞඼ʢ2024ʣ

Slide 50

Slide 50 text

ࢲʢshinyorkeʣͷݟղɹ˞ݸਓతͳײ૝Ͱ͢ ؾʹͳΔϙΠϯτʢൺ΂ΔΞϨʣ %BTI 4USFBNMJU αΫοͱ࡞ͬͯެ։Ͱ͖Δ͔ ͋Δఔ౓ϖʔδΛσβΠϯ͢Δඞཁ͋Δ ؾָʹ࡞ͬͯެ։͢Δײ͡Ͱ͸ͳ͍ ྑ͘΋ѱ͘΋ϨΠΞ΢τ͕ܾ·Γ΍͍͢ ͷͰָ͘͢͝ʢ͍͡Δൣғ͸গͳ͍ʣ ͔ͬ͠ΓσβΠϯͯ͠࡞ΕΔ͔ ίϯϙʔωϯτͷ૊Έ߹Θͤ σβΠϯ ςʔϚΛ࡞͍͍ͬͯײ͡ʹ࡞ΕΔ 4USFBNMJUಛ༗ͷσβΠϯ͕ड͚ೖΕΒ Εͳ͍৔߹ ٧Ή ࣮૷ɾςετͷײ৮ ίϯϙʔωϯτ͓Αͼ$BMMCBDLͷςετ ࣮૷ʹ͸ۤ࿑͢Δ ίϯϙʔωϯτͷςετ͸֎෦ϥΠϒϥ ϦͰߦ͚Δςετʹ͸ۤ࿑ͦ͠͏ ͦΕͧΕͷݸੑɾಛ௃ શൠతʹσʔλͷՄࢹԽʹڧ͍ Ϛϧνϖʔδߏ੒ͰͷΞϓϦߏங͕Մೳ ೖग़ྗ͕සൟʹ͋Δ ΠϯλϥΫςΟϒ ͳΞϓϦͳΒ4USFBNMJU$IBU΋࡞ΕΔ

Slide 51

Slide 51 text

DashͱStreamlitʢͱଞͷαʔϏεʣ͸࢖͍෼͚͕٢ • ಉ͡Low-code FrameworkͰ΋໨తɾڧΈ͕ҧ͏ͷͰ࢖͍෼͚Α͏. • άϥϑ΍ϏδϡΞϥΠθʔγϣϯΛΰϦοͱ΍ΔͳΒDash. • Chat΍FormͳͲͷΠϯλϥΫςΟϒͳΞϓϦ͸Streamlit. • ͲͪΒʹͯ͠΋, Tableau΍Looker StudioͳͲͷαʔϏεͰ࣮૷ͤͣʹ ࡁΉͳΒͦΕʹӽͨ͜͠ͱ͸ແ͍ʢ࣮຿্ͷҙࢥܾఆͱͯ͠͸ʣ. • ͲΜͳLow-codeͰ΋ͪΌΜͱ΍Ζ͏ͱ͢ΔͱLow͡Όͳ͘ͳΔ(ry

Slide 52

Slide 52 text

Low-codeͰ΋։ൃ͸ൃੜ͢Δ, ߟ͑Δ͜ͱ΋ଟ͍ͷͰͦͷਏ͞͸ߟྀ͠·͠ΐ͏. मߦͱࢥͬͯॻ͍ͯΈΔͷ͸ѱ͘ͳ͍ͱࢥ͍·͕͢⚾

Slide 53

Slide 53 text

Wrap up

Slide 54

Slide 54 text

TL;DRʢ࠶ܝʣ • ʢ͍͍ײ͡ʹखΛൈ͍ͯʣָʹΞϓϦ࡞ΔͳΒDash͸͍͍ͱࢥ͏. • ؤுͬͯԠ༻ޮ͔ͤͨΒ, ൺֱతେ͖ΊͷΞϓϦ΋࡞Εͯ͠·͏. • Low-codeΛબͿ࣌͸ଞͷखஈ΋ߟ͑Δͷ͕٢, ։ൃׂͬͯͱΩπ͍.

Slide 55

Slide 55 text

զࢥ͏&ࠓޙͷల๬. • SoIʢSystem of InsightʣͳػೳΛDashͰΨνͰ૊ΉΞΠσΞ, զͳ͕Βྑ͍ ΞΠσΞͩͬͨ. ࡞Γͳ͕ΒՄࢹԽ΍ΞϓϦͷΞΠσΞ͕ര஀ͨ͠ͷͰ֓೦࣮ ূʢPoCʣతʹ΋ྑ͔ͬͨ. • Ұํ, ΍ͬͺTableau΍Looker StudioͳΜ͔Ͱ૊Ίͨ΄͏ָ͕͍͍ͩ͠Αͳ ͱ…͜͜·ͰຊؾͰΞϓϦ࡞ΔͱେมͬͪΌେมʢೝূೝՄͱ͔໘౗ʣ. • ࠓޙͰ͕͢, ੜ੒AIͰʮ΍͖͏AIʯͳΤʔδΣϯτ࡞ͬͯͦΕͱձ࿩͢Δະདྷ Λݟਾ͍͑ͯ·͢, Streamlitͱ͔Ͱ͜Ε΋࣮ݧ͢ΔͷͰ͸ͳ͔Ζ͏͔স.

Slide 56

Slide 56 text

͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠. Shinichi Nakagawa

Slide 57

Slide 57 text

ʲAppendixʳࢀߟจݙ • Dash Document https://dash.plotly.com/ • Baseball savant https://baseballsavant.mlb.com/ • https://shinyorke.hatenablog.com/entry/baseball-data- transformation-2024 ※࠷ॳͷDash MPAࣄྫʢࣗ෼ͷϒϩάʣ