Just starting my coding journey and found your website and courses by accident. Couldn't be more thankful for what you have put together. You're such a gifted teacher! Learning SO much thanks to you!! :)
You're the frickin' BEST teacher here, Mosh! Man, if I become a IT teacher one day, I hope I can be like you! You explain everything so clearly, you seem to understand what people need to get something. That comparision you did beetween json and yaml what GOD TIER. I bought you Redux course and IT WORTH EVERY CENT!
I really enjoy and appreciate all your work, you make the world better with your courses where you combine all necessary knowledge and tools for programming. I really love programming and, for sure, you made me love it! Peace and Love from Ukraine!❤️
Regarding JSON vs YAML: It's not only about performance, but also about validation and security. If you, e.g. copy+move some lines from a JSON file to another location, most likely, the JSON will be corrupt and incorrect, and if not, it's very likely, the order didn't matter anywhere. That's good behaviour for anything that mainly computers operate, as such a copy+paste error easily happens while editing (or merging with git), but might not be reviewed by (many) humans, so might be undetected for a long time. In YAML, there is a good chance, randomly moving blocks around, the end result is a different, but still correct YAML. Indeed, that's such a common error, that for bigger projects you usually have to write an own linter for the yaml files checking e.g. if the keys are the expected ones. Regarding security: YAML specification is a bit bigger than XML, so it contains a lot of hard to implement and possible insecure options. That's why many first naive implementation of YAML parsers in programming languages were replaced over time by other parser only implementing a secure subset of YAML. (Or alternatively that's tackled by the custom linters you have to write anyway) There are some other subtle problems with YAML, e.g. your question of why you have to put "3.8" in quotes is because otherwise it would be detected as float und depending of whether can be represented in binary internally exactly or only close to it (indeed, 3.8f == 3.7999999523162841796875). The easiest way to enforce consistency is to demand that the version is always a string and not sometimes a string (3.8.0 == "3.8.0"), sometimes a float (3.8 == 3.7999999523162841796875) and sometimes an int (4 == 4). There are many more subtle possibilities to misinterpret the unquoted strings: Magic words like true or false are becoming booleans. A minus sign is very often interpreted as list start, several further characters like +, |, also have special meanings and so on. When in doubt, always put your strings into quotes, from a practical standpoint that the system should what we want to say in the yaml, even though readability is reduced. That's why, where high predictability is wanted, often enough different formats are used with less surprisings. E.g. HCL for Terraform, Programming languages for Pulumi, AWS CDK, ... or just toml/ini files. Anyway, the high readability, easy understanding and universal structure of YAML dominates pretty much every modern stack, so the solution to all the above problems are custom linters and performant YAML parsers (most often with an own subset or dialect). BTW, JSONs have disappointing also ambiguities that can even be exploited, e.g. the spec does not tell anything what should happen if a key is duplicated (which value to take). Different parsers handle that differently, and for the right combination, you can pass the validation done by the first parser to then inject some malicious (or just unintended, unwanted) behaviour to the second parser.
Superb Mosh-jan. Thank you. I say this without prejudice. Content is fluid, it stops to point out significant landmarks without cluttering, and therefore the duration is also tolerable in this age of millisecond attention spans. I learned a lot and refreshed a lot.
I just want to let you know that your courses are top class. One improvement I would like to see in your course is the project you develop during the lectures. Even though *Vidly* is really a good project, I would like to see much complex project than that. Maybe an e-commerce project. Point is: you have tons of cool techniques to improve the quality of code which we can learn from your experience.
Hello Mosh! Thank you for making these amazing tutorials. Could you please link the zip file that you are referring to in this video so that we can follow along? Thank you!
I really enjoy ur videos with great understanding, I want to be a software developer but I don't know which programming language to learn first, and where to start 😶
woww!! Thank you so much Mosh for such great content, I'm a 1st yr CSE college student in India and request you to please make a OOPs in c++/ python !!, I saw ur 7min video on OOPs and I really understood it very well
This was one hell of a great video. You have a great teaching style. You are VERY clear in your explanations. And best of all, your screen captures are MOBILE-FRIENDLY. This video was missing the 1 thing I came looking for, but I am glad I watched the whole thing. Liked. Subscribed. Will look over your courses and purchase any that are remotely relevant to my needs. ☮❤🌈 PS: What I needed was how to do a "reverse port map/access". That is, I need initiate "from contain to host", instead of the "from host to container" that is explained EVERYWHERE. I have since learned this is done via `docker run --add-host=host.docker.internal:host-gateway` or in docker-compose.yaml `extra_hosts: ["host.docker.internal:host-gateway"]` Then [for example] your container can access the CUPS printer on your host machine via port: 631 on host: host.docker.internal
Thank you so much for this precious tutorial. You talked about a zip file. Please, where can we get it so that we can follow up what you are teaching us? THANK you again!
Also, version is deprecated and ignored by docker. It's literally just a comment at this point. From Docker spec (emphasis in original): "A Compose implementation SHOULD NOT use this version to select an exact schema to validate the Compose file, but prefer the most recent schema at the time it has been designed."
I love your teaching style and wanted to buy this course to see if I want to study more of your courses. You advertise it at a discounted price of $19 on your website but clicking through to the webshop removes the discount. I'm sorry but $177.31 (with tax in EU) is just too much for me to pay for a 5-hour video course. I'm gonna choose Udemy instead as I can afford that with the frequent discounts offered. It's a shame because I find the way you present the content to be very clean and easy to follow.
Hi there I wanted to find out if you also do Cyber Security tutorials just started my course and your Python and Java tutorials have helped tremendously. Hope to hear from you soon.
The .zip file is not in the description. I think you moved it with the launch of your site and it's now behind a course/paywall. Video is useless now past the 6-minute mark.
mosh there is a very important part you left out , will you mind taking us through deploying the containers ? so that i can access the endpoints of the app globally ?
Just starting my coding journey and found your website and courses by accident. Couldn't be more thankful for what you have put together. You're such a gifted teacher! Learning SO much thanks to you!! :)
did you get the zip file?
@@edwinchiboko3737 yah dude where is the zip file
I only appreciate your lectures after going through the ones done by others. This guy is a genius teacher.
did you get the zip file
0:00 Intro
0:27 Running Multi-container Apps (intro)
1:16 Installing Docker Compose
2:30 Cleaning Up our Workspace (delete containers and images)
5:39 The Sample Web Application
8:50 JSON and YAML Formats
13:00 Creating a Compose File
21:58 Building Images
25:38 Starting and Stopping the Application
27:49 Docker Networking
Where is that bloody zip file?
how can I get the ZIP file?
where is zip? can you please link?
You're the frickin' BEST teacher here, Mosh! Man, if I become a IT teacher one day, I hope I can be like you! You explain everything so clearly, you seem to understand what people need to get something. That comparision you did beetween json and yaml what GOD TIER.
I bought you Redux course and IT WORTH EVERY CENT!
How can you find the code?
did you get the zip file
Finally the legend is back 😎
Thank you! Please support me by liking and sharing this video. :)
Learning is a continuous process
Absolutely mosh!..
Done :-)
@@programmingwithmosh Hello Sir! How can I Unsubscribe Code with Mosh? I've Completed My courses. Thanks a Lot!
I really enjoy and appreciate all your work, you make the world better with your courses where you combine all necessary knowledge and tools for programming. I really love programming and, for sure, you made me love it! Peace and Love from Ukraine!❤️
Did you find the zip file?!!
Regarding JSON vs YAML: It's not only about performance, but also about validation and security.
If you, e.g. copy+move some lines from a JSON file to another location, most likely, the JSON will be corrupt and incorrect, and if not, it's very likely, the order didn't matter anywhere. That's good behaviour for anything that mainly computers operate, as such a copy+paste error easily happens while editing (or merging with git), but might not be reviewed by (many) humans, so might be undetected for a long time. In YAML, there is a good chance, randomly moving blocks around, the end result is a different, but still correct YAML. Indeed, that's such a common error, that for bigger projects you usually have to write an own linter for the yaml files checking e.g. if the keys are the expected ones. Regarding security: YAML specification is a bit bigger than XML, so it contains a lot of hard to implement and possible insecure options. That's why many first naive implementation of YAML parsers in programming languages were replaced over time by other parser only implementing a secure subset of YAML. (Or alternatively that's tackled by the custom linters you have to write anyway)
There are some other subtle problems with YAML, e.g. your question of why you have to put "3.8" in quotes is because otherwise it would be detected as float und depending of whether can be represented in binary internally exactly or only close to it (indeed, 3.8f == 3.7999999523162841796875). The easiest way to enforce consistency is to demand that the version is always a string and not sometimes a string (3.8.0 == "3.8.0"), sometimes a float (3.8 == 3.7999999523162841796875) and sometimes an int (4 == 4).
There are many more subtle possibilities to misinterpret the unquoted strings: Magic words like true or false are becoming booleans. A minus sign is very often interpreted as list start, several further characters like +, |, also have special meanings and so on. When in doubt, always put your strings into quotes, from a practical standpoint that the system should what we want to say in the yaml, even though readability is reduced.
That's why, where high predictability is wanted, often enough different formats are used with less surprisings. E.g. HCL for Terraform, Programming languages for Pulumi, AWS CDK, ... or just toml/ini files.
Anyway, the high readability, easy understanding and universal structure of YAML dominates pretty much every modern stack, so the solution to all the above problems are custom linters and performant YAML parsers (most often with an own subset or dialect).
BTW, JSONs have disappointing also ambiguities that can even be exploited, e.g. the spec does not tell anything what should happen if a key is duplicated (which value to take). Different parsers handle that differently, and for the right combination, you can pass the validation done by the first parser to then inject some malicious (or just unintended, unwanted) behaviour to the second parser.
Thanks for the info man
at 5:50 you mentioned the zip, there is not zip file link in the video description.
my king mosh i love you so so much, you taught me how to be the best programmer big love from africa Ethiopia.
Thank you! Please support me by liking and sharing this video. :)
@@programmingwithmosh Where is the Zip file? 5:56 ????
Great explanation, clear and simple, but at the same time with very important details that no one else mentions. Simply the best.
thank you!! where is the zip file you mantion in 5:54?
It probably only exists on Mosh's course.
Superb Mosh-jan. Thank you. I say this without prejudice. Content is fluid, it stops to point out significant landmarks without cluttering, and therefore the duration is also tolerable in this age of millisecond attention spans. I learned a lot and refreshed a lot.
did you get the zip file
0:33 multi container application
1:21 Docker compose
1:29 Docker compose Install
1:50 Docker compose to verify
2:20 Install Docker Compose
2:34 Cleaning Up Our Workspace
2:46 Remove Images
3:30 Remove Containers
4:16 Remove the Images
4:52 Troubleshoot
6:12 Run the application outside of Docker
8:32 Docker Compose YAML
9:01 Data JSON
10:31 Convert this to Yaml
12:56 Compose Files
13:16 Create a new compose file
14:18 Services
15:35 Docker File
17:19 Port mapping
20:06 Volumes
21:54 Build the Image
22:53 No cache
25:32 Starting the Application
25:41 Start an Application
27:33 Docker Compose Down
27:51 Networking in Docker
30:09 DNS Resolver
32:29 Viewing Logs
Thanks for that, was looking for this. @programmingwithmosh you should add this to your description.
@@KlausbergerYT too basic, see above.
If you are wondering why the version number is string, it's because version can be something like 3.8.1 which is not a number.
I just want to let you know that your courses are top class.
One improvement I would like to see in your course is the project you develop during the lectures. Even though *Vidly* is really a good project, I would like to see much complex project than that. Maybe an e-commerce project. Point is: you have tons of cool techniques to improve the quality of code which we can learn from your experience.
Where can I find the Vidly zip file ?
It would be great if you could make a course on Devops tools ( Open source tools ) with the CI /CD Pipeline.
Hello Mosh! Thank you for making these amazing tutorials. Could you please link the zip file that you are referring to in this video so that we can follow along? Thank you!
I learned so much from your 6 hours python course .Thank you so much Mosh🙏
I couldn't be more thankful for what you do!
I really enjoy ur videos with great understanding, I want to be a software developer but I don't know which programming language to learn first, and where to start 😶
You're a life saver Mosh, this is just what I was looking for💯
did you get the zip file
You are the best teacher ever you explain once and I allredy understand.😄😄
Being a metalhead for decades. I just found my new favorite person and that guy's name is Mosh! \M/
woww!! Thank you so much Mosh for such great content, I'm a 1st yr CSE college student in India and request you to please make a OOPs in c++/ python !!, I saw ur 7min video on OOPs and I really understood it very well
Please can you code for crypto arbitrage for different exchanges?
How is the experience at a programming college? I also want to go the path of coding (I'm indian).
so proud of You Mosh ! I'm from Iran , Hamedan too. !!
This guy is thug, everything is easy in his world. Thanks so much for all the effort Moch!
Where is the source code? He said he was going to attach the zip file, but failed to find it here. Can someone please pin that out for me?
This is a part of his course on Udemy. So it is for those who paid on Udemy!
This video cleared my doubts, love the content.
Your are the best "mosh".. no one can beat you
Thank you! Please support me by liking and sharing this video. :)
Flutter tutorial please, we have all been waiting so long for that 😀👍
Mosh we are so glad to see you're back
Amazing tutorial! i'm so tired of just stackOverflow codes without explain, thanks so much!
Where can I find the zip file for backend and frontend projects mentioned in the video?
Same question here =(
I don't know either so replying here so hopefully I get a notification if someone tells you.
Purchase the course
This was one hell of a great video. You have a great teaching style. You are VERY clear in your explanations. And best of all, your screen captures are MOBILE-FRIENDLY. This video was missing the 1 thing I came looking for, but I am glad I watched the whole thing. Liked. Subscribed. Will look over your courses and purchase any that are remotely relevant to my needs. ☮❤🌈
PS: What I needed was how to do a "reverse port map/access". That is, I need initiate "from contain to host", instead of the "from host to container" that is explained EVERYWHERE. I have since learned this is done via `docker run --add-host=host.docker.internal:host-gateway` or in docker-compose.yaml `extra_hosts: ["host.docker.internal:host-gateway"]` Then [for example] your container can access the CUPS printer on your host machine via port: 631 on host: host.docker.internal
5:51
where is the zip file ?
The tutorial is amazing, but where is the zip file itself with the demo project?
just wondering where the zip file is located??
yeah... same here!
Thanks for this wonderful tutorial.
I'm trying to follow however could not find the link to download the zip file.
Thank You Mosh! I'm gonna take your course!
Thanks for your excellent video!! Where I can download the files did you use in your examples?
I like your tuts very much dude. Simple but practical
Thank you for this tutorial, I was having problems until I saw your video thank you very much
14:10 version must be a string because it's not a float number. Versions are multidot structures like 3.8.1
👆send a direct message for support and guidance
Excellent tutorial, decluttered a bit my fuzzy knowledge about docker and docker compose
5:48 - You said, you attached the zip file. It's not here.
Thanks for the tutorial though.
The reason version has to be in quotes for docker-compose is that yaml spec parses numbers such as 3.0 to 3 and it breaks versioning.
at 5:50 you say that below the video is a zip file, but there is no zip file.
I looked for the zip file as well but couldn't find
Happy to see you brother!! Love from India 😍
Really really it's great to see u on live ❤️❤️
Really appreciate your content Mosh!
Thank you so much for this precious tutorial. You talked about a zip file. Please, where can we get it so that we can follow up what you are teaching us?
THANK you again!
Do you get the answer yet?i still couldn’t find it as well
Hey Mosh, thanks for this tutorial, very handy. BTW can you attach a zip file you mentioned, I would like to get my hands "dirty"
yes Please, have you found the zip file already?
@@kazimali901 Nope dude
No zip file wtf we supposed to do?
Where is the Zip file? As stated in this video at 5:47...
I hope you will continue and thank you very much
you are my teacher
14:09 I think that could be to allow subversions like 3.8.2 etc which would not translate well as numbers.
Also, version is deprecated and ignored by docker. It's literally just a comment at this point. From Docker spec (emphasis in original): "A Compose implementation SHOULD NOT use this version to select an exact schema to validate the Compose file, but prefer the most recent schema at the time it has been designed."
what a great content! so grateful to you
I was waiting for this ep. and enjoyed it!!!!! :DDDDD
But can you please make a c++ beginner tutorial?
Is there really a zip file attached below the video? I can't find it. Anyone? Thanks!
thank you so much for shaing your knowledge in an intersting way
Need more videos on docker Thanks!
I love your teaching style and wanted to buy this course to see if I want to study more of your courses. You advertise it at a discounted price of $19 on your website but clicking through to the webshop removes the discount. I'm sorry but $177.31 (with tax in EU) is just too much for me to pay for a 5-hour video course. I'm gonna choose Udemy instead as I can afford that with the frequent discounts offered. It's a shame because I find the way you present the content to be very clean and easy to follow.
Hi there I wanted to find out if you also do Cyber Security tutorials just started my course and your Python and Java tutorials have helped tremendously.
Hope to hear from you soon.
Are you sharing the code for this tutorial anywhere?
I think you would get better feedbacks (likes) If you had attached the zip file you mentioned.
Hey Mosh, I don't know if I somehow missed the information, but where is the zip file you mentioned ?
Can't find it anywhere
Finally Mosh ❤️❤️❤️
Congrats ! The course is awsome ! Thank you :)
Impeccable lesson without a doubt... well just one : someone could share the zip file ?
The .zip file is not in the description. I think you moved it with the launch of your site and it's now behind a course/paywall. Video is useless now past the 6-minute mark.
Really great videos , well explained , just awesome !
Thank you Mosh, you always make good tutorial!
thanks Mosh. as always, great tutorial.
You are always awesome. Everybody loves you :)
This was really helpful. Thank you.
Thank you Mosh for giving out such great content.
I'm trying to find the zip file but no luck. Could anyone help please?
Same problem
I haven't found too. Can anyone help?
You're a Pro, Mosh! Thanks vm
You're an excellent tutor.
Hey mosh. Can you make a complete video on flutter course. 👍👍👍
mosh there is a very important part you left out , will you mind taking us through deploying the containers ? so that i can access the endpoints of the app globally ?
Nice tutorial, thanks. It's full of valuable information.
👆send a direct message for support and guidance
Thank You Mosh. This tutorial was great!
This guy need to update his courses asap ex: Angular
where is the zip file of that project which is used there?
did you manage to find the zip file for the project? I am trying to find it too wish he would have dropped a git URL
Great course and next that I hope you make course about Docker + Kubernetes. :)
hi moshi, long time , you the best man
Thank you for this wonderful tutorial
where is the ZIP file to follow the examples?
Hello, I am not able to find the zip file with the app below the video. Could you help me, please?
Thanks, very useful. Well done.
Love it, I’m being stuck for 2 weeks
Great tutorial , that helped me well
Thanks
You're the best mosh ❤️💙
where is the zip file? I cant find it
Hey Mr Mosh.....thank you for everything you are doing?? I want to know how I can go about registering for your course and how much it costs
im from iran and thanks for your very nice course
Hi, Mosh! I can't find the attached file with the code. Is it available just in the full course?
Agree
You are a gift man. I really appreciate for your valuable content but I could not find the zip file that you're attached
You're Vin Diesel of Programming World.
Thank you! Please support me by liking and sharing this video. :)
I love your tutorials