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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
linyows
August 25, 2025
Programming
330
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
300
Kubernetesを使わない環境にもCloud Nativeなデプロイを実現する / Enabling Cloud Native deployments without the complexity of Kubernetes
linyows
3
960
研究開発と実装OSSと プロダクトの好循環 / A virtuous cycle of research and development implementation OSS and products
linyows
1
1k
コードジェネレーターで 効率的な開発をする / Efficient development with code generators
linyows
0
530
研究を支える拡張性の高い ワークフローツールの提案 / Proposal of highly expandable workflow tools to support research
linyows
0
770
非コンテナ環境において宣言的Deploymentを手軽に実現する / Declarative deployment in non-container environments
linyows
1
680
メール送信サーバの集約における透過型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
760
研究の再現性を高める 仕組みをGoでつくる / Creating a system to improve the reproducibility of research using go
linyows
1
430
Other Decks in Programming
See All in Programming
Performance Optimization With LLMs
xleitix
0
230
AIが生成したコードは読むべきか?抽象化設計とコードの品質保証 / abstraction-design-and-quality
minodriven
14
8k
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
1.2k
パスワード再設定メールのURLについて知っておこう
uyuki234
0
200
自作Discord音声botをLambda MicroVMsに移行した話 / Migrating My Discord Voice Bot to Lambda MicroVMs
akihisaikeda
0
230
AmebaブログはKMPから卒業します
kmars0605
0
310
sbt 2.0: takeoff
eed3si9n
0
180
月間100万人のサービス刷新で、 技術選定をHonoに振り切った話
yutobara
8
7.1k
dotNET_vulnclicker_intro.pdf
deka_morita
0
160
そのデザイントークン、Flutterでも同じ見た目になりますか?
nakamizu
0
220
선언형 햅틱 라이브러리 진동을 소개합니다
l2hyunwoo
1
250
JIS keyboard support in Omarchy
lef237
0
180
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
290
Scaling GitHub
holman
464
140k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.7k
The agentic SEO stack - context over prompts
schlessera
0
990
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.6k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
22k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
600
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.2k
Optimizing for Happiness
mojombo
378
71k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
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ΛͬͨΫϥυͷίϯ ϙʔωϯτͷ։ൃɺ։ൃνʔϜͷϚωʔδϝϯτΛͯ͘͠Ε ΔؒΛ୳͍ͯ͠·͢ʂؾܰʹ͓͔͚͍ͩ͘͞ʂ