Transcript from the "Wrapping Up" Lesson
>> Can you help explain cores.
>> So let's say I'm on gemstack.lol and I have my main server or I have like a utility file called slot and it's located at /gemstack/utilities.js and I import that. That's pretty cool. But what if I create a I say you know what I don't want my utilities file to live on my server I want it to live somewhere else.
[00:00:25] By default, your web page will not allow you to do that, that's called a cross origin requests and the reason why we don't allow that by default is we don't control that origin, so it makes it really easy for a malicious actor to kind of mess with your connection.
[00:00:40] So cores is about saying like, I'm very explicit, I'm going to allow gem stack.utilities to serve requests to my domain and nothing else. Because the minute you allow anybody to import files into your domain, you're just pulling randomly, that's when security becomes an issue and you can see the role of the browser and you see with SSH you see with permissions.
[00:01:04] All these things are designed to help you not shoot yourself in the foot not do bad things. Hence, that's why cores exists. Just it's just about being explicit about the things you're important, the things you run, or where it runs.
>> I'd like to ask Jem, if it's valid to install a version of MVM in the droplet to manage the node version instead of installing it globally or why it's not a good practice.
>> Yeah, you can saw MVM, no problem. I do it on my local machine. It's super handy. There's nothing wrong with it at all. We kept it very simple because you saw the more complex things, the more it's likely to go wrong. But you can use MVM, there's no problem.
>> Any good Netflix recommendations?
>> I've been telling everybody here in Minneapolis about physical 100, great show on Netflix, if you're into reality shows and competitions, really enjoying that one. I also enjoy Jungle on Amazon Prime. It's foreign to the UK hip hop scene, but I really enjoy the cinematography on that one as well.
[00:02:08] Not on Netflix, but I don't get to watch a lot of TV these days. When I do, I like to relax. And of course my favorite is Formula One, Drive to Survive, the most expensive drama in the world, hundreds of millions of dollars, 21 drivers, couple teams and it's just drama, drama, drama.
[00:02:27] It's such such good stuff.
>> What security measures will be implemented in the Docker environment if there are any?
>> Yeah, good question. And the great thing about the Docker container is we don't need that much because there's only one port exposed and we're very exclusive about that and Dockerfile.
[00:02:44] So any security you wanna implement would be on the application itself. So but you need to have to worry too much because I can't you only have that one port. As long as you're controlling that, you're okay. The other security measure is the Docker container is only running on one user, the node user.
[00:03:02] That user only has permissions to run the application, that's it. So it's pretty locked down, and that's the good thing about Docker containers, is you really don't have to go through too much to lock it down. Assuming you didn't misconfigure your actual application server itself.
>> Can you make a container locally and then just have it pulled into the server by GitHub?
>> Yeah, there's actually a, I didn't wanna get into it cuz you have to create a login, but there's something called Docker Hub. So you can create a container and a username and you can just push to Docker Hub, which is the equivalent of GitHub, but for Docker images.
[00:03:37] That way anybody can pull your image down. So I can create an image and then share it out with you all and you can just pull it in and now you are running server on your computer really easily and that's the power of containers.
>> Is there something else you recommend as next steps?
>> Frontend masters.com/learn/full stack. There's a full learning path that goes through and starts here and then goes through know everything from Linux and command line deeper to Vim, deeper to containers, etcetera, and a lot of the courses that were mentioned throughout the day.
>> Yes, so you start with the frontend, as we said, it's a really high overview and there's a lot of places that dive in, but we didn't.
[00:04:23] Because even in the two day course, we still went probably over time than we could have and we just touched the surface. So you can get into databases, Linux command Line, VIM Fundamentals, which we talked about with ThePrimaegen is right over there. Introduction to Node, Scott is an excellent teacher.
[00:04:42] API design, you can get the AWS, we only touched digital motion, we didn't touch any AWS. You can go into Docker containers. More database things SQL and Postgre. So we are you are here and here is a lot, you made it this far, you've done a lot, you've learned a lot.
[00:04:59] And you can go deeper anywhere you want, because any parts of the stacks are probably their own roller company. We made it to the end of full stack for frontend three. We learned about how the internet works, we learned about domain name systems, name servers and this Internet address book, how we translate IPs into domains.
[00:05:18] We bought a domain we learned what a records are, we learn what nginx was, we learned how we use nginx to do a lot of things. It can load balance, it can route to applications, it can do act as a web server just serve HTML files. Let's say more importantly, we learned how the Internet works.
[00:05:37] We learned other than, say network card and routers and we don't own an ISP, but we know what they do. We learned about all these other things and the role they play in developing a modern frontend web application. And remember that iceberg picture we saw at the beginning?
[00:05:54] That frontend and everything else? Now we know just a little bit more about that everything else. So, I hope you enjoyed the course, pat yourself on the back, you made it to the end. You now have a fully functioning modern web application that you can build on top of and actually scale out and it will scale out just fine using all the steps we did.
[00:06:13] Incredible, especially if it's you're new to programming or you've never seen any of these things before, you've come such a long way. So pat yourself on the back and continue your learning journey and I look forward to seeing you in the next course.