Course Introduction
  • The need for Protocol Buffers
  • How are Protocol Buffers used?
  • Course Structure
  • About your instructor
Code Download & VSCode Setup
  • Code Download
  • VSCode Setup (optional)
Protocol Buffers Basics I
  • First Message
  • Scalar Types
  • Tags
  • Repeated Fields
  • Comments
  • Default Values for Fields
  • Enumerations (Enums)
  • Practice Exercises I
  • Solution to Practice Exercises I
Protocol Buffers Basics II
  • Defining Multiple Messages in the Same File
  • Nesting Messages
  • Imports
  • Packages
  • Practice Exercise II
  • Solution to Practice Exercises II
Setting up Protoc Compiler
  • Setup Protoc Compiler
  • Use `protoc` to generate code in any language
  • Practice Using `protoc`
Java Programming with Protocol Buffers
  • Setup & Code Download in Java
  • Gradle Project Setup & Code Generation
  • Simple Message Creation in Java
  • Dealing with Enums in Java
  • Creating a Complex Message in Java
  • Java Options
  • Conversion to JSON in Java
  • Practice Exercise Java (self-guided)
  • What about Maven?
Golang Programming with Protocol Buffers
  • Setup & Code Download in Golang
  • Code generation in Golang
  • Simple Proto Struct in Golang
  • go_package option
  • Reading and Writing to Disk
  • Reading and Writing to JSON
  • Enum Proto Struct in Golang
  • Complex Proto Struct in Golang
  • Practice Exercise Golang (self-guided)
  • GoGo Protobuf as an Alternative
Python Programming with Protocol Buffers
  • Setup & Code Download in Python
  • Code generation in Python
  • Simple Proto Message in Python
  • Enum Proto Message in Python
  • Complex Proto Message in Python
  • Practice Exercise Python (self-guided)
Data Evolution with Protobuf
  • The need for updating the protocol
  • Rules for Data Evolution
  • Adding Fields
  • Renaming Fields
  • Removing Fields
  • Reserved Keyword
  • Beware of Defaults
  • Evolving Enum Fields
Protocol Buffers Advanced
  • Integer Types Deep Dive
  • Advanced Data Types (oneof, map, Timestamp and Duration)
  • Protocol Buffers Options
  • Naming Conventions
  • Uber style guiding
  • Services
  • Introduction to gRPC (from gRPC Course)
  • Protocol Buffers Internals
Next Steps
  • List of Protocol Buffer Files to Explore
  • What's next & Congratulations!
  • THANK YOU!
  • Bonus Lecture: Coupons for my other courses!