Complete Guide to Protocol Buffers 3 [Java, Golang, Python]

Complete Guide to Protocol Buffers 3 [Java, Golang, Python]

English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 3.5 Hours | 1.40 GB

Google Protobuf with examples and exercises. Code in Java Go Python. Say Goodbye to JSON & XML. Pre-req to gRPC

Protocol Buffers (protobuf) is a fundamental data serialization format that every Data Engineer should know about. It is leveraged by many top tech companies such as Google and enables micro-services to transfer data in a format that is safe and efficient.

In this course, we are going to explore in depth, with hands-on lectures, all the aspects of Protocol Buffers 3.

In just a few hours, you will know everything you need to know to create simple and complex .proto files, and write code in your Favourite Programming language such as Java, Python and Go. Protocol Buffers generates all the boilerplate code for you!

Stop using XML and JSON and start using a Data Format that will allow you to create the most efficient APIs.

Complete Guide to Protocol Buffers 3 is the best way to get a great overview of all the possibilities offered by Protocol Buffers

  • Write simple and complex .proto files
  • Practice Exercises to Confirm the learnings
  • Leverage Imports and Packages appropriately
  • Generate Code using `protoc`
  • Code in Java with Protocol Buffers
  • Learn about advanced Protocol Buffers concepts

Note: This course assumes you have some knowledge about Programming and JSON / XML

Stephane Maarek is the instructor of this course. He is the author of highly successful courses such as Apache Kafka Series and AWS Series. He is passionate about micro-services and data. He has already taught to 40000+ students and received 12000+ reviews.

He shares all his Data knowledge on the platform, taking the time to explain every concept and provide students with both theoretical and practical dimensions. You are in good hands!

Section outline:

  • Protocol Buffers Course Introduction: Get an understand of the course objectives, how the course is structured, download the course code and get ready!
  • Protocol Buffers Basics I: Learn how to create your first messages using Scalar Types. Practice with 5 exercises
  • Protocol Buffers Basics II: Learn how to create complex messages, and organise your code in different files and packages. Practice with 4 exercises
  • Setting up Protoc Compiler: Setup the protoc compiler and learn how to generate code in any language
  • Java Programming with Protocol Buffers: Write your Protocol Buffers Data in Java
  • Golang Programming with Protocol Buffers: Write your Protocol Buffers Data in Golang
  • Data Evolution with Protobuf: Evolve your protocol buffers file in a safe way in order to add or remove fields without breaking previous code
  • Protocol Buffers Advanced: Advanced Types in Protocol Buffers as well as Options, Integer Types, and an introduction to RPC Services with gRPC
Table of Contents

Course Introduction
1 The need for Protocol Buffers
2 How are Protocol Buffers used
3 Course Structure

Code Download & VSCode Setup
4 Code Download
5 VSCode Setup (optional)

Protocol Buffers Basics I
6 First Message
7 Scalar Types
8 Tags
9 Repeated Fields
10 Comments
11 Default Values for Fields
12 Enumerations (Enums)
13 Practice Exercises I
14 Solution to Practice Exercises I

Protocol Buffers Basics II
15 Defining Multiple Messages in the Same File
16 Nesting Messages
17 Imports
18 Packages
19 Practice Exercise II
20 Solution to Practice Exercises II

Setting up Protoc Compiler
21 Setup Protoc Compiler
22 Use `protoc` to generate code in any language
23 Practice Using `protoc`

Java Programming with Protocol Buffers
24 Setup & Code Download in Java
25 Gradle Project Setup & Code Generation
26 Simple Message Creation in Java
27 Dealing with Enums in Java
28 Creating a Complex Message in Java
29 Java Options
30 Conversion to JSON in Java
31 Practice Exercise Java (self-guided)
32 What about Maven

Golang Programming with Protocol Buffers
33 Setup & Code Download in Golang
34 GoGo Protobuf as an Alternative
35 Code generation in Golang
36 Simple Proto Struct in Golang
37 go package option
38 Reading and Writing to Disk
39 Reading and Writing to JSON
40 Enum Proto Struct in Golang
41 Complex Proto Struct in Golang
42 Practice Exercise Golang (self-guided)

Python Programming with Protocol Buffers
43 Setup & Code Download in Python
44 Code generation in Python
45 Simple Proto Message in Python
46 Enum Proto Message in Python
47 Complex Proto Message in Python
48 Practice Exercise Python (self-guided)

Data Evolution with Protobuf
49 The need for updating the protocol
50 Rules for Data Evolution
51 Adding Fields
52 Renaming Fields
53 Removing Fields
54 Reserved Keyword
55 Beware of Defaults
56 Evolving Enum Fields

Protocol Buffers Advanced
57 Integer Types Deep Dive
58 Advanced Data Types (oneof, map, Timestamp and Duration)
59 Protocol Buffers Options
60 Naming Conventions
61 Uber style guiding
62 Services
63 Introduction to gRPC (from gRPC Course)
64 Protocol Buffers Internals

Next Steps
65 List of Protocol Buffer Files to Explore
66 What’s next & Congratulations!
67 Bonus Lecture Coupons for my other courses!