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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
linyows
March 11, 2025
Programming
470
0
Share
コードジェネレーターで 効率的な開発をする / Efficient development with code generators
2025-03-11 Fukuoka.go#21 での発表資料。
linyows
March 11, 2025
More Decks by linyows
See All by linyows
Kubernetesを使わない環境にもCloud Nativeなデプロイを実現する / Enabling Cloud Native deployments without the complexity of Kubernetes
linyows
3
540
Protocol Buffersの型を超えて拡張性を得る / Beyond Protocol Buffers Types Achieving Extensibility
linyows
0
250
研究開発と実装OSSと プロダクトの好循環 / A virtuous cycle of research and development implementation OSS and products
linyows
1
900
研究を支える拡張性の高い ワークフローツールの提案 / Proposal of highly expandable workflow tools to support research
linyows
0
650
非コンテナ環境において宣言的Deploymentを手軽に実現する / Declarative deployment in non-container environments
linyows
1
580
メール送信サーバの集約における透過型SMTP プロキシの定量評価 / Quantitative Evaluation of Transparent SMTP Proxy in Email Sending Server Aggregation
linyows
0
1.2k
透過型SMTPプロキシによる送信メールの可観測性向上: Update Edition / Improved observability of outgoing emails with transparent smtp proxy: Update edition
linyows
2
640
研究の再現性を高める 仕組みをGoでつくる / Creating a system to improve the reproducibility of research using go
linyows
1
370
奥が深いメールのシステム / The depth of Email system
linyows
4
800
Other Decks in Programming
See All in Programming
Sans tests, vos agents ne sont pas fiables
nabondance
0
160
プロパティの順序で型推論が壊れる!? TypeScript6.0の修正からContext-Sensitivityの仕組みを追う
bicstone
2
1k
AI Agent と正しく分析するための環境作り
yoshyum
2
590
AIエージェントの隔離技術の徹底比較
kawayu
0
430
Moments When Things Go Wrong
aurimas
3
110
AIエージェントと協働するCLI開発 — BunとOpenClawで学んだこと
yoshikouki
1
210
AWSはOSSをどのように 考えているのか?
akihisaikeda
1
140
タクシーアプリ『GO』の バックエンド開発のおける AI利活用と若者のすべて
pyama86
3
1.6k
ReactとSvelteのその先、Ripple-TS / Beyond React and Svelte: Ripple-TS
ssssota
3
770
過去のレビュー知見をSkillsで資産化した話
pkshadeck
PRO
1
2.3k
inferと仲良くなる10分間
ryokatsuse
1
250
Agentic UI beyond Chats Architecture Patterns & Open Standards @ngMunich 05/2026
manfredsteyer
PRO
0
140
Featured
See All Featured
How to build a perfect <img>
jonoalderson
1
5.5k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
240
HDC tutorial
michielstock
2
670
Ethics towards AI in product and experience design
skipperchong
2
280
WENDY [Excerpt]
tessaabrams
10
37k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
540
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
A better future with KSS
kneath
240
18k
[SF Ruby Conf 2025] Rails X
palkan
2
1k
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
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ΛͬͯΫϥυͷίϯϙʔωϯ τΛ։ൃͯ͘͠ΕΔؒΛ୳͍ͯ͠·͢ʂ ؾܰʹ͓͔͚͍ͩ͘͞㷉⊙౪⚆㷊