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
コードジェネレーターで 効率的な開発をする / Efficient development w...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
linyows
March 11, 2025
Programming
0
410
コードジェネレーターで 効率的な開発をする / Efficient development with code generators
2025-03-11 Fukuoka.go#21 での発表資料。
linyows
March 11, 2025
Tweet
Share
More Decks by linyows
See All by linyows
Protocol Buffersの型を超えて拡張性を得る / Beyond Protocol Buffers Types Achieving Extensibility
linyows
0
190
研究開発と実装OSSと プロダクトの好循環 / A virtuous cycle of research and development implementation OSS and products
linyows
1
800
研究を支える拡張性の高い ワークフローツールの提案 / Proposal of highly expandable workflow tools to support research
linyows
0
590
非コンテナ環境において宣言的Deploymentを手軽に実現する / Declarative deployment in non-container environments
linyows
1
470
メール送信サーバの集約における透過型SMTP プロキシの定量評価 / Quantitative Evaluation of Transparent SMTP Proxy in Email Sending Server Aggregation
linyows
0
1.1k
透過型SMTPプロキシによる送信メールの可観測性向上: Update Edition / Improved observability of outgoing emails with transparent smtp proxy: Update edition
linyows
2
590
研究の再現性を高める 仕組みをGoでつくる / Creating a system to improve the reproducibility of research using go
linyows
1
320
奥が深いメールのシステム / The depth of Email system
linyows
4
750
IaCにおけるテスト考察 / Tests in IaC
linyows
2
870
Other Decks in Programming
See All in Programming
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
420
プロダクトオーナーから見たSOC2 _SOC2ゆるミートアップ#2
kekekenta
0
200
2026年 エンジニアリング自己学習法
yumechi
0
130
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
6
1.8k
CSC307 Lecture 05
javiergs
PRO
0
500
CSC307 Lecture 04
javiergs
PRO
0
660
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
250
SourceGeneratorのススメ
htkym
0
190
Kotlin Multiplatform Meetup - Compose Multiplatform 외부 의존성 아키텍처 설계부터 운영까지
wisemuji
0
190
[KNOTS 2026登壇資料]AIで拡張‧交差する プロダクト開発のプロセス および携わるメンバーの役割
hisatake
0
250
Honoを使ったリモートMCPサーバでAIツールとの連携を加速させる!
tosuri13
1
170
CSC307 Lecture 01
javiergs
PRO
0
690
Featured
See All Featured
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
62
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
64
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Un-Boring Meetings
codingconduct
0
200
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
640
SEO for Brand Visibility & Recognition
aleyda
0
4.2k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
Between Models and Reality
mayunak
1
180
Exploring anti-patterns in Rails
aemeredith
2
250
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Transcript
Fukuoka.go #21 Tomohisa Oda / Mar 11, 2025 ίʔυδΣωϨʔλʔͰ ޮతͳ։ൃΛ͢Δ
Fukuoka.go #21 @linyows Blog: tomohisaoda.com Affiliation: Sakura internet, Inc. ɹɹɹɹɹɹCognano,
Inc.
Fukuoka.go #21 ࠓճϙΤϜ
Fukuoka.go #21 ๏ PHFO0QFO"1*WΛδΣωϨʔτ͢Δπʔϧ ๏ +40/ͷΤϯίʔυʗσίʔυʹϦϑϨΫγϣϯͰͳ͘όοϑΝ͔ ΒܕղੳΛ͢ΔͨΊϝϞϦΞϩέʔγϣϯ͕গͳ͍͍͠ ๏ 0QFO"1*4DIFNB͔Βͷ7BMJEBUJPO͕Ͱ͖Δ ๏
ॊೈͳܕͷαϙʔτ͕͋Δ ๏ 0QFO5FMFNFUSZͷαϙʔτ͕͋Δ 0QFO"1*ϓϩδΣΫτͰPHFOΛͬͨ
Fukuoka.go #21 0QFO"1*WΛδΣωϨʔτ͢Δπʔϧ
Fukuoka.go #21 ๏ PQFOBQJHFOFSBUPSIUUQTHJUIVCDPN0QFO"1*5PPMTPQFOBQJHFOFSBUPS ๏ PBQJDPEFHFOIUUQTHJUIVCDPNPBQJDPEFHFOPBQJDPEFHFO ๏ PHFOIUUQTHJUIVCDPNPHFOHPPHFO ๏ HPTXBHHFSIUUQTHJUIVCDPNHPTXBHHFSHPTXBHHFS
(PͰ0QFO"1*δΣωϨʔλʔͱ͍͑
Fukuoka.go #21 ๏ (JOIUUQTHJUIVCDPNHJOHPOJDHJO ๏ &DIPIUUQTHJUIVCDPNMBCTUBDLFDIP ๏ $IJIUUQTHJUIVCDPNHPDIJDIJ ๏ (PBIUUQTHJUIVCDPNHPBEFTJHOHPB
(PͰ"QQMJDBUJPO'SBNFXPSLͱ͍͑
Fukuoka.go #21 ๏ (Pݴޠͱͯ͠ޙํޓੑΛଋ͞Ε͍ͯΔʢࠓʣ ๏ ίϛϡχςΟύοέʔδΛݮΒͯ͠ͳΔ͘ඪ४ϥΠϒϥϦʹد͓͖͍ͤͯͨ ๏ όʔδϣϯैָ͕ਆ ๏ ͳͷͰ'SBNFXPSLബ͍ํ͕Έɺ͋Δ͍ෆཁ
๏ ඞཁʹͳ͔ͬͯΒػೳΛՃͰ͖Δ΄͏͕ΞλοΫαʔϑΣεখ͘͞Ͱ͖Δ ͱ৴͍ͯ͡Δ ਖ਼ͲΕͰ͍͍ʜ͕
Fukuoka.go #21 ๏ HPSNͳͲ"DUJWF3FDPSEʹӨڹΛड͚͍ͯΔ03.ۤख ๏ ศརͳ໘ɺ৭ʑӅṭ͞Ε͍ͯͯೝෛՙ͕ߴ͍ͱײ͡Δ ๏ όʔδϣϯΞοϓ࣌ύϑΥʔϚϯενϡʔχϯάͳͲ ๏ ʹ2VFSZΛఆٛ͠δΣωϨʔτͯ͠͏TRMD͕࠷ߴ
Ͳ͔ͬͪͱ͍͏ͱ3%#ͷ.BQQJOH͕
Fukuoka.go #21 ๏ 4DIFNB͔Β4FSWFS)BOEMFSͷ*OUFSGBDFΛ(FOFSBUF ๏ *OUFSGBDFΛຬ࣮ͨ͢Λॻ͘ ๏ 2VFSZ͔Β4USVDU.FUIPEΛ(FOFSBUF ๏ ࣮͔Βݺͼग़͚ͩ͢
๏ جຊతʹBQJύοέʔδʹ࣮Λ૿͍ͯ͘͠ʢͪΖΜґଘ͠ͳ͍ ͷผͷύοέʔδʹΓग़͢ʣ PHFOͱTRMDΛϓϩδΣΫτͰ༻͢Δ
Fukuoka.go #21 ͱ͍͏͜ͱͰɺPHFOͱTRMDΛ༻
Fukuoka.go #21 ߏྫ
Fukuoka.go #21 HFOHP package example //go:generate go run github.com/ogen-go/ogen/cmd/ogen --target
oas/ oasgen --package oasgen --clean oas/petstore.yml //go:generate go run github.com/sqlc-dev/sqlc/cmd/sqlc generate -f db/sqlc.yml HFOFSBUFDPNNBOEΛॻ͍ͯHPHFOFSBUFΛ࣮ߦ
Fukuoka.go #21 7BMJEBUJPOͷྫ
Fukuoka.go #21 ॊೈͳܕαϙʔτ 0QUJPOBM5ZQFT
Fukuoka.go #21 4DIFNB͔Β࡞ΒΕ ΔΠϯλʔϑΣʔε Λຬͨ͢Α͏ʹ࣮
Fukuoka.go #21 TRMDͷRVFSZ 0QFO5FMFNFUSZͷ USBDFS1SPWJEFSΛ IBOEMFSʹηοτ
Fukuoka.go #21 0QFO5FMFNFUSZͱͷ౷߹
Fukuoka.go #21 ๏ ࢀߟ࣮ΛHJUIVCʹஔ͍ͨIUUQTHJUIVCDPNMJOZPXT PHFOFYBNQMF ๏ ׂ͕໌֬ʹͳΓ࣮͕গͳ͘ͳͬͨؾ͕͢Δ ๏ 03.ʹৄ͘͠ͳͯ͘%#ʹରͯ͠ԿΛ͍ͬͯΔ͔໌֬ʹͳͬ ͨ
๏ ͕࣌ؒ͋Ε%FNPIUUQTHJUIVCDPNPHFOHPFYBNQMF δΣωϨʔλʔଟ༻ͷޮՌ
Fukuoka.go #21 ๏ EPDLFSDPNQPTFVQͰ0QFO"1*αʔόͱΫϥΠΞϯτͱ 0CTFSWBCJMJUZڥ͕ىಈ͢Δ ๏ 0CTFSWBCJMJUZڥ$MJDLIPVTFͱ0UFMECͱ(SBGBOB ๏ τϨʔεɺϝτϦΫεɺϩάͷೖग़ྗ͕Ͱ͖Δ0UFMEC͕ศར ๏
0UFMEC$MJDLIPVTFͷϥούʔ%# ๏ ೦ͳ͜ͱʹຊ൪Ͱ·ͩ͑ͳ͍ͭ PHFOHPFYBNQMF
Fukuoka.go #21 ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ ͘͞ΒΠϯλʔωοτͰ 𝝣 (0ΛͬͯΫϥυͷίϯϙʔωϯ τΛ։ൃͯ͘͠ΕΔؒΛ୳͍ͯ͠·͢ʂ ؾܰʹ͓͔͚͍ͩ͘͞㷉⊙౪⚆㷊