Learn about the prerequisites for Node.js: Debugging and Performance Tuning, such as the ES6 standard, experience with Express.js, and use of a database like MySQL.
- [Instructor] Let's discuss the skills you should have, before watching this course. This is an intermediate Node.js and software engineering course. It's intended for developers who have written a few Node.js and JavaScript applications. If you've never written anything with Node.js, I recommend Node.js Essential Training in our library. This course was written using the Node.js Long-Term Support version, which, as of this recording, is Node 8. The content should be forwards compatible with newer versions of Node.js.
We're going to be installing some NPM packages globally. If you run into any permission problems, please, read the NPM documentation chapter on fixing NPM permissions, on docs.npmjs.com. The majority of the JavaScript code in this course uses the ECMAScript standard, also known as ES6. If you're not familiar with ES6, or, you'd like a refresher, check out Switching to ES6 in Node.js in our library.
There is some ES7 syntax, specifically async and await, but that won't be our focus. As this is a course on debugging and performance-tuning, we'll start with a barely functional Node.js application. The application we'll be working on is an implementation of rock, paper, scissors, a hand game for two people. It features session storage, database persistence, form handling, routing, and even microservices. As you can imagine, if something can go wrong, it will, and we'll work together to optimize and debug the app.
No prior knowledge of microservices is necessary, as we'll be exploring that topic in chapter two. The applications uses Express.js, a minimalist Node.js framework. If you haven't used Express before, or you need a refresher, check out Building a Website with Node.js and Express.js, in our library. Game data will be stored in a MySQL relational database. We're not gonna be optimizing or debugging MySQL itself in this course. Instead, we'll be focusing on handling the responses of services.
Therefore, the application will use Knex.js, a SQL query builder that simplifies database interactions with a Promise interface. No experience with MySQL or Knex is required, and we're not gonna be debugging either of them. But, if you'd like to learn more, check out Databases for Node.js Developers in our library. As this is a course on debugging, and not on systems administration, I've included a Docker configuration to get MySQL up and running, with minimal effort.
We'll install and start everything together as part of the course, and instructions for turning it off are included. No prior Docker experience is necessary for this course. If you'd like to find out more, check out Learning Docker in our library.
Released
7/13/2018- Building a troubleshooting mindset
- Why measure performance?
- What's a microservice architecture?
- Managing microservices with PM2
- Effective logging strategies
- Debugging Node.js applications
- Benchmarking performance
- Profiling code execution
- Knowing what to optimize
Share this video
Embed this video
Video: What you should know