Complete Intro to Real-Time Introduction
Transcript from the "Introduction" Lesson
>> Today we're gonna be talking about the complete intro to Real time. So that we're gonna be talking about like Websockets, Polling, HTTP/2 PUSH, a lot of other really fun stuff that I'm really excited to get started on. What you see in front of you on your screen right now is the course website.
[00:00:18] Just go ahead and hop over there. I actually have a link here for you, you can just type, bit.ly/intro-realtime. Make that a bit bigger for you so you can see it. This one right here. You can also just type this in, but this just seems hard to type that much.
[00:00:36] And that should take you to this lovely website here. So just you know, these are my actual teaching notes. That's what I have here on this laptop. What I'm glancing over there, I'm literally just looking at the same website as you. So if you feel like you get behind or you want to go review something or you want to share something with your colleague at work or something like that, go ahead and do that.
[00:00:58] This is all open source and available and so, because it's open source, if you see any spelling mistakes, please open a pull request. So without getting much more into it, the one thing I noticed during these videos, I'll be in various different sections of this. That's what this thing up here at the top is.
[00:01:16] So you can see the name of the section and the name of the chapter that we're in. So we're in the introduction, right. So you can kind of see where I am at all times as well. So let's go ahead and get into the introduction here. So we're gonna be talking about real time today, and when I say real time, what I just mean, is you have some sort of server state and some sort of client state, and you want them to be the same, right?
[00:01:40] Whether that's, a chat client, which is what we're gonna be doing today, sending messages back and forth. And if I send a message, I want everyone to see it, right? So that'd be me sending a message to the server and then the server broadcasting that. That could be like the status of your order on DoorDash, right?
[00:01:54] You wanna be able to see, at what point are they so a lot of like GPS mapping stuff applies here. Just anything that needs to happen faster than every couple of seconds. You want it be kind of happening as things are updating here. We're gonna start from like the lowest level abstraction.
[00:02:13] If you've watched any of my courses before, you're kind of used to me taking this approach, this first principles approach. We're gonna be building Polling by hands or we're gonna actually just be doing a lot of requests. Then we're gonna, move up the stack here and try HTTP/2 PUSH, and eventually WebSockets and Socket.IO.
[00:02:32] So yeah, that's kind of the gist of what you're gonna be learning today. It's a lot of really fun stuff, we'll be learning a lot of low level stuff that you actually want to do when you go back to your day job or whatever cool projects you're working on.
[00:02:45] However, they will teach you how to be better programmers. They'll teach you how to use your abstractions better. Yeah, I find these things super useful to know like the lower level principles that I can build better things on top of it. So who are you, if you're watching this course?
[00:03:21] There's also an Intro to Web Dev v2, both of which I helped to teach. If this is your first exposure to Node.js, this might have some questions for you. There's a course on Frontend Masters from Scott Moss that's really awesome on that as well. One more I didn't call out on here.
[00:03:40] If this is your first exposure to the command line, there's a couple portions that might be a little odd for you. And there's a course that I taught on the command line as well. But that was probably less required. So yeah, lots of good stuff on Frontend Masters.
[00:03:54] It all kind of builds up to into one complete picture. Who am I? I'm Brian. I hope we've established that by now, I might say it a couple more times. [LAUGH] I'm the product manager of developer products at Stripe. Which means that if you ever need something or payment processing kind of stuff and you need tools to do that, that's the stuff I do.
[00:04:18] So I manage the VS code extension, I manage the command line. A bunch of other stuff too. Previously, I've been at Reddit, Netflix, LinkedIn, Microsoft, I've done a lot of these things actually out in production. So I'm not just making things up, right? These are actually the things that I've learned during my time at these various different companies.
[00:04:41] In particular at Reddit and Netflix, I actually did a lot of real time. We did real time chat at Reddit, and a lot of these things that I'm teaching here, I actually learned back when I was at Reddit. Currently in Seattle. I have a very cute dog, that I have a very large picture of her up here.
[00:04:58] And feel free to catch up with me on social media. I had to put my links in here, I'm very bad at responding to DMs. But yeah, if you see something amiss with the course please just open an issue here. I left a link here so you can just go, you can either just leave an issue open a pull request, that's always, super helpful to me.
>> So I don't need to know about Express and writing API's and node, to learn the Realtime aspects or are you doing API's?
>> That's a valid question. Do you need to know API's to follow this course very well? It will definitely help for sure. I think you would be fine not having done it.
[00:05:40] That being said, these things go together. So, if you're gonna take this course, you should probably immediately take the API one from Scott on here as well, cuz they're just gonna go together super well.