Protocol Buffers Crash Course

  Рет қаралды 258,076

Hussein Nasser

Hussein Nasser

Күн бұрын

Пікірлер: 248
@hnasr
@hnasr 3 жыл бұрын
Learn the fundamentals of the backend, scaling and load balancing with my Introduction to NGINX udemy course nginx.husseinnasser.com
@Andrey-il8rh
@Andrey-il8rh 3 жыл бұрын
This was one of the most energetic talks I've heard In a while. Keep it up man, the energy and a vibe you put inside your tutorials is addictive 👍
@NetworkDirection
@NetworkDirection 10 күн бұрын
You are so full of personality, I LOVE IT!!!
@apollosilith9026
@apollosilith9026 3 жыл бұрын
This was probably the best dev tutorial I've ever seen. Your energy and humor is infectious; You turned what could've been a frustrating tutorial into something easy, useful, and fun to watch. Well done!
@RobbyLuisa
@RobbyLuisa 4 жыл бұрын
Dude, I rarely (never) comment on YT videos. That being said, I watch a lot of tech / dev tutorials... I really enjoy your humorous way of going through the exercise and explaining the different concepts. As already suggested in the comments below: if you continue, I know you'll end up a very popular channel for these type of tutorials. Well done mate! Cheers from Germany.
@hnasr
@hnasr 4 жыл бұрын
Robert Rottschalk Robert! I really appreciate you taking the time to comment it means so much. Thank you for your kind words, glad you are enjoying the content and cheers to all my subs from Germany 🇩🇪
@jaimerios1378
@jaimerios1378 3 жыл бұрын
What Robert said. Good video :)
@jaxtynpierce5731
@jaxtynpierce5731 3 жыл бұрын
i guess im asking randomly but does any of you know of a trick to log back into an Instagram account? I was dumb forgot the login password. I would love any tips you can give me!
@respectthegamebjj
@respectthegamebjj 2 жыл бұрын
and now it became very popular channel :)
@alexeyshevelyov1163
@alexeyshevelyov1163 3 жыл бұрын
Personally, rather than script reading videos (with the eyes of the presenter running from left to right) - with this you feel like you drinking a beer with a friend that is telling you all this cool stuff, paying attention to each and every detail, trying to make sure you understand. This is not to say that other videos are not pursuing the same goal. This is to emphasize how much more personal touch this style has and from reading the comments, you can tell it resonates with folks a lot. Again, huge thanks and keep it up!
@abdullahsaid8561
@abdullahsaid8561 8 күн бұрын
your voice is calming for some reason. it gave me confidence
@hnasr
@hnasr 4 күн бұрын
glad to hear this!
@VasanthTulasi
@VasanthTulasi 2 жыл бұрын
I don't usually put up a comment but I have to appreciate your humorous approach to explaining these complex technical things. You just earned a subscriber :)
@hnasr
@hnasr 2 жыл бұрын
Thank you dear! Enjoy the content
@datapro007
@datapro007 Жыл бұрын
Truly a fine video Hussein. I like your sense of humor. It makes a dry topic almost tolerable. Thank you!
@zebcode
@zebcode 4 жыл бұрын
Wow this is the video I've been waiting for. I really wanted to know the differences between JSON and protobuff. Really looking forward to GRPC!!!
@hnasr
@hnasr 4 жыл бұрын
Kiran Randhawa thanks Kiran! That was my purpose as well. I don’t like to use a tech without knowing why it was invented
@bimblebom
@bimblebom 3 жыл бұрын
Super video! I applauded for $2.00 👏
@hnasr
@hnasr 3 жыл бұрын
Yay! Thank you!
@juvi925
@juvi925 4 жыл бұрын
Hussein, Thank you so much for your channel! as a junior backend dev, your content has been a god send!!!
@bencepaul3497
@bencepaul3497 3 жыл бұрын
Thanks!
@cristianoseixas2417
@cristianoseixas2417 3 жыл бұрын
Vídeo sensacional, não tem conteúdo melhor explorando protobuffer no youtube. Muito obrigado
@AdrianoWead
@AdrianoWead 2 жыл бұрын
Valeu!
@restuwahyusaputra7764
@restuwahyusaputra7764 4 жыл бұрын
Best channel for software engineering, i like this channel, terimakasih husen
@BruceCantarim
@BruceCantarim 2 жыл бұрын
The way you teach and explain things is just amazing. Well done! Thank you for this, had to learn protocol buffer quickly for an existing project and this video really got me there.
@kostyayatsuk2004
@kostyayatsuk2004 3 жыл бұрын
First video of Husseins that I'm watching and gotta say the energy keeps me engaged during moments which in other videos would've been incredibly boring. Definitely gonna take a look at any other videos he produces cause it seems like they would be really good
@priyeshagarwal2644
@priyeshagarwal2644 2 жыл бұрын
Subscribed! This was by far the best tutorial available on protocol buffers.
@Salehalanazi-7
@Salehalanazi-7 3 жыл бұрын
Man... That was a hell of a beautiful video. I don't watch long videos but damn.... You're fun and really understand what the hell you're doing
@sridhar4211
@sridhar4211 Жыл бұрын
00:05 Protocol Buffers is a method of serializing structured data. 04:55 Write an application with JSON and JavaScript 09:28 Version 3 of the protocol is the latest and greatest with some changes 14:05 Google built a language-neutral protocol buffer compiler called Proto C. 18:47 Start building the employee class and use it 22:57 Protocol buffer is a powerful tool for serializing and deserializing data. 27:49 Protocol buffer is a language neutral protocol format with schema and compact size benefits. 32:09 Using protocol buffer may not be necessary for small applications without the need for a schema. Crafted by Merlin AI.
@Mnrk90
@Mnrk90 2 жыл бұрын
Great effort! Your tone catches attention and emphasizes the right parts at the right time.
@KeyserTheRedBeard
@KeyserTheRedBeard 2 жыл бұрын
great content Hussein Nasser. I broke that thumbs up on your video. Continue to keep up the great work.
@jindal0001
@jindal0001 Жыл бұрын
I felt it was a long video before I started watching it, but it was fun and really informative. Thanks
@tejakdluv
@tejakdluv 6 ай бұрын
To be frank one of the best vid on the internet explained very well
@voidemon490
@voidemon490 2 жыл бұрын
I laughed so many times I had to re-watch the video, 10/10. You're amazing
@MrBagginsDoes
@MrBagginsDoes Жыл бұрын
Dude, best Protobuf tutorial I've seen. To be honest, I am using python while watching you and JS, but you explained it so well, that the language does not matter, just like protobuf :D
@romeropereira4089
@romeropereira4089 2 жыл бұрын
Man that was such a simple still great and useful tutorial on protobuf. I wasn't expecting too much from it and now I'm taking away great information. Cheers man!
@VinayVerma982
@VinayVerma982 2 жыл бұрын
"your clients will yell at you regardless what do you do, it's the circle of life, there is no escape from that" 35:29 I really felt that feeling. Thanks Hussein, it was amazing, watched your video before sleeping, and now 🫡 "what is sleep?" will watch your gRPC video then will think of sleeping. haha
@tambolaking5383
@tambolaking5383 4 жыл бұрын
You went to 16k pretty quickly. Continue doing this and several 💯 k very soon.
@hnasr
@hnasr 4 жыл бұрын
Vrunda ONE thanks for being long time sub! Will do!
@jonarmani8654
@jonarmani8654 4 жыл бұрын
@@hnasr Started from the bottom, now you're ... omg you put out 1 vid / day of actually good software engineering content, how have I not seen you before? So close to 100k my dude, let my subscribe help you inch closer. ☮
@diasflp
@diasflp 4 жыл бұрын
Ok, I never comment here at YT. First time commenting here just to thank you for that humor. Very good!! Had a very great time watching this. And the video was very technically helpful. So thanks again!
@hnasr
@hnasr 4 жыл бұрын
Thanks Felipe for taking the time to write comment ❤️ glad you enjoyed the video
@hangchen
@hangchen 3 жыл бұрын
Man I like your style and I subbed your channel after watching your video (this one) for the very first time for 4 minutes
@hnasr
@hnasr 3 жыл бұрын
🙏🙏 thanks Hang
@ahmedhibet
@ahmedhibet 2 жыл бұрын
One of the best explanation I have seen. Your vibe and energy is another level. Keep it up bro. here you got a new subscriber 👍
@AbuBakrSadiqi-b7t
@AbuBakrSadiqi-b7t 22 күн бұрын
A very good video, finally I understand how protobuf works. thanks for it
@AnothyAtWork
@AnothyAtWork 2 жыл бұрын
Great video. I really enjoyed your energy while explaining what Proto Buffers are. I now have a good understanding of what Proto Buffers are. Thanks. I'll be checking out your videos.
@shynggyskassen942
@shynggyskassen942 10 ай бұрын
If protobuf takes less memory and faster to serialize/deserislize, why we still use JSON?
@fuadcs22
@fuadcs22 7 ай бұрын
Because we still need to have the schema on both sides. Json don't require that. It's just data.
@alexeyshevelyov1163
@alexeyshevelyov1163 3 жыл бұрын
Dear Hussein, keep that same spirit up!
@ahmedmedani9147
@ahmedmedani9147 9 ай бұрын
والله شرح جميل جميل جميل جميل ربنا يجعله في ميزان حسناتك ❤❤
@giorgiogristina4119
@giorgiogristina4119 2 жыл бұрын
You are a Star!!! Very fun, clear and straight to the point. keep up!!!! 🙌
@socialblade7751
@socialblade7751 4 жыл бұрын
The best yt channel, real life programming .. thx
@hnasr
@hnasr 4 жыл бұрын
SocialBlade appreciate it thanks 😊
@bxrtemp2
@bxrtemp2 4 жыл бұрын
I am generally lazy on writing comment on YT videos/blogs. It was an awesome explanation. I really loved it and eager listen to many more videos from your channel. Thank you
@hnasr
@hnasr 4 жыл бұрын
Thanks for taking the time to write this comment .. I appreciate it ❤️
@roarlisfang2860
@roarlisfang2860 2 жыл бұрын
You are great at keeping the audience's attention! I enjoyed this course.
@Kidpunk98
@Kidpunk98 2 жыл бұрын
Thank you so much for this. Such a clear and beautiful explanation, and your personality is so wholesome and funny lol. Really enjoyed the video, take my like!
@hackingguy
@hackingguy 3 жыл бұрын
Well now the channel have 114k! Congrats to your past! 🎉🔥
@naveenkumarch5991
@naveenkumarch5991 4 жыл бұрын
Loved it as always. Great work buddy! I always eagerly forward to your videos. They are quite informative and helpful in understanding the fundamentals of these concepts.
@hnasr
@hnasr 4 жыл бұрын
Glad you like them! thanks Naveen
@EwenMackenzie
@EwenMackenzie Жыл бұрын
good video. Bear in mind to be more concise with what you explain and the target audience. thanks it helped me a lot
@jamieblaze6514
@jamieblaze6514 4 жыл бұрын
You are literally the voice in my head.. lol exactly how my internal monolog sounds haha great videos man!
@hnasr
@hnasr 4 жыл бұрын
Haha Glad to hear it! Thanks Jamie! all the best
@shashankm7560
@shashankm7560 4 жыл бұрын
Hey Hussein, excellent stuff ! one comment though. are we doing an apple to apple comparison by comparing the size of binary protobuff and json data written in file.. Essentially, Json would also be transmitted in the binary format along the wire.. So, rather, would it make sense to compare the footprint of json binary vs protobuff binary ?
@hnasr
@hnasr 4 жыл бұрын
Shashank M an excellent observation Shanshank!! Yes JSON (if you are using HTTP/2) it will be converted sent in Binary and compressed (that is the key here) however protobuff will still win because the original binary format is way smaller than JSON ..
@mertackportal6705
@mertackportal6705 3 жыл бұрын
@@hnasr First of all, incredible video. Really helpful. Secondly, this is my question as well. I understand the smaller memory and disk footprints, though I can't wrap my head around how a binary file has smaller network footprint than a JSON file. Assuming they are originating from identical data(Hussein, Ahmed, Rick), the transmitted packets over TCP should also be the same because data will be converted to binary regardless. Protobuf output is just one step ahead -- it is already converted before being transmitted. Ultimately, are we comparing the time it takes for Protoc to convert the data to binary, to TCP converting JSON to binary?
@mohamedessam611
@mohamedessam611 2 жыл бұрын
@@mertackportal6705 hey man, I have the same question as yours, were you able to get an answer?
@ammarinader9538
@ammarinader9538 2 жыл бұрын
What an incredible content and amazing pedagogical approach full of energy and simplicity!
@rmanceraleal
@rmanceraleal Жыл бұрын
Fantastic Video Hussein. thank you for the hard work.
@39rama
@39rama Жыл бұрын
Thanks for the excellent video. Your presentation style was just great. Energetic and fun with great content!
@NishaJakhar26
@NishaJakhar26 4 жыл бұрын
Very cool way of explanation. IIIIIIIIIIIIIIIIIIII loved it
@hnasr
@hnasr 4 жыл бұрын
Glad it was helpful Naysha!
@david-tracy
@david-tracy 3 жыл бұрын
this is interesting. I wonder why I haven't seen this used yet in any of the react tutorials I've been watching throughout the past months
@mickjohnston499
@mickjohnston499 3 жыл бұрын
This is a great tutorial I like that you have a bit of fun with these it really helps keep it engaging.
@parthas5512
@parthas5512 9 ай бұрын
Not boring, very cool attitude
@airnitro9949
@airnitro9949 2 жыл бұрын
I am greatful to GOD that i found this channel.
@antoniomasotti8060
@antoniomasotti8060 2 жыл бұрын
Great video as always. Regarding the cons, the two you named apply if you're working on small projects / working alone or with a small team. As soon as you have a more complex project or dozens of Devs (of all levels) working on a project or connected projectS sharing the same data, having a schema becomes a MUST an having to maintain an additional file or update a cli much better than not having a Schema.
@saadowain3511
@saadowain3511 3 жыл бұрын
شكرا ابو ناصر
@abhinavsrivastava2824
@abhinavsrivastava2824 4 жыл бұрын
Thank you so much , I was really stuck with that . And your style is just awesome !
@hnasr
@hnasr 4 жыл бұрын
Thanks for your comment I am happy I could help.
@VATSAL372
@VATSAL372 3 жыл бұрын
You are fun to watch! Well explained 👍
@hnasr
@hnasr 3 жыл бұрын
Thanks!
@craigmunday3707
@craigmunday3707 3 жыл бұрын
Another great video. Protocol buffers seem like a much more accessible version of Asn.1 and the various TLV encoding
@rutakirsteine5190
@rutakirsteine5190 2 жыл бұрын
Very interesting video. Made me watch it till the end and it is not usual for me :)
@ominousCONTENT
@ominousCONTENT 4 ай бұрын
Great tutorial, you helped me get my feet wet.
@pablomoraesdemattos2114
@pablomoraesdemattos2114 2 жыл бұрын
Hello Hussein, my name is Pablo and I'm a student of Control and Automation Engineering at UNISINOS (University of the city of São Leopoldo, Brazil) I'm studying this protocol and I would like to know if you could help me with some information about this technology?
@AMIT103254
@AMIT103254 Жыл бұрын
hey man ur videos are addictive..😃
@cheebadigga4092
@cheebadigga4092 Жыл бұрын
loved the Abrakadabra Poof :D
@natureloverJ
@natureloverJ Жыл бұрын
Good stuff! Big companies like Google, MS, Amazon, and other big wigs. They create lightning speed APIs by optimizing a lot of things. Protobuf is one of that. It helps to achieve the smallest possible data footprint that helps transferring that binary data over the net very fast. Certainly it is much faster than REST or SOAP. Response time gRPC < REST < SOAP.
@ryanleemartin7758
@ryanleemartin7758 2 жыл бұрын
love your breakdowns . really good. I actually prefer the proto schema to just blasting json for api calls because even though the json itself doesn't have a schema, I'm still serializing and deserializing to types on server and client which is conforming to a kind of implicit schema (my type system). Now, the code gen does that for me. That's very very nice. It doesn't solve every use case but it solves all of mine!
@amychen6932
@amychen6932 3 жыл бұрын
Like the way you teaching!! Thanks for sharing all your ideas!!
@rishiprotimbose6167
@rishiprotimbose6167 3 жыл бұрын
This was something new for me... 😋 Thanks for making my day @Hussein 😁😁
@JustinMasayda
@JustinMasayda Жыл бұрын
Thank you for this excellent video, Hussein! One more con of protobuf vs JSON is it's not human readable since it's binary. For certain applications you might want your serialized data to be human readable.
@tobiasbergkvist4520
@tobiasbergkvist4520 4 жыл бұрын
Extracting protobuf uses a lot more cpu than just parsing JSON. This is very noticable when working with map data. Mapbox Vector Tiles (MVT) uses protobuf under the hood - and compared to sending GeoJSON, a lot more cpu power is required at the client side. At least this is my understanding after doing direct comparisons between MVT and GeoJSON.
@hnasr
@hnasr 4 жыл бұрын
Interesting point, I thought protobuf benefit is faster deserialization ... maybe this is specific use case with mapping data
@luqmansen
@luqmansen 4 жыл бұрын
Cool video, can't wait for the gRPC part
@iqbalqr
@iqbalqr Ай бұрын
Great tutorial.... well done
@leopet6815
@leopet6815 4 жыл бұрын
That was clear and concise. Thank you.
@ajaymenon0
@ajaymenon0 3 жыл бұрын
This was an amazing explanation. Here's my sub! 😎
@Suraj-tz3oq
@Suraj-tz3oq 2 жыл бұрын
26:05 what does he mean by that when he says, "protocol buffer avoids extra round trips specially the tcp round trips"?
@dantedt3931
@dantedt3931 2 жыл бұрын
This is awesome dude. Great channel. Subbed.
@vershaverma1409
@vershaverma1409 3 жыл бұрын
Very well explained thankyou for the video!! But I have a doubt, take java for example java has its own serialization mechanism so what is the difference between the serializing mechanism that java offers and protobuff ? and if they are similar then why would anyone use protobuff instead?
@hnasr
@hnasr 3 жыл бұрын
Good question, every language has its own serialization logic, Java, C#, Javascript, Golang. Those are not compatible with each other. If you serialize a class in Java client you can’t deserialize it “easily” to C# server. Protobuf is a universal standard for serialization for all languages (or supported ones at least)
@vershaverma1409
@vershaverma1409 3 жыл бұрын
@@hnasr gotcha ! Thanks
@BboyKeny
@BboyKeny Жыл бұрын
Awesome video. Another point that can be made is that protobufs shouldn't be used for really large files (like images) that you don't want to have live in memory. I'm investigating protobufs and I think is a really cool advantage of it having a schema, is that if you have multiple programs, in different languages, talking to eachother. Αnd more programs might be added for which you don't know the language. Then having a shared schema like this is awesome. Compilation can be done with CI and it seems you can change protobufs without having to go through every old project that's using it (by following certain best practices).
@sadiulhakim7814
@sadiulhakim7814 22 күн бұрын
Is your course "Fundamentals of Backend Engineering" language independent? Or it depends on JavaScript?
@programminginterviewsprepa7710
@programminginterviewsprepa7710 2 жыл бұрын
How-do-you-do all these zoom in and zoom outs is there a tool?
@MrWeb-dev
@MrWeb-dev Жыл бұрын
I use the zlib and compress. That offers good compression. I wonder if protobuff could be compressed, and if so, would it be worth it?
@vinodjoshi435
@vinodjoshi435 Жыл бұрын
nicely explain , you're my brother.
@ChristopherHayles
@ChristopherHayles Жыл бұрын
Good introduction. Thanks.
@douglasokubo7666
@douglasokubo7666 3 жыл бұрын
I really enjoy your explanation! Tks
@suryakantjadhav3005
@suryakantjadhav3005 4 жыл бұрын
Loved the explanation! Thank You!
@mliyanage
@mliyanage 4 жыл бұрын
Nice video Hussein. Protobuf is very similar to the .Net remoting concept except this is language-neutral.
@vijeth2
@vijeth2 4 жыл бұрын
Brilliant tutorial, this is cool. Thanks.
@bigtymer4862
@bigtymer4862 3 жыл бұрын
Wish you would have done this demo in go
@kumaravelrajan
@kumaravelrajan 3 жыл бұрын
Excellent video. Thank you for this tutorial.
@rydmerlin
@rydmerlin 2 жыл бұрын
When your fields are strings what will the space savings look like over json?
@Celsian
@Celsian 2 жыл бұрын
Thanks for the knowledge, you have a lot to offer. I would have preferred if the text were a little smaller and/or if you got rid of the terminal when it's not in use, or make it smaller.
@barrettkepler7618
@barrettkepler7618 2 жыл бұрын
Awesome! Thank you very much
@prasadsanga4830
@prasadsanga4830 4 жыл бұрын
Good info for the beginners who wants to know the stuff
@jaunathang
@jaunathang Жыл бұрын
It's been a while since I had literate fun while learning. Good job! I'm surprised to find you here since I was looking for your backend course on Udemy two weeks ago.
@mr_wormhole
@mr_wormhole Жыл бұрын
I also have to mention, if you are JSON logging, now you have to convert protos to JSONs to log.
@bendunaway8296
@bendunaway8296 4 жыл бұрын
Great video, thank you. Gonna go check out your channel.
@hnasr
@hnasr 4 жыл бұрын
Welcome! And enjoy the content
@siddharathadhumale3683
@siddharathadhumale3683 3 жыл бұрын
Clean and clear explanation, :) thanks for sharing this video
@AnubhavShrivastava
@AnubhavShrivastava 2 жыл бұрын
Hey Hussain, Thanks for the informative video. Wanted to ask, without protoi buff also, i could convert a object to binary format. The binary will always be less compared serialised value right?
gRPC Crash Course - Modes, Examples, Pros & Cons and more
1:19:38
Hussein Nasser
Рет қаралды 240 М.
Serialization formats: JSON and Protobuf
5:00
Ivan talks about computers
Рет қаралды 110 М.
Cat mode and a glass of water #family #humor #fun
00:22
Kotiki_Z
Рет қаралды 42 МЛН
Une nouvelle voiture pour Noël 🥹
00:28
Nicocapone
Рет қаралды 9 МЛН
人是不能做到吗?#火影忍者 #家人  #佐助
00:20
火影忍者一家
Рет қаралды 20 МЛН
tRPC, gRPC, GraphQL or REST: when to use what?
10:46
Software Developer Diaries
Рет қаралды 94 М.
RabbitMQ Crash Course
42:53
Hussein Nasser
Рет қаралды 208 М.
When RESTful architecture isn't enough...
21:02
Dreams of Code
Рет қаралды 288 М.
What is gRPC? (Remote Procedure Calls)
7:16
IBM Technology
Рет қаралды 229 М.
Postgres just got even faster
26:42
Hussein Nasser
Рет қаралды 38 М.
The OSI Model - Explained by Example
25:16
Hussein Nasser
Рет қаралды 197 М.
How HTTP/2 Works, Performance, Pros & Cons and More
22:45
Hussein Nasser
Рет қаралды 110 М.
What is RPC? gRPC Introduction.
6:09
ByteByteGo
Рет қаралды 555 М.
WebSockets Crash Course - Handshake, Use-cases, Pros & Cons and more
47:33
Cat mode and a glass of water #family #humor #fun
00:22
Kotiki_Z
Рет қаралды 42 МЛН