Screaming at the top of my fingers.

Validation is like flossing: you know you should do it, but it’s easy to skip.
And just like flossing,
if you neglecting your validation, you’re asking for trouble.

The Joi module is Hapi’s answer to validation, but
you don’t need to be using Hapi in order to use Joi.
In this tutorial, we’ll show how we can
use Joi to validate any object, and then we’ll take a look at how easily
we can use Joi to validate requests made to Hapi applications.

In most cases, it’s better to serve old data quickly
than to make the user wait for the “correct” data. It’s certainly faster.
This is called caching. You want your APIs to be fast? Cache your APIs.

You could probably slap redis or
memcached into
your existing setup, but what if you’re running an environment like
MRI
that has to spin up a new process for each request? Or what if you’ve got a
number of legacy systems that serve XML, and you want to combine parts of
their data into a JSON API for your new mobile app?

Let’s say you’re a front-end dev who wants to leverage the power of
Grunt.
You’re making a Wordpress theme, and you want to concatenate and minify your
JavaScript files so your site will load faster. We’ll assume that the
site is using jQuery, a few jQuery plugins that rely on jQuery, and a
site-wide script that relies on both the plugins and jQuery.

How difficult is that for someone who’s proficient in jQuery, maybe has
even written a couple plugins, but has never used JS outside the browser?