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
Search
Arun Sasidharan
September 27, 2017
Programming
32
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Protocol Buffers
Arun Sasidharan
September 27, 2017
More Decks by Arun Sasidharan
See All by Arun Sasidharan
Introduction to NoSQL
esoxjem
0
16
Loosely Coupled Identity Management Architecture
esoxjem
0
25
Other Decks in Programming
See All in Programming
月間100万人のサービス刷新で、 技術選定をHonoに振り切った話
yutobara
8
6.6k
npm との違いを手がかりにGo の依存管理を理解したい
optim
0
480
[Dev Group Paris Octobre 26] Agentforce, SIforce, Claudeforce, Slackbot… on s'y retrouve ?
nabondance
0
110
APNsからLive Activityを開始する話
yumnumm
0
170
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
150
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
390
IBM Bob でAI駆動開発『QC-Playbook』
ichirokano2
0
110
[2026-09-26]空論ジェネリックプロセス~テスト資産とAIで紡ぐ、再現可能なパフォーマンスチューニングの話~
tosite
0
270
AWSに止められる覚悟してますか?
morizo_1984
2
540
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
2
600
Rでドレミ/Do-Re-Mi_with_R
florets1
0
130
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
5.2k
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
From π to Pie charts
rasagy
1
400
Claude Code のすすめ
schroneko
67
230k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.9k
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
750
Faster Mobile Websites
deanohume
310
32k
The Cult of Friendly URLs
andyhume
79
7k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
580
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5.2k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
330
Large-scale JavaScript Application Architecture
addyosmani
516
110k
Transcript
PROTOCOL BUFFERS PROTO3
WHAT IS PROTOBUF?
ALTERNATIVE TO JSON* *Statham
COMMUNICATION PROTOCOL FOR THE WEB *Statham
WHY ALTERNATIVES?
BRIEF HISTORY OF JSON
JSON
JSON, WAS POPULARIZED BY DOUGLAS CROCKFORD
JSON, WAS POPULARIZED BY A DOUGLAS CROCKFORD, WHO MADE VIDEO
GAMES AT ATARI IN THE 1980S.
INVENTED FOR BROWSERS TO CONSUME DATA DIRECTLY
JAVASCRIPT.
JAVASCRIPT. DRAWBACKS.
1. BLOATED FILES 2. VERBOSE SYNTAX (SPACES, QUOTES, RETURNS, NAMES)
3. UNSTRUCTURED: NEEDS EXTRA DATA IN THE FILE 4. SLOW TO ENCODE/DECODE
NEED A FAST CODEC, THAT PRODUCES THE SMALLEST SIZE POSSIBLE
PROTOBUF
DEFINE A .PROTO
COMPILE WITH PROTOC
USE GENERATED BUILDER
ADVANTAGES 1. STRUCTURED 2. BACKWARD COMPATIBILITY 3. LESS BOILERPLATE 4.
TYPED 5. EXTENSIBLE 6. LANGUAGE INTEROPERABILITY 7. FASTER ENCODING/DECODING
DISADVANTAGES 1. NOT HUMAN READABLE 2. ADDITIONAL TOOL 3. NOT
GOOD FOR JS BASED APPS 4. TIE DATA MODEL TO SCHEMA*
NOT A GOOD CHOICE FOR A MVP
POPULAR ALTERNATIVES 1. PROTO3 2. NANO-PROTO-BUFFERS 3. FLAT BUFFERS 4.
WIRE BY SQUARE 5. THRIFTY BY MICROSOFT
ONE MORE THING
ARRAY OF STRUCTS FORM
ARRAY OF STRUCTS FORM
ARRAY OF STRUCTS FORM
STRUCT OF ARRAYS FORM
AOS VS SOA
THANKS