Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Protocol Buffersの型を超えて拡張性を得る / Beyond Protocol ...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
linyows
August 25, 2025
Programming
310
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Protocol Buffersの型を超えて拡張性を得る / Beyond Protocol Buffers Types Achieving Extensibility
2025-08-25 Fukuoka.go#22 での発表資料です。
linyows
August 25, 2025
More Decks by linyows
See All by linyows
GoとClickhouseで作るRAGアプリ / Building RAG Application with Go and Clickhouse
linyows
1
180
Kubernetesを使わない環境にもCloud Nativeなデプロイを実現する / Enabling Cloud Native deployments without the complexity of Kubernetes
linyows
3
900
研究開発と実装OSSと プロダクトの好循環 / A virtuous cycle of research and development implementation OSS and products
linyows
1
1k
コードジェネレーターで 効率的な開発をする / Efficient development with code generators
linyows
0
510
研究を支える拡張性の高い ワークフローツールの提案 / Proposal of highly expandable workflow tools to support research
linyows
0
750
非コンテナ環境において宣言的Deploymentを手軽に実現する / Declarative deployment in non-container environments
linyows
1
660
メール送信サーバの集約における透過型SMTP プロキシの定量評価 / Quantitative Evaluation of Transparent SMTP Proxy in Email Sending Server Aggregation
linyows
0
1.3k
透過型SMTPプロキシによる送信メールの可観測性向上: Update Edition / Improved observability of outgoing emails with transparent smtp proxy: Update edition
linyows
2
740
研究の再現性を高める 仕組みをGoでつくる / Creating a system to improve the reproducibility of research using go
linyows
1
420
Other Decks in Programming
See All in Programming
Vue Fes Japan 2026 タイムテーブル徹底解説
448jp
1
620
そのリトライ、死んだコネクションを使い回していませんか ── GoのHTTPクライアントとHTTP/2を実プロダクト障害から学び直す
myus4a
0
390
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
580
Are APIs Still Relevant in the AI Era?
soyuka
0
420
SREの越境 / SRE Collaboration
y0hgi
2
300
パーソナライズPodcastを作った話
repunit11
0
120
The Rails Doctrine Decade
koic
2
490
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
130
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
270
R8 の設定見直しでアプリサイズ削減
andpad
0
140
AI が書く Go コードの品質を劇的に向上させる Linter: “declscope”
mpyw
0
480
難しいけど、読めた。- OSSの入口に立った話。
sts11142
0
140
Featured
See All Featured
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
390
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
760
Documentation Writing (for coders)
carmenintech
77
5.6k
Optimising Largest Contentful Paint
csswizardry
37
4k
Producing Creativity
orderedlist
PRO
348
41k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
570
Everyday Curiosity
cassininazir
0
340
sira's awesome portfolio website redesign presentation
elsirapls
0
440
4 Signs Your Business is Dying
shpigford
187
23k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
570
Ethics towards AI in product and experience design
skipperchong
2
410
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
840
Transcript
Fukuoka.go #22 Tomohisa Oda / Aug 25, 2025 1SPUPDPM#VGGFSTͷܕΛ͑ͯ ֦ுੑΛಘΔ
Fukuoka.go #22 @linyows Blog: tomohisaoda.com Affiliation: Sakura internet, Inc. ɹɹɹɹɹɹCognano,
Inc.
Fukuoka.go #22 ͡Ίʹ
Fukuoka.go #22 ๏ ࣗͷݚڀʹ͓͍࣮ͯݧͷ࠶ݱੑΛ୲อ͢ΔͨΊʹ࡞ͬͨͷͰɺϝʔϧΛେྔʹૹͬͯͦͷ ϨΠςϯγʔΛूܭͨ͠Γ͍ͯ͠Δ ๏ όΠΦΠϯϑΥϚςΟΫεཧԽֶͰ8PSL fl PXΛඪ४Խ͢Δ$PNNPO8PSL fl
PX -BOHVBHF $8- 8PSL fl PX%FTDSJQUJPO-BOHVBHF 8%- ͳΔͷ͕ଘࡏ͍ͯ͠Δ ๏ ͔ͳΓൣғͷʹ͓͚Δ8PSL fl PXΛରͱ͍ͯ͠ΔͨΊɺఆ͕ٛʹͳΓɺڥߏங ʢεύίϯͰ4JOHVMBSJUZͳͲʣൣᙝͳͷͰɺͺͬͱݟ"OTJCMFͬΆ͕͋͞Δ ๏ 1SPCF8FCʹಛԽ͍ͯ͠ΔͨΊɺఆ͕͔ٛͳΓ؆ུԽͰ͖Δ ๏ ͘͞ΒͷΫϥυͷҰ෦ػೳͰ&OEUP&OE5FTUJOHͱͯ͠༻͍ͯͨ͠Γ͢Δ :".-Ͱ8PSL fl PXΛఆ࣮ٛ͠ߦͰ͖Δ1SPCFͷհ
Fukuoka.go #22 ๏ (JU)VC"DUJPOTͷΑ͏ʹ"DUJPOΛࢦఆͯ͠8PSL fl PXΛఆٛ͢Δ ๏ 8PSL fl PXඇಉظͷෳ+PCΛแؚ͠ɺ+PCಉظͷෳ4UFQΛแ
ؚ͠ɺ4UFQ"DUJPOΛ࣮ߦ͢Δ ๏ "DUJPOશͯϓϥάΠϯͰɺຊମͱΓ͞ΕͨΞʔΩςΫ νϟͱͳ͍ͬͯΔͨΊɺͨͱ͑ϓϩηε͕ҟৗऴྃͯ͠ӨڹΛड ͚ͳ͍ ๏ ϓϥάΠϯIBTIJDPSQHPQMVHJOΛ͓ͬͯΓɺຊମผͰىಈ ͨ͠ϓϥάΠϯαʔόͱ(31$Ͱ௨৴͢Δ ๏ ϏϧτΠϯϓϥάΠϯຊମ͕ϓϥάΠϯαʔόΛىಈ͢Δ 1SPCFͷΈ
Fukuoka.go #22 1SPCF"SDIJUFDUVSFIUUQTQSPCFMJOZPXT
Fukuoka.go #22 ๏ *%-ʢQSPUP fi MFʣͰ4FSWJDFɺ.FUIPE SQD ɺ .FTTBHFͷܕΛఆٛ͠ɺΫϥΠΞϯτͱαʔό ͷڞ༗͢Δ31$ϑϨʔϜϫʔΫ
๏ ௨৴)551ͷετϦʔϜ্Ͱߦ͍ɺγϦΞ ϥΠζͨ͠.FTTBHFʹಠࣗͷϑϨʔϛϯάΛͭ ͚ɺόΠτྻʹͯ͠)551ͷ%"5"ϑϨʔϜ Ͱྲྀ͢ ๏ Ұൠతʹ*%-γϦΞϥΠζʹ1SPUPDPM #V ff FSTΛ͏ (31$ͷ͓͞Β͍
Fukuoka.go #22 ๏ 1MVHJOVTFT fi FMEͰࢦఆ͠XJUI fi FME͕31$ͷҾʹͳΔ ๏ ҾͷܕϓϥάΠϯ͕ܾΊɺNBQ
͕ωετ͢Δ͜ͱ͋Δ ๏ XJUI(PͩͱNBQ<TUSJOH>BOZܕͳ ͷ͕ͩɺ1SPUPCVGͰNBQTUSJOH BOZܕଘࡏ͠ͳ͍ 1SPCF1MVHJOͷ༷ͱฐ ZBNM QSPUP
Fukuoka.go #22 Ͳ͏ͬͯNBQ<TUSJOH>BOZܕΛ࣮ݱ͢Δ͔
Fukuoka.go #22 ࣍ͷͭͷख๏Λݕ౼ͨ͠ ๏ NBQTUSJOH HPPHMFQSPUPCVG"OZ ๏ NBQTUSJOH HPPHMFQSPUPCVG4USVDU ๏
NBQTUSJOH TUSJOH ͜Εޙड़ (PͷNBQ<TUSJOH>BOZΛ1SPUPDPM#VGGFSTͰ࣮ݱ͢Δ
Fukuoka.go #22 ๏ 1SPUPDPM#V ff FSTͰBOZܕͱ͍ ͑HPPHMFQSPUPCVG BOZQSPUP͕͋Δ͕ɺ༻͢Δ ܕΛఆٛ͢Δඞཁ͕͋Δ ๏
͢Δͱɺຊମͱ1MVHJO͕૬ޓͰ ґଘ͢Δ͜ͱʹͳΓɺͦͦ 1MVHJOͰͳ͘ͳΔͨΊɺ༻ ෆՄ HPPHMFQSPUPCVG"OZ
Fukuoka.go #22 ๏ ૬ޓґଘ͕ͳ͍εΩʔϚϨεʹ͢Δํ๏ͱͯ͠ HPPHMFQSPUPCVGTUSVDUQSPUP͕͋Γɺख ܰʹNBQ<TUSJOH>BOZͱͯ͠ల։͢Δ͜ͱ͕Ͱ ͖Δ ๏ ͨͩ͠ɺBOZQC4USVDUͰදݱͰ͖ΔܕPOFPG ͰOVMMɺOVNCFSɺTUSJOHɺCPPMɺTUVSDUɺMJTU
ͷΈ ๏ #ZUFܕͰද͢όΠφϦCBTF͞ΕͨTUSJOH ͱͳΓɺड৴ଆͰσίʔυ͕ඞཁ HPPHMFQSPUPCVG4USVDU
Fukuoka.go #22 ๏ ͍ͬͦͷ͜ͱNBQΛϑϥοτԽͯ͠TUSJOHܕʹ౷Ұͯ͠͠ ·ͬͯͲ͏ͩΖ͏͔ʁ ๏ Ͳ͏͍͏͜ͱ͔ͱݴ͏ͱɺ࠶ىతͳSF fl FDUJPOʹΑͬͯɺ 'MBUUFOJOHͱܕใΛઌ಄ʹຒΊࠐΜͩTUSJOHมΛม
Λߦ͏ ๏ ૹ৴ͱड৴ͰΤϯίʔυσίʔυΛߦ͏ ๏ ͜ΕΛ5ZQF1SFTFSWJOH'MBUUFOJOHͱݺͿ ๏ ωετ͕ਂ͘ͳΔͱύϑΥʔϚϯεྼԽ͢Δ͕ɺωετ ͕ਂ͍ҾΛͱΔ1MVHJOΛ͏அΛ͢ΔͷϢʔβͳͨ ΊϢʔβʔʹҕͶΔ ܕશͯ4USJOH
Fukuoka.go #22
Fukuoka.go #22 5ZQF1SFTFSWJOH'MBUUFOJOHͷධՁ
Fukuoka.go #22 51'MBUUFOJOHͷ߹ fl BUUFOEBUBͷมॲཧ QSPUPCVGNFTTBHFͷ࡞ॲཧ QSPUPCVGͷϚʔγϟϧॲཧ
VO fl BUUFOEBUBͷมॲཧ #OFDINBSLൺֱΛ͢Δ্Ͱɺॲཧͷ֬ೝΛ͢Δ
Fukuoka.go #22 51'MBUUFOJOHͷ߹ fl BUUFOEBUBͷมॲཧ QSPUPCVGNFTTBHFͷ࡞ॲཧ QSPUPCVGͷϚʔγϟϧॲཧ
VO fl BUUFOEBUBͷมॲཧ #OFDINBSLൺֱΛ͢Δ্Ͱɺॲཧͷ֬ೝΛ͢Δ HPPHMFQSPUPCVG4USVDUͷ߹ TUSVDUQC4USVDUͷมॲཧ QSPUPCVGNFTTBHFͷ࡞ॲཧ QSPUPCVGͷϚʔγϟϧॲཧ NBQͷมॲཧ
Fukuoka.go #22 51'MBUUFOJOHͷ߹ fl BUUFOEBUBͷมॲཧ QSPUPCVGNFTTBHFͷ࡞ॲཧ QSPUPCVGͷϚʔγϟϧॲཧ
VO fl BUUFOEBUBͷมॲཧ ॲཧ͕ҟͳΔͷ࠷ॳͱ࠷ޙ HPPHMFQSPUPCVG4USVDUͷ߹ TUSVDUQC4USVDUͷมॲཧ QSPUPCVGNFTTBHFͷ࡞ॲཧ QSPUPCVGͷϚʔγϟϧॲཧ NBQͷมॲཧ
Fukuoka.go #22
Fukuoka.go #22
Fukuoka.go #22 ๏ ϑϩʔશମͰɺ4USVDU͕'MBUUFOΑΓഒ͘ɺϝϞϦ ݮɺΞϩέʔγϣϯݮ ๏ σʔλม͚ͩͰ͍͏ͱɺ4USVDU͕'MBUUFOΑΓഒ͘ɺ ϝϞϦݮɺΞϩέʔγϣϯݮ ๏ 1SPUCVGͷϚʔγϟϧॲཧ͚ͩͰ͍͏ͱɺ4USVDU͕'MBUUFOΑΓ
ഒ͍͕ɺϝϞϦݮɺΞϩέʔγϣϯݮ #FODINBSLͷ݁Ռ
Fukuoka.go #22 ๏ 1SPUPDPM#V ff FSTͷ࣮$ ͳͷͰɺࣅͨΑ͏ͳ͜ͱΛ(PͰΔ ΑΓޮతͳͷͩΖ͏ ๏ HPPHMFQSPUPCVG4USVDU#ZUFܕ͕CBTFԽ͞ΕΔ੍͕͋Δ͕ɺ
ͦͦຊମͱϓϥάΠϯಉҰϗετͷલఏͳͷͰόΠφϦϑΝ ΠϧύεͰڞ༗͢Δͷ͕ྑͦ͞͏ ๏ ͋Δ͍ɺ͋Β͔͡Ί.FTTBHFʹྻͷόΠφϦ༻ fi FMEΛઃ͚ͯ ͍͍͔͠Εͳ͍ ࣮ݧ݁Ռ͔Βͷߟ
Fukuoka.go #22 ·ͱΊ
Fukuoka.go #22 ๏ 8PSL fl PX5PPMͷ1SPCFɺ"DUJPO෦͕1MVHJOͱͳ͍ͬͯͯɺ1MVHJO IBTIJDPSQHPQMVHJOʹΑΔ(31$Ͱ࣮ݱ͍ͯ͠Δ ๏ (31$1SPUPDPM#V ff
FSTͰܕΛఆٛ͢Δ͕ɺຊମͱ1MVHJOͷ্ؔε ΩʔϚϨεʹ͍ͨ͠ͱ͍͏ཁٻ͕͋Δ ๏ εΩʔϚϨεΛ࣮ݱ͢ΔʹHPPHMFQSPUPCVG4USVDU͕Ұൠత͕ͩɺνϟ Ϩϯδͱͯ͠5ZQF1SFTFSWJOH'MBUUFOJOHΛࢼΈͨ ๏ ͕ɺύϑΥʔϚϯεతʹඍົͩͬͨ ·ͱΊ
Fukuoka.go #22 )JSJOH͘͞ΒΠϯλʔωοτͰ (PΛͬͨΫϥυͷίϯ ϙʔωϯτͷ։ൃɺ։ൃνʔϜͷϚωʔδϝϯτΛͯ͘͠Ε ΔؒΛ୳͍ͯ͠·͢ʂؾܰʹ͓͔͚͍ͩ͘͞ʂ