Learn the fundamentals of the backend, scaling and load balancing with my Introduction to NGINX udemy course nginx.husseinnasser.com
@Andrey-il8rh3 жыл бұрын
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 👍
@apollosilith90263 жыл бұрын
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!
@VasanthTulasi2 жыл бұрын
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 :)
@hnasr2 жыл бұрын
Thank you dear! Enjoy the content
@alexeyshevelyov11633 жыл бұрын
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!
@cristianoseixas24173 жыл бұрын
Vídeo sensacional, não tem conteúdo melhor explorando protobuffer no youtube. Muito obrigado
@RobbyLuisa4 жыл бұрын
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.
@hnasr4 жыл бұрын
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 🇩🇪
@jaimerios13783 жыл бұрын
What Robert said. Good video :)
@jaxtynpierce57313 жыл бұрын
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!
@alikhansharapat9933 Жыл бұрын
and now it became very popular channel :)
@socialblade77514 жыл бұрын
The best yt channel, real life programming .. thx
@hnasr4 жыл бұрын
SocialBlade appreciate it thanks 😊
@zebcode4 жыл бұрын
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!!!
@hnasr4 жыл бұрын
Kiran Randhawa thanks Kiran! That was my purpose as well. I don’t like to use a tech without knowing why it was invented
@tobiasbergkvist45204 жыл бұрын
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.
@hnasr4 жыл бұрын
Interesting point, I thought protobuf benefit is faster deserialization ... maybe this is specific use case with mapping data
@BboyKeny11 ай бұрын
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).
@juvi9253 жыл бұрын
Hussein, Thank you so much for your channel! as a junior backend dev, your content has been a god send!!!
@datapro007 Жыл бұрын
Truly a fine video Hussein. I like your sense of humor. It makes a dry topic almost tolerable. Thank you!
@antoniomasotti8060 Жыл бұрын
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.
@tejakdluv4 ай бұрын
To be frank one of the best vid on the internet explained very well
@shynggyskassen9428 ай бұрын
If protobuf takes less memory and faster to serialize/deserislize, why we still use JSON?
@fuadcs225 ай бұрын
Because we still need to have the schema on both sides. Json don't require that. It's just data.
@jindal0001 Жыл бұрын
I felt it was a long video before I started watching it, but it was fun and really informative. Thanks
@restuwahyusaputra77643 жыл бұрын
Best channel for software engineering, i like this channel, terimakasih husen
@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.
@airnitro99492 жыл бұрын
I am greatful to GOD that i found this channel.
@BruceCantarim2 жыл бұрын
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.
@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.
@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
@kostyayatsuk20043 жыл бұрын
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
@EwenMackenzie Жыл бұрын
good video. Bear in mind to be more concise with what you explain and the target audience. thanks it helped me a lot
@AnothyAtWork Жыл бұрын
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.
@pablomoraesdemattos21142 жыл бұрын
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?
@ryanleemartin77582 жыл бұрын
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!
@david-tracy3 жыл бұрын
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
@ethansherr3281 Жыл бұрын
If you don't like callbacks... you can import { promisify } from 'util' import fs from fs const writeFile = promisify( fs.writeFile ) ... await writeFile('file/path', JSON.stringify({...})
@tambolaking53834 жыл бұрын
You went to 16k pretty quickly. Continue doing this and several 💯 k very soon.
@hnasr4 жыл бұрын
Vrunda ONE thanks for being long time sub! Will do!
@jonarmani86543 жыл бұрын
@@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. ☮
@bxrtemp23 жыл бұрын
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
@hnasr3 жыл бұрын
Thanks for taking the time to write this comment .. I appreciate it ❤️
@voidemon490 Жыл бұрын
I laughed so many times I had to re-watch the video, 10/10. You're amazing
@arturorodriguez68972 жыл бұрын
I like the way you express your self . Enjoyed the video and learned at the same time. good one!
@hangchen3 жыл бұрын
Man I like your style and I subbed your channel after watching your video (this one) for the very first time for 4 minutes
@hnasr3 жыл бұрын
🙏🙏 thanks Hang
@ahmedmedani91477 ай бұрын
والله شرح جميل جميل جميل جميل ربنا يجعله في ميزان حسناتك ❤❤
@Mnrk902 жыл бұрын
Great effort! Your tone catches attention and emphasizes the right parts at the right time.
@priyeshagarwal26442 жыл бұрын
Subscribed! This was by far the best tutorial available on protocol buffers.
@shashankm75604 жыл бұрын
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 ?
@hnasr4 жыл бұрын
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 ..
@mertackportal67053 жыл бұрын
@@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?
@mohamedessam6112 жыл бұрын
@@mertackportal6705 hey man, I have the same question as yours, were you able to get an answer?
@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.
@gibsosmart4 жыл бұрын
very nicely explained for a novice. but I need 3x speed from youtube. 2x speed still feels slow for this video.
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 👍
@Salehalanazi-73 жыл бұрын
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
@ominousCONTENT2 ай бұрын
Great tutorial, you helped me get my feet wet.
@hackingguy3 жыл бұрын
Well now the channel have 114k! Congrats to your past! 🎉🔥
@KeyserTheRedBeard2 жыл бұрын
great content Hussein Nasser. I broke that thumbs up on your video. Continue to keep up the great work.
@vershaverma14093 жыл бұрын
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?
@hnasr3 жыл бұрын
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)
@vershaverma14093 жыл бұрын
@@hnasr gotcha ! Thanks
@Celsian2 жыл бұрын
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.
@giorgiogristina4119 Жыл бұрын
You are a Star!!! Very fun, clear and straight to the point. keep up!!!! 🙌
@craigmunday37073 жыл бұрын
Another great video. Protocol buffers seem like a much more accessible version of Asn.1 and the various TLV encoding
@VinayVerma9822 жыл бұрын
"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
@diasflp3 жыл бұрын
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!
@hnasr3 жыл бұрын
Thanks Felipe for taking the time to write comment ❤️ glad you enjoyed the video
@mliyanage4 жыл бұрын
Nice video Hussein. Protobuf is very similar to the .Net remoting concept except this is language-neutral.
@NishaJakhar264 жыл бұрын
Very cool way of explanation. IIIIIIIIIIIIIIIIIIII loved it
@hnasr4 жыл бұрын
Glad it was helpful Naysha!
@ammarinader95382 жыл бұрын
What an incredible content and amazing pedagogical approach full of energy and simplicity!
@Kidpunk982 жыл бұрын
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!
@alexeyshevelyov11633 жыл бұрын
Dear Hussein, keep that same spirit up!
@roarlisfang28602 жыл бұрын
You are great at keeping the audience's attention! I enjoyed this course.
@cheebadigga4092 Жыл бұрын
loved the Abrakadabra Poof :D
@romeropereira40892 жыл бұрын
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!
@abhinavsrivastava28244 жыл бұрын
Thank you so much , I was really stuck with that . And your style is just awesome !
@hnasr4 жыл бұрын
Thanks for your comment I am happy I could help.
@parthas55127 ай бұрын
Not boring, very cool attitude
@naveenkumarch59914 жыл бұрын
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.
@hnasr4 жыл бұрын
Glad you like them! thanks Naveen
@rmanceraleal Жыл бұрын
Fantastic Video Hussein. thank you for the hard work.
@jamieblaze65144 жыл бұрын
You are literally the voice in my head.. lol exactly how my internal monolog sounds haha great videos man!
@hnasr4 жыл бұрын
Haha Glad to hear it! Thanks Jamie! all the best
@39rama Жыл бұрын
Thanks for the excellent video. Your presentation style was just great. Energetic and fun with great content!
@rutakirsteine51902 жыл бұрын
Very interesting video. Made me watch it till the end and it is not usual for me :)
@mickjohnston4993 жыл бұрын
This is a great tutorial I like that you have a bit of fun with these it really helps keep it engaging.
@briceleroy2 жыл бұрын
Your size comparison is missing the zip compression aspect, where low entropy (JSON) would compress very well, while high entropy (bytes) would not
@VATSAL3723 жыл бұрын
You are fun to watch! Well explained 👍
@hnasr3 жыл бұрын
Thanks!
@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?
@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.
@amychen69323 жыл бұрын
Like the way you teaching!! Thanks for sharing all your ideas!!
@leopet68153 жыл бұрын
That was clear and concise. Thank you.
@vinodjoshi435 Жыл бұрын
nicely explain , you're my brother.
@yahwehagape2 жыл бұрын
I love how you say “array”. 11:18
@AMIT103254 Жыл бұрын
hey man ur videos are addictive..😃
@TurkishZombie2 жыл бұрын
Life saver. Thank you man.
@prasadsanga48304 жыл бұрын
Good info for the beginners who wants to know the stuff
@rishiprotimbose61673 жыл бұрын
This was something new for me... 😋 Thanks for making my day @Hussein 😁😁
@douglasokubo76663 жыл бұрын
I really enjoy your explanation! Tks
@bendunaway82964 жыл бұрын
Great video, thank you. Gonna go check out your channel.
@hnasr4 жыл бұрын
Welcome! And enjoy the content
@AnubhavShrivastava2 жыл бұрын
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?
@luqmansen4 жыл бұрын
Cool video, can't wait for the gRPC part
@Suraj-tz3oq Жыл бұрын
26:05 what does he mean by that when he says, "protocol buffer avoids extra round trips specially the tcp round trips"?
@saadowain35113 жыл бұрын
شكرا ابو ناصر
@vijeth24 жыл бұрын
Brilliant tutorial, this is cool. Thanks.
@rydmerlin2 жыл бұрын
When your fields are strings what will the space savings look like over json?
@ChristopherHayles Жыл бұрын
Good introduction. Thanks.
@dantedt39312 жыл бұрын
This is awesome dude. Great channel. Subbed.
@rishabhjaishwal12474 жыл бұрын
I have a question as PROTOC convert the data into buffer. Then without using the deserialize function of PROTOC. Can i deserialize by using nodejs core buffer module. Or it only be deserialize by specifying the proto file which contain the schema.
@kumaravelrajan3 жыл бұрын
Excellent video. Thank you for this tutorial.
@TheKittenish3 жыл бұрын
I got you on 1.75x speed and you're really hyped bro.
@elmeroranchero4 жыл бұрын
Bro, how do you get time to learn all this stuff? it's amazing
@hnasr4 жыл бұрын
Daniel González i research during my commute to work and record in weekends. My wife helps me with editing so that really make me focus on content. Thanks happy you like the content
@suryakantjadhav30054 жыл бұрын
Loved the explanation! Thank You!
@siddharthparashar9169 Жыл бұрын
I'm using grpc with node and for proto loader using grpc/protobuf loader is there any method to load file using URL?
@ajaymenon02 жыл бұрын
This was an amazing explanation. Here's my sub! 😎
@carlreiser79693 жыл бұрын
How do I parse the string that comes back after deserialize? Is there a helper method to get the deserialization as an Object?
@eyecanddy2 жыл бұрын
Im a simple man. I hear "ooo abracadabra poof!" And i hit the like button.