Node.js Learning Path: Unit 4 – Basic Concepts

Hey everyone! If you want to learn Node.js, then check out my Node.js Learning Path, which you can find only at IBM Developer.

Unit 4 of the LP gives you an introduction to the basic concepts you need to know when working with Node. Stuff like:

  • Sychronous versus asynchronous programming
  • Node’s module system, npm, and using third-party packages
  • Load testing using Apache bench, and loadtest
  • The Pyramid of Doom (I’m not making this up)

And lots more. I’ll even show you how to create a Node module (something you’ll do a LOT, trust me).

There’s a quiz to help you deepen your understanding of the material, and a video too:

Ready to dive into Node.js concepts? Then click here to jump right to Unit 4.

Want to take the entire course? Then click here to begin with Unit 1.

Either way, have fun, good luck, and thanks for reading!



Node.js Learning Path – Unit 3: Node.js Architecture

Hey everyone! If you want to learn Node.js, then check out my Node.js Learning Path, which you can find only at IBM Developer.

Unit 3 of the Learning Path starts with an overview of the Node.js architecture: the Node API, the Node Core, the Event Loop, and the JavaScript engine (Chrome’s V8 engine).

You’ll learn about ECMA Script (ES), and how the different versions get their names (Q: is it ES6 or ES2015? A: Yes).

You’ll learn the key to Node’s impressive scalability (spoiler alert: non-blocking I/O via the Event Loop), and even write some code using the Node Read-Eval-Print-Loop (REPL).

You’ll also get a tour of Node’s package manager, npm.

There’s even a video (just when you thought it couldn’t get any better):

Click here to start your Node journey, or here to jump right to Unit 3 of the Node Learning Path.

Thanks for reading!


Node.js Learning Path – Unit 2 – Install Node

Hey everyone! If you want to learn Node.js, you should check out my Node.js Learning Path, which you can find only at IBM Developer.

Unit 2 of the LP shows you how to install the software you need, like:

When you’ve completed Unit 2 you’ll have the software on your computer you need to complete the Learning Path.

Ready to install Node? Then click here.

Thanks for reading!


Node.js Learning Path – Unit 1

Hey everyone! If you want to learn Node.js, you should check out my Node.js Learning Path, which you can find only at IBM Developer.

Unit 1 is the overview, where I answer the question: “Why Node?” and show you a detailed outline of the Learning Path.

The Learning Path has two major parts:

  • Part One: Learn Node – Units 1-9
  • Part Two: Apply What You’ve Learned – Units 10-14

The Learning Path will be published unit-by-unit over the next several weeks.

Ready to start your Node.js journey? Then Click here.

Thanks for reading!



What is Node-RED?

Ah, the Internet of Things (IoT for all you acronym aficionados). It’s awesome, right? Throw in some JavaScript, and a browser, and what do you have? Node-RED!

Node-RED was created by IBM’s Emerging Technology Services team, and allows you to create functionality by wiring together flows of data between nodes using a browser. And it has gained tremendous popularity in the IoT space, by modeling bits of application functionality between IoT devices like sensors, cameras, and wireless routers.

But it’s so much more than that, and in this article, I’ll break it down for you.

What Problems Does Node-RED Solve?

It’s helpful to understand the problems a technology solves, or you might misapply it. So what problems does Node-RED solve?

High Barrier to Entry

Let’s face it, not everyone writes great code (I’m certainly not talking about you or me, of course). Coding has a high barrier to entry that can sometimes stifle innovation due to the gap between the idea and the code to implement it.

What happens to all those great, innovative ideas out there because nobody is around to code them?

Not only that, but not everyone thinks in code. Some people are more visual.

Prototypes are critical to innovation

If you’re going to pitch an innovative idea, you need something to show. You know, a straw man. That means you’ll need a prototype.

Let’s say you build a prototype. Now what? Prototypes are often just toy applications. How do you get from prototype to something useful?

And what about someone who doesn’t code? How would they build a prototype?

What Node Red is NOT

A new technology stack

Node-RED uses battle tested technologies as part of its technology stack like Node.js, JSON for metadata, JavaScript for coding, and almost any web browsers.

Of course, nodes can be written to allow processing in pretty much any way you like. Node-RED is super flexible!

XML based

I’m not terribly fond of XML – not because it’s not awesome but because in practice it’s so often misapplied (application metadata comes to mind) – and Node-RED doesn’t need a single shred of XML metadata to function.

Sure, there are contribs that allow you to work with XML, but the metadata of a Node-RED flow is not built on XML (but much more – IMHO – readable JSON).

A toy

Build a prototype in Node-RED and wow your customer. Then build on that prototype to create the finished product, whether that is a single new function, a collection of new functionality, or an entire application from browser to database.

Serious application functionality can be built using Node-RED. Don’t take my word for it. Using IBM’s BLOOP BLURP

Just for IoT

While Node-RED shines at the Edge, it can be used to solve pretty much any problem that can be modeled as a flow-based program (FBP).

An FBP is made up of processing components (the nodes) that process data (e.g., transform it from one form to another) and write the data out to other components to which they’re connected in a network of such components. FBP lends itself well to problems that don’t naturally fit traditional, sequential program models (e.g., multiplexing, and recursive programs).

The Solution

Enter Node-RED

Node-RED is:

  • A browser-based flow editing tool,
  • Built on Node.js, and
  • Designed for reuse – lots of pre-built nodes, or build your own and share them!

Okay, you may be thinking, how does that solve the problems listed earlier?

High Barrier to Entry

First off, Node-RED is simple to setup and use. You just install a few things (like Node.js, and the node-red package) and it’s ready to use. Seriously.

Then, once you’ve fired up Node-RED, you can use is to create flows visually. See, Flow-based programming is all about the flow of data: data in, data out. Visualize the data, Neo.

Finally, using Node-RED’s graphical flows makes building prototypes a snap:

  • Select pre-built nodes from the palette
  • Wire them together
  • Test
  • Repeat


So what are you waiting for? Give Node-RED a spin today.

You’ll be glad you did.