Master the internals of highly scalable server code.
Do you really know when and why to use Node.js?
You will, after taking this class.
Why you should take this class
Node.js, EventMachine and Tornado are the hot thing right now in the programming world. Everyone knows they are fast. But do you know why they are fast? Are they always the fastest solution?
Don't just learn Node.js, understand how it works.
There's a lot of magic going on in evented platforms. For example, how are they able to handle such a huge number of concurrent connections without even using threads? This class will answer all those questions and show you how to gain maximal performance while using less resources.
Event loops are extremely simple once you understand a few key concepts. And once you understand how they work, you'll instantly know why they are fast, what you can and can't do and how to gain maximum performance from them.
Who is teaching it
Creating and maintaining Thin for more than five years required me to learn a great deal about asynchronous I/O and event loops. In this class, I'll teach you what I know about UNIX network programming, high performance servers, asynchronous I/O and event loops.
My style of teaching involves a lot of live coding and rebuilding things from scratch. This approach has been wildly successful with my other classes. If you love creating software, I'm pretty sure you'll enjoy it.
What previous participants said about the class
« The presentation format was perfect. [...] after each [exercise] I had at least one "Aha!" moment. »Joseph Purcell
« I don't know where to begin. I am blown away. Other online "classes" that I have attended are very lackluster compared to your class.
The format was amazing, [...], building on top of each lesson as we progressed.
I am not sure it could have been done better. This is complicated stuff, and I feel you have gone well above expectations to help understand the event loop.
I can easily say that I have leveled up - it has changed my thinking on event driven programs. Not just in Node but for Ruby as well.
You know your shit. »Jae Hess
« As someone who's been around for awhile, I found that this course solidified lots of little pieces of knowledge I had accumulated [...]. There was lots of new material as well [...].
The course isn't just for veteran programmers, though -- the material is presented in small, clearly-presented, digestible chunks and should be valuable to anyone who's working with web development [...]. »Paul Blair
« The class was paced excellently. Overall, this subject matter is complicated—but Marc-André walks through the material step-by-step and it's straightforward to follow along.
I've learned a great deal about how Evented I/O systems work, how they're built and when they might be most appropriate (as well as when they're not!). »Tom Buchok
« Loved this class. »Charles Himmer
« I highly recommend this class to anybody writing or using any event based code. »James Paterni
« [Marc] explains the event loop step by step through examples, very clearly and easy to understand. »Jimmy Chao
« In 8 hours I have learned more about Event Loop and Web servers than in several months in any school. »Gabriel Dehan
What you'll learn in this class
- Understand the dos and dont's of evented I/O.
- Understand why and when asynchronous I/O is faster.
- Learn how an event loop works, by building one from scratch.
- Discover the system calls at the core of every server.
- Write the fastest network applications around.
- Use your machine resources to the maximum.
- Build a web server from scratch.
- Finally master your web stack from top to bottom!
What you get
- Downloadable copy of the slides used in the class.
- Cheatsheets summarizing important points for quick reference.
- Downloadable video recording of the class.
- Code from the class you can share, modify and reuse.
- Eternal and permanent awesomeness.
- Bonus A copy of Create Your Own Programming Language
How it works
The class lasts a total of 8 hours over two days. We all meet at a given time in a chat room where you'll get instructions to start watching the streaming video of the class.
I will present the content using slides and live coding sessions. You can ask questions at any time using the chat room. Each module will end with a period of questions and exercises.
You will never appear on video. You only need to watch the live video of the class. You ask questions in the text-based chat room.
If you miss any part of the live class you can watch the recording of it any time you want.
Everything is online, you only need a web browser (with Adobe Flash support for the video and audio). Also, a UNIX-based operating system, Node.js, git and a C compiler to complete the exercises.
Who should take this course
Some experience with event-driven systems such as Node.js, EventMachine, Twisted is a plus. Or even some experience with jQuery callback-based functions is enough.
But, you do not need to know anything about how event loops work inside, that is what this class is for :).
If you're not sure if this class is for you, drop me a line and we'll find out.
Awesomeness guaranteed or it's free
I truly want you to learn a lot and enjoy this class. But if for any reason you're not fully happy after taking the class, I'll give you your money back and you keep everything, no questions asked. If you're not happy, I'm not happy. All risk is on me and I'm cool with that.
Places are limited
This class will be highly interactive, I want to be able to answer all of your questions. Thus, each class is limited to 25 people. Keep in mind, my other classes keep selling out in a few hours, and I expect this one to go even faster.
Training classes go for about $800 and up, but since this is online and I want to keep this class accessible, you get the 8 hours of interactive class, downloadable recordings, cheatsheets, exercises, reusable source code and a copy of Create Your Own Programming Language for only $529.
However, if at any time during the class you feel that you're not getting your money's worth, I'll give you your money back and you keep all the material, no questions asked.
See you in class :)
P.S. Still not sure you should take this class? Got some questions? Drop me a line and let me know.