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
AIで加速する文化祭ソフトウェア開発 / Software Development for S...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Ogata Katsuya
November 28, 2025
64
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AIで加速する文化祭ソフトウェア開発 / Software Development for School Festivals Accelerated by AI
Ogata Katsuya
November 28, 2025
More Decks by Ogata Katsuya
See All by Ogata Katsuya
ML基盤構築インターン最終発表 ~k8s カスタムスケジューラ~ / ML platform internship final presentation
ogatakatsuya
0
64
【初心者向け勉強会#9】MLOpsの基本 ~構築から運用まで~ / MLOps Basics: From Development to Operations
ogatakatsuya
1
200
Defensive LLM Calling
ogatakatsuya
0
220
Vibe-Coding で作ったアプリを 文化祭で運用した話 / The story of running an app I built with Vibe-Coding at a school festival
ogatakatsuya
1
200
ハッカソンの勘所とエンジニアリングへの活かし方 / What Hackathons Teach Us and How to Bring That into Engineering
ogatakatsuya
0
74
Kubernetesで分散処理をやってみる-Kafkaを添えて-
ogatakatsuya
0
260
ソフトウェアアーキテクチャ入門 / Introduction to Software Architecture
ogatakatsuya
2
210
大学のサークルプラットフォームを作った話
ogatakatsuya
0
150
Go College
ogatakatsuya
0
210
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1370
210k
Thoughts on Productivity
jonyablonski
76
5.2k
Skip the Path - Find Your Career Trail
mkilby
1
170
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
190
A better future with KSS
kneath
240
18k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
Deep Space Network (abreviated)
tonyrice
0
230
Site-Speed That Sticks
csswizardry
13
1.3k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.7k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
630
Tell your own story through comics
letsgokoyo
1
1k
Transcript
AI׆༻ʹ͍ͭͯޠΖ͏ - Progate Bar 2025/11/28 AIͰՃ͢ΔจԽࡇιϑτΣΞ։ൃ Katsuya Ogata
ࣗݾհ • ॹํ ࠀ࠸ (͓͕ͨ ͔ͭ) • େࡕେֶ 4ੜ •
LLMΛ༻͍ͨಈըղੳͷݚڀ • ͜ͷલ·ͰΦʔετϥϦΞͷϝϧϘϧϯʹ ߦͬͯ·ͨ͠ • ݸਓαΠτ • www.ogatakatsuya.com
Agenda 1. ग़లͨ͠ͷ 2. ΞϓϦέʔγϣϯͷ֓ཁ 3. ߏ 4. AI׆༻ 5.
݁Ռ 6. ·ͱΊ
1. ग़లͨ͠ͷ
·͔ͪͶࡇͰग़లͨ͠ͷ ֎ɾܕͷṖղ͖ ܕͷνϥγ ֎ܕͷνϥγ
·͔ͪͶࡇͰग़లͨ͠ͷ ֎ɾܕͷṖղ͖ ܕͷνϥγ ֎ܕͷνϥγ
·͔ͪͶࡇͰग़లͨ͠ͷ ֎ɾܕͷṖղ͖
2. ΞϓϦέʔγϣϯͷ֓ཁ
ΞϓϦέʔγϣϯͷ֓ཁ ମݧܕṖղ͖
σβΠϯ • େֶͷެࣜWebϖʔδͷσβΠϯΛ౿ऻ (AIͰͰ͖ͳ͍ͷͰखͰஸೡʹ)
ΞϓϦέʔγϣϯͷཁ݅ • λΠϚʔػೳ • ڈͷলΛੜ͔ͯ͠ɺਫ਼ີʹΧϯτ͢Δ͜ͱ • ਐḿ෮ݩػೳ • ڈͷলΛੜ͔ͯ͠ɺ్தͰిݯ͕Εͯ͠·͏͜ͱΛఆ •
Ṗղ͖ղػೳ • ࠾ػೳ • ϥϯΩϯάػೳ
3. ߏ
ΞϓϦέʔγϣϯͷߏ • APαʔόʔʹGolangΛ࠾༻ • ࠾ॲཧͷCPUॲཧͷߴԽ • ECSͷϦιʔε࠷খԽ • Valkey CacheΛ࠾༻
• ϥϯΩϯάͷॏ͍ΫΤϦΛҰ࣌తʹ Ωϟογϡ • VPC EndpointΛ༻͍ͯઅ • ΦʔόʔεϖοΫ • αʔόʔϨεͰྑ͔ͬͨ
4. AI׆༻
νʔϜߏ • ࣗ (େମશ෦) • ΤϯδχΞ (ਓ) (ϑϩϯτΤϯυ) • Claude
Code (ςοΫϦʔυ) • Gemini CLI (Browser) • Cursor (ΤϯδχΞ) • Ϗδωεϝϯόʔ (ਓ) (8ਓ͘Β͍) • σβΠϯɺṖ࡞ɺϚʔέςΟϯάɺSNS
AI׆༻ APαʔόʔͷ(΄΅)શͯΛॻ͍ͯΒ͍·ͨ͠ • GolangͱAI૬ੑ͕ྑ͍ • Golangͷಛੑ্ɺ୭͕ॻ͍ͯ͋Δఔ࣭ͷߴ͍ίʔυ͕Ͱ͖Δ • sqlcΛ༻͍ͯdbपΓͷίʔυʹؔͯࣗ͠ಈੜ • ΫϦʔϯΞʔΩςΫνϟ×DDDͷ͓खຊ࣮Λͯ͋͛ͯ͠ɺ͋ͱͦΕΛਅࣅ
ͯॻ͍ͯΒ͍·ͨ͠ • ͦͷ໘ɺΫϥΠΞϯτʹؔͯ͠ελΠϦϯάख࡞ۀ
AI׆༻ ΫΠζͷϩδοΫͷ࣮ͯ͢AIʹ͓ͤ • ΫΠζͷਐḿཧɺλΠϚʔཧɺਖ਼ޡఆɺਐḿอଘɾ෮ݩʹ͍ͭͯΫ ϥΠΞϯτଆͰશͯͷϩδοΫΛ࣮ͨ͠ • APαʔόʔͷෛՙ • UXͷ্ •
͜ΕΒͷϩδοΫ΄΅શͯAIʹ࣮ͯ͠Β͍·ͨ͠ • ͨͩɺ͋·ΓΠέͯͳ͍ίʔυΛੜ͢Δ͜ͱ͋ͬͨͷͰͦ͜ख͠
• AIͱڠۀ͢ΔͨΊʹɺ • ϑϨʔϜϫʔΫɺΞʔΩςΫνϟͳͲͷࠎΈΛඋͯ͋͛͠Δ͜ͱ͕ॏཁ • ΫϦʔϯΞʔΩςΫνϟͱ͔DDDɺTDD֮͑ͯΔ (ίϯςΩετѹॖ) • ϥΠϒϥϦΛ༻͍ͨγεςϚνοΫͳࣗಈੜ༗ޮ •
جຊతͳ෦ͷཧղඞཁ • ͦΕ͔͍Βͳ͘ͳΔ͘Β͍AI͕ݡ͘ͳΔͷΛͭ • ϞϊϨϙ • All in GitHubΛࢦ͢ (https://github.com/ogatakatsuya/machikane-2025)
5. ݁Ռ
݁Ռ ϝτϦΫεશͯ͜͜Ͱެ։ͯ͠·͢(https://machikane-2025.streamlit.app/) • ૯དྷऀ 1065໊ • 15~20Λ1ΠςϨʔγϣϯͱͯ͠ճ ׂ͍ͯͨ͠ʹଟ͘ͷํʹདྷ͍ͨ ͚ͩͨ •
ϥϯΩϯάͷઓతͳػೳΛ࣮ ͍͕ͯͨ͠ɺཱͬͨΤϥʔͳ͘ ऴྃͨ͠
ച্ • ֎ͰͷചΓ্͛߹Θͤͯ • 43ສԁΛୡ͠·ͨ͠ • Ͱ30ສఔɺ֎͕13ສఔ͔ͳͱ͍͏ײ͡ • ࡢͷ32ສԁΛେ෯ʹ͑Δ݁ՌͱͳͬͯେຬͰͨ͠
6. ·ͱΊ
·ͱΊ • AIΛ༻͍Δ͜ͱͰɺैདྷͰݸਓͰͰ͖ͳ͔ͬͨنͰ࣭ͷΞϓϦέʔγϣ ϯΛ࣮͢Δ͜ͱ͕Մೳͱͳ͍ͬͯΔ • AIΛ͍ͬͯͯՁΛੜΈग़͢͜ͱͰ͖Δ • ٯʹݴ͑ɺͨΓલ͕ͩΤϯυϢʔβʔաఔධՁͯ͘͠Εͳ͍ • ٕज़Λָ͠ΜͰɺٕज़Λͩ͜ΘΔͷॏཁ͕ͩɺϓϩμΫτࢤͰԿΛಧ͚
ͯɺԿΛՁͱ͢Δ͔ɺ͔ͦ͜Βٯࢉ͢Δ͜ͱ͕͜Ε͔Β؊ཁʹͳͬͯ͘Δ • ΠϯϑϥߏɺσϦέʔτͳ෦ʹ͍ͭͯ·ͩAIʹؙ͍͛͠
ল • αʔόʔϨεߏʹ͖ͯɺRDS/ECSߏͱ͕ͨ͠ɺ͔ͳΓΦʔόʔεϖοΫؾຯͩͬͨ • 3ؒͷίετΛང͔ʹ͑Δίετ͕͔͔͍ͬͯͨ • IaCԽͯ͠ɺ͚ͩల։Ͱ͖ΔΑ͏ʹͨ͠Βྑ͔ͬͨ • VPC Endpointͷඅ༻͕ࢥͬͨΑΓߴ͔ͬͨ
• ௨৴ྔΑΓݻఆඅ͕͍͘Β͍͔͔͍ͬͯͨ • ΏΔ͍ιϑτΣΞͳͷͰɺECS TaskΛPublic Subnetʹ͓͍ͯྑ͔ͬͨͷͰ • ςετ͕ͳ͔ͬͨ • ϩάઃܭɺΤϥʔʹؾ͚ͮΔڥ͕ͳ͔ͬͨ