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
カンファレンス映えするデモアプリをPythonとCloud Runでいい感じに作った話 / D...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Shinichi Nakagawa
PRO
November 19, 2022
Programming
320
1
Share
カンファレンス映えするデモアプリをPythonとCloud Runでいい感じに作った話 / Data Visualization for Dash and Cloud Run
PyLadies Tokyo 8 周年記念パーティーLT
Shinichi Nakagawa
PRO
November 19, 2022
More Decks by Shinichi Nakagawa
See All by Shinichi Nakagawa
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
460
WBCの解説は生成AIにやらせよう - 生成AIで野球解説者AI Agentを実現する / Baseball Commentator AI Agent for Gemini
shinyorke
PRO
1
440
自らを強いエンジニアにするための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
実践Dash - 手を抜きながら本気で作るデータApplicationの基本と応用 / Dash for Python and Baseball
shinyorke
PRO
2
4.5k
Terraform, GitHub Actions, Cloud Buildでデータ基盤をProvisioningする / Data Platform provisioning for Google Cloud and Terraform
shinyorke
PRO
2
3.7k
Other Decks in Programming
See All in Programming
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
210
JavaDoc 再入門
nagise
0
190
開発体験を左右するライブラリの API 設計 - GraphQL スキーマ構築ライブラリから考える #tskaigi
izumin5210
2
1.2k
TypeScriptだけでAIエージェントを作る フロント・エージェント・インフラのフルスタック実践
har1101
6
1.2k
横断組織出身のQAEがインプロセスQAEでつまずいたこと・活かせたこと
ty89
0
440
CLIであることを活かしたGitHub Copilot CLI活用術 / GitHub Copilot CLI Pro Tips & Tricks
nao_mk2
1
1.1k
ビジネスモデルから紐解く、AI+型駆動開発
hirokiomote
2
3.6k
Technical Debt: Understanding it Rightly, Engaging it Rightly #LaravelLiveJP
shogogg
0
160
OCRを使ってゲームのアイテムをデータ化する
kishikawakatsumi
0
120
Spec-Driven Development with AI-Agents: From High-Level Requirements to Working Software
antonarhipov
2
380
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
390
The Arts and Crafts of Work in the AI Era — Toward Mastery in Software Development
kuranuki
1
660
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
Building AI with AI
inesmontani
PRO
1
1k
Designing for humans not robots
tammielis
254
26k
It's Worth the Effort
3n
188
29k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.2k
Optimising Largest Contentful Paint
csswizardry
37
3.7k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
250
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
160
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
380
Raft: Consensus for Rubyists
vanstee
141
7.5k
Code Reviewing Like a Champion
maltzj
528
40k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
190
Transcript
ΧϯϑΝϨϯεө͑͢Δ σϞΞϓϦΛ΄΅Python͚ͩͰ ࡞ͬͨ with Cloud Run⚾ ㅟ ㅟ ㅟ ㅟ
ㅟ ㅟ ㅟ ㅟ ㅟ ㅟ PyConJP 2022 ͰΕͳ͔ͬͨΛ͜͜Ͱڙཆ͠·͢ͷר Shinichi Nakagawa@shinyorke 2022/11/19 PyLadies Tokyo 8पه೦LT
Who am ɹ? ʢ͓લ୭Α?ʣ • Shinichi Nakagawa@shinyorke • େख֎ࢿܥITίϯαϧاۀϚωʔδϟʔ •
ຊͷPythonք۾Ͱʮ⽁ͷਓʯͱݺΕ͍ͯΔ • PyConJPొஃ8ճʢ2014-2018, 2020-2022ʣ ʢ2019ຐ͕ࠩͨ͠ҰൠࢀՃऀʣ • PyLadies Tokyo ̋पLTࢀՃ8ճ ʢॳճ͔Βϑϧग़ܧଓதʣ #Python #Serverless #GoogleCloud #Baseball #DataScience #SABRmetrics
ຊͷ͓ • DashΛͬͯʮ΄΅Python͚ͩʯͰWebΞϓϦέʔγϣϯΛ࡞Δ • DashΞϓϦέʔγϣϯΛGoogle CloudͰ͍͍ײ͡ʹϗετ͢Δ
Ͳ͏͍͏Ϟϊ͔ͻͱ·͓ͣݟͤ͠·͢.
ΦΦλχαϯʂʂΩϡϯͰ͢ὑ खͰೋܻউͪͳ͕Βଧͬͯ34ຊྥଧ…Τά͍.
ΦΦλχαϯʂʂΩϡϯͰ͢ὑ खͰೋܻউͪͳ͕Βଧͬͯ34ຊྥଧ…Τά͍.
σϞΞϓϦέʔγϣϯߏ • ΞϓϦຊମDashͰ࣮ͨ͠ϑϩϯτΤϯυ, Cloud RunͰϗετ • API GatewayΛ௨ͯ͠όοΫΤϯυʹΞΫηε • όοΫΤϯυCloud
Functionsʹ͋Δʢ͜ΕPythonʣ, DatabaseͷதΛJSONͰฦ͢RESTful API
Dash • άϥϑඳըɾՄࢹԽϥΠϒϥϦʮPlotlyʯΛ ͍͍ײ͡ͳWebΞϓϦͱͯ͠࡞ΔͨΊͷFW • αʔόʔαΠυΞϓϦͷϕʔεFlask, ϑϩϯτReactͱ͍͏ ʢྲྀߦΓͬΆͯ͘ʣ͍͍ײ͡ͳߏ
• ૉͷJavaScriptɾHTMLΛॻ͔ͳͯ͘, Python͚ͩͰΠέΔॴ͕ ؾʹೖΓ, σϞΞϓϦͷϕʔεͱͯ͠࠾༻
ίʔυʢงғؾʣ • ࠷ॳظͷίʔυͷεΫγϣͰ͢ • HTMLʹͨ͠ίϯϙʔωϯτΛ ΰϦͬͱॻ͘ • ΠϕϯτۦಈͰͷॻ͖͑
CallbackͳσίϨʔλʔͰ࣮ • ͳΜͱͳ͘Ͱ͕͢ReactͬΆ͍ งғؾʹʢͳ͓callbackࠈʣ
Cloud RunͷϗεςΟϯά • GitHub Repositoryʹpushͨ͠ΒGitHub Actions͕ൃՐ, ςετ -> Docker Build
-> Cloud RunσϓϩΠ • ςετpytest, flake8, mypyΛGitHub Actions্Ͱ࣮ࢪʢunit, integration·Ͱ୲อ͢ΔΠϝʔδʣ • Docker buildCloud Runͷඪ४తͳΓํʹै͏. • Cloud Build্ͰϏϧυ • Artifact Registryʹpush • Cloud RunͷσϓϩΠGithub ActionsͷެࣜΛ࣮ͬͯࢪ. • ͪͳΈʹଞͷΫϥυαʔϏεͰ༨༟ͰΕΔͱࢥ͍·͢ʢAWS, Azure, etc…ʣ
Github Actionsͷఆٛ test->build->deploy • ݱࡏӡ༻͍ͯ͠ΔΞϓϦͷ GitHub Actionsఆٛ • ࣮ݱ͢Δͷʹ100ߦ͍ۙ
yamlఆ͕ٛඞཁʹ…orz • ͜͜·ͰΔΜͩͬͨΒ build/deployterraformͷํ͕ Ή͠Ζָ͔͠Εͳ͍આ
·ͱΊ • DashΛ͑΄΅Python͚ͩͰ σʔλΛݟͤΔΞϓϦΛ࡞Ε·͢. • ίϯςφԽͯ͠Cloud RunͰ ϗετ͢Δͷָ͕Ͱྑ͍Ͱ͠ΐ͏.
ʢଞͷΫϥυͰͪΖΜOKʣ • ΦΦλχαϯ, ΩϡϯͰ͢ὑ
࣌ؒͷ߹্ંͬͨ • API GatewayͱόοΫΤϯυͷંΓ·ͨ͠🙏 • ϦΫΤετ͋Ε࣭ٙԠɾϒϩάɾผͰ͢ͳͲ͠·͢ • ͜͏͍͏ઃܭʹԿނ͔ͨ͠ʁؚΊͯ·ͨΓ·͢👍
PyLadies Tokyo 8प͓ΊͰͱ͏͍͟͝·͢🎉 ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠