Node.js
- A runtime environment for JavaScript
- Single thread -> good for i/o intensive, bad for cpu-intensive apps
Express
- Callback hell
- Keep your code shallow
- Modularize
- Handle every single error
- Route handler
- Use third-party middleware in order to simplify common web development tasks like working with cookies, sessions, user authentication, accessing request POST and JSON data, logging, etc.
- Serving static files
- Rendering data (views)