This blog aims to be a comprehensive guide to Node.js. I’ll cover topics which will help you understand the core concepts more deeply and easily. There are different posts for differnt topics. The topics are categorized into chapters where I start from the basics and move towards high level view of Node.js.
So what is Node.js, exactly?
The theory behing this technology. If you know "What is Node.js?" you may skip it.
Rayn Dahl is the inventor of node.js. The way he started off was that he was using a photo sharing application called as fliker and he started uploading the picture to the server. He noticed that till the picture upload is completed the server wasn’t able to respond to any other thing associated to that particular client.
Idealy what happened was there was a service running in the background which was uploading a picture and he was trying to navigate between different page by clicking on the link. As the main thread of the application is occupied by the IO operation of getting the file from client to the server so the other parts of the applications were blocked. So Rayn Dahl wanted to find a way where he can upload or do multiple processing at the same time without the main thread being blocked so that one should be able to do all the non-blocking operations simultaneously. Upon analysis he found out that any input/output operations that deals with saving/opening a file blocks the main thread.
Throughout this guide there are a number of small-but-handy pieces of information that can make using this blog easier, more interesting, and less hazardous. Here’s what to look out for.
ProTips™ help you get more from Binomial.me
These are tips and tricks that will help you be a Node.js wizard!
Notes are handy pieces of information
These are for the extra tidbits sometimes necessary to understand Node.js.
Warnings help you not blow things up
Be aware of these messages if you wish to avoid certain death.
You'll see this when you will be given an assignment to work.
A homework which you are required to solve by yourself.
If you come across anything along the way that I haven’t covered, or if you know of a tip you think others would find handy, please file an issue and I’ll see about including it in this guide.