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

3h 53m 59s
English
Paid
November 4, 2024

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. 

More

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

Instructor

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

This is the course that could change your data skills.  

Learning and getting hands-on on Protocol Buffers helps you to enhance your career opportunities and helps to boost your income. An investment in your career is an investment in yourself.  Don’t procrastinate. There is no time like the present to take charge of your career. Take your career to the next level by learning Protocol Buffers today!

Requirements:
  • Some programming background (Java, Python or Go for example)
  • Previous experience with other formats such as XML or JSON is preferred

Who this course is for:

  • Developers who want to understand how to write .proto files and write code to create Protocol Buffer data
  • Architects who want to understand how Protocol Buffers works and be useful for their solution archicture

What you'll learn:

  • Write simple and complex .proto files
  • Practice Exercises to Confirm the Learnings
  • Leverage Imports and Packages appropriately
  • Generate Code using `protoc` in any language
  • Code in Java with Protocol Buffers
  • Understand how Data Evolution works for Protobuf
  • Learn about advanced Protocol Buffers concepts

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

Join premium to watch
Go to premium
# Title Duration
1 Why Protocol Buffers? 09:38
2 How are Protocol Buffers used? 02:53
3 Course Structure 01:34
4 About your instructor 00:50
5 Important Message 00:29
6 First Message 00:59
7 Defaults 00:38
8 Scalar Types 04:42
9 Tags 02:04
10 Repeated Fields 01:11
11 Enumerations (Enums) 02:19
12 Comments 02:34
13 Solution to Practice Exercises I 04:03
14 Defining Multiple Messages in the Same File 01:50
15 Nesting Messages 01:55
16 Imports 01:41
17 Packages 01:59
18 All in One Proto File 04:12
19 Nested Messages 05:38
20 Imports 03:37
21 Packages 03:06
22 Using Protoc 02:43
23 Gradle Project Setup & Code Generation 06:40
24 Simple Message Creation in Java 04:25
25 Creating a Complex Message in Java 05:21
26 Dealing with Enums in Java 04:11
27 Dealing with Maps in Java 04:21
28 Dealing with OneOfs in Java 05:14
29 Serializing/Deserializing (Binary) 05:41
30 Serializing/Deserializing (JSON) 06:53
31 Java Options 04:18
32 Code generation in Golang 03:17
33 Simple Proto Struct in Golang 04:48
34 Complex Proto Struct in Golang 04:34
35 Enum Proto Struct in Golang 04:20
36 Handling OneOfs in Golang 05:09
37 Handling Maps in Golang 03:22
38 Reading and Writing to Disk 08:34
39 Reading and Writing to JSON 10:42
40 Code generation in Python 03:17
41 Simple Proto Message in Python 03:10
42 Complex Proto Message in Python 03:50
43 Enum Proto Message in Python 04:10
44 Handling OneOfs in Python 03:17
45 Handling Maps in Python 03:10
46 Reading and Writing to Disk 04:28
47 Reading and Writing to JSON 05:56
48 The Need for Updating Schemas 02:24
49 Rules for Data Evolution 01:45
50 Renaming Fields 01:21
51 Removing Fields 01:44
52 Reserved Keyword 01:07
53 Beware of Defaults 02:11
54 --decode_raw Option 06:07
55 --decode Option 03:25
56 --encode Option 03:57
57 Integer Types Deep Dive 04:32
58 Advanced Data Types (oneof, map, Timestamp and Duration) 01:56
59 Protocol Buffers Options 02:43
60 Naming Conventions 02:25
61 Services 01:22
62 Introduction to gRPC (from gRPC Course) 06:08
63 Protocol Buffers Internals 04:09
64 What's next & Congratulations! 03:00

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

Enhanced Freelancing with AI

Enhanced Freelancing with AIzerotomastery.io

Duration 46 minutes 29 seconds
Reprogram Your Subconscious

Reprogram Your SubconsciousProdigies University

Duration 1 hour 18 minutes 21 seconds
The Complete Basic Electricity & Electronics Course

The Complete Basic Electricity & Electronics Courseudemy

Duration 6 hours 39 minutes 38 seconds
The World of Computer Networking. Your CCNA starts here

The World of Computer Networking. Your CCNA starts hereudemy

Duration 14 hours 40 minutes 24 seconds
Sound Design with Cubase

Sound Design with Cubasedesigncode.io

Duration 1 hour 57 minutes 34 seconds