Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
コードジェネレーターで 効率的な開発をする / Efficient development w...
Search
linyows
March 11, 2025
Programming
0
390
コードジェネレーターで 効率的な開発をする / 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
170
研究開発と実装OSSと プロダクトの好循環 / A virtuous cycle of research and development implementation OSS and products
linyows
1
740
研究を支える拡張性の高い ワークフローツールの提案 / Proposal of highly expandable workflow tools to support research
linyows
0
560
非コンテナ環境において宣言的Deploymentを手軽に実現する / Declarative deployment in non-container environments
linyows
1
430
メール送信サーバの集約における透過型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
570
研究の再現性を高める 仕組みをGoでつくる / Creating a system to improve the reproducibility of research using go
linyows
1
310
奥が深いメールのシステム / The depth of Email system
linyows
4
720
IaCにおけるテスト考察 / Tests in IaC
linyows
2
840
Other Decks in Programming
See All in Programming
re:Invent 2025 トレンドからみる製品開発への AI Agent 活用
yoskoh
0
130
Grafana:建立系統全知視角的捷徑
blueswen
0
190
Pythonではじめるオープンデータ分析〜書籍の紹介と書籍で紹介しきれなかった事例の紹介〜
welliving
2
580
The Art of Re-Architecture - Droidcon India 2025
siddroid
0
120
Java 25, Nuevas características
czelabueno
0
110
re:Invent 2025 のイケてるサービスを紹介する
maroon1st
0
150
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
200
バックエンドエンジニアによる Amebaブログ K8s 基盤への CronJobの導入・運用経験
sunabig
0
170
TerraformとStrands AgentsでAmazon Bedrock AgentCoreのSSO認証付きエージェントを量産しよう!
neruneruo
4
1.7k
大規模Cloud Native環境におけるFalcoの運用
owlinux1000
0
190
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
360
gunshi
kazupon
1
120
Featured
See All Featured
The agentic SEO stack - context over prompts
schlessera
0
560
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
140
Paper Plane (Part 1)
katiecoart
PRO
0
1.9k
Embracing the Ebb and Flow
colly
88
4.9k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
Building an army of robots
kneath
306
46k
Navigating Weather and Climate Data
rabernat
0
51
Build your cross-platform service in a week with App Engine
jlugia
234
18k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
A Soul's Torment
seathinner
1
2k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
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ΛͬͯΫϥυͷίϯϙʔωϯ τΛ։ൃͯ͘͠ΕΔؒΛ୳͍ͯ͠·͢ʂ ؾܰʹ͓͔͚͍ͩ͘͞㷉⊙౪⚆㷊