What you need for this book

A computer and an editor! Node.js is cross-platform; so Windows, Mac OS X, or Linux will all work. You can use any text editor, although I will be using Sublime Text 2 for some of the coding. I will also use an IDE for other parts, which is JetBrains PyCharm, with its Node.js module installed. You can use PyCharm, WebStorm, or IntelliJ IDEA from JetBrains, as they are all cross-platform.

You will also need the latest (at the time of this writing) version of Node.js, which is v0.10.26. The API could change (it has changed previously), so later versions could cause issues. The version of each Node package will be shown to you when you first go to install and use it.

The level of expertise you will need is just a little familiarity with Node and experience with building applications. We will touch upon many different frameworks throughout the book. You do not need to know about any of them in depth, and that is why you are reading this book! You should also know how to run things from the console (whether it is Mac OS X, Linux, or Windows) and how to get and install software packages.

Here is a summary of the version of different technologies you will be using in some of the chapters:

  • Each chapter will list out all of the npm packages that will be needed for development.
  • Chapter 4, RabbitMQ for Message Queuing, will require RabbitMQ Version 3.2.3.
  • Chapter 5, Adopting Redis for Application Data, will be using Redis Version 2.8.6.
  • Chapter 9, Deployment and Scalability, will require Python 2.7+ or Python 3+ to be installed. It will be used for building the deploy script. You don't need to be fluent in Python, as the syntax is very straightforward and I will cover what you will need to know. We will also need an SSH client. Mac OS X already has both installed. Linux will have an SSH client and will most likely have Python installed already, and you can install both in Windows.
  • Chapter 10, Debugging and Troubleshooting, will be using Google Chrome. If you have worked in web development, you probably already have this installed. If you do not have Chrome, it is free and can be easily downloaded from Google.

I will personally be using Mac OS X using iTerm as my terminal application and Homebrew for installing software packages. If I run any commands, it will be in this context.