Setup

Node.js

The first LearnDB implementation is written in JavaScript and requires Node.js to run. As of this writing, the latest LTS version of Node.js is 10.13.0. You’ll want that version or newer. I have verified that 11.x can also run the LearnDB code.

There are several ways you can install Node.js depending on your OS and preferences.

Installers

The most straightforward way to install Node.js is to use one of the installers from the Downloads page on nodejs.org. There is support for a myriad of operating systems and configurations.

Package managers

Most modern operating systems support installing Node.js via a package manager. The Node.js site has information about the most common ones: Installing Node.js via package manager

I recommend using chocolatey or homebrew for installing Node.js on Windows or MacOS, respectively.

  • Windows
    • Install Chocolatey if you don’t already have it installed.
    • In a PowerShell admin console, run choco install nodejs-lts -y --version 10.13.0
  • MacOS
    • Install Homebrew if you don’t already have it installed.
    • In a terminal, run brew install node@10

LearnDB GitHub repo

LearnDB has a git repository on GitHub that contains the complete source code we’ll be covering. The repo contains starting points for each chapter/section so you can follow along and add code as we cover it. It also contains the completed code for each chapter/section so you can verify your work.

To get started, clone the LearnDB GitHub repo to a convenient location on your system.

The git repo contains branches corresponding to the before and after state of the codebase for every coding exercise. For example, the first branch we’ll be looking at is key-value-store-simple_before. It contains all the code necessary to support the simple implementation of our key-value store.

You can add code as you follow along and then check your work against the corresponding key-value-store-simple_after branch, or you can skip straight to the key-value-store-simple_after branch to see the end result for the exercise.