Beginner Node.js – Part 3: NPM

In the third installment of my beginner Node.js series, we will discuss the Node Package Manager, or NPM for short. If you missed the first two parts, make sure to go back and give them a quick read (part 1, part 2).

If you are familiar with other languages like Ruby or .Net, they come with a form of pulling in contained functionality through package managers. Ruby has its gems, .Net has Nuget, and Python has pip. Even operating systems now have their own package managers with OSX having Homebrew and Windows 10 now having its own.

NPM LogoNode’s is aptly named, Node Package Manager. We will go over the basics and hopefully become more familiar with working with it as it will become a crucial component of creating apps in Node. As of this post, there are currently over 100,000 packages in the NPM repository that are at your fingertips.

Continue reading

My Struggles with TDD

If you’ve spent any amount of time being a developer, I’m sure you’ve heard of TDD, or Test-Driven Development. The point of TDD is that you write a failing test first, write the code to make the test pass, refactor the code, and then repeat. All programming languages can follow this pattern to create well-constructed code. It also allows you to do more refactoring down the road and make sure that the changes don’t break other aspects of the application. Continue reading

Beginner Node.js – Part 2: Node.js Basics

This is the second post in my beginner Node.js series. If you missed part 1, make sure to go back and check it out as this will continue to build on that.

In Part 1, I briefly explained what Node.js is and showed how to get it installed on the 3 major operating systems, Windows, OSX, and Ubuntu. In Part 2, I want to focus more on what Node.js is and what concepts one would need to understand in order to develop effectively using Node.js. Although it is just JavaScript, there are some additional concepts that make JavaScript effective on the server. Continue reading