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

3h 53m 59s
English
Paid

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. 

Read more about the course

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]

A/B Testing for Data Science

A/B Testing for Data ScienceLunarTech

Category: Others, Python
Duration 1 hour 47 minutes 56 seconds
Fundamentals to Linear Algebra

Fundamentals to Linear AlgebraLunarTech

Category: Others
Duration 20 hours 53 minutes 19 seconds
Chrome Extension Mastery: Build Full-Stack Extensions with React & Node.js

Chrome Extension Mastery: Build Full-Stack Extensions with React & Node.jsRyan Fitzgerald

Category: React.js, Others, Node.js
Duration 10 hours 3 minutes 45 seconds
Trigonometry Mastered

Trigonometry Masteredudemy

Category: Others
Duration 10 hours 26 minutes 41 seconds
Supercharged Code Editing with Vim and Neovim

Supercharged Code Editing with Vim and Neovimzerotomastery.io

Category: Others, VIM
Duration 2 hours 55 minutes 8 seconds
100 MENTAL MODELS & THINK BETTER

100 MENTAL MODELS & THINK BETTERWisdom Theory

Category: Others
Duration 38 hours 58 minutes 27 seconds
The Networking Bootcamp (CompTIA Network+ Certification)

The Networking Bootcamp (CompTIA Network+ Certification)zerotomastery.io

Category: Others
Duration 8 hours 39 minutes 57 seconds
Team Dynamics and Soft Skills for Developers | Don’t Imitate

Team Dynamics and Soft Skills for Developers | Don’t ImitateAnthony Alicea

Category: Others
Duration 5 hours 8 minutes 46 seconds
Digital Project Management

Digital Project Managementsuperhi.com

Category: Others
Duration 17 hours 53 minutes 30 seconds
DNS course for developers

DNS course for developersRuurtjan Pul

Category: Others
Duration 2 hours 44 minutes 2 seconds