Create A Self-Signed Certificate For Node.js On MacOS

November 19, 2018 Nic Raboy

I recently picked up a Yubico U2F hardware key and thought I'd try to create a web application that was protected with two-factor hardware-based authentication. Things were going smooth until I realized that it is mandatory to be using HTTPS within your application, even when testing locally. HTTPS is common, but I'd never actually set it up with Node.js because I had always been using services like Cloudflare that configure it for you. The problem is that these services are for live domain names, not necessarily localhost.

While we're not going to explore U2F hardware keys in this tutorial, we're going to take a look at creating and installing a self-signed certificate for use in Node.js within macOS.

Read More

Building Amazon Alexa Skills With Node.js, Revisited

November 12, 2018 Nic Raboy

A little more than two years ago, when the Amazon Echo first started picking up steam and when I was first exposed to virtual assistants, I had written a tutorial around creating a Skill for Amazon Alexa using Node.js and simple JavaScript. In this tutorial titled, Create an Amazon Alexa Skill Using Node.js and AWS Lambda, we saw how to create intent functions and sample utterances in preparation for deployment on AWS Lambda. I later wrote a tutorial titled, Test Amazon Alexa Skills Offline with Mocha and Chai for Node.js, which focused on building unit tests for these Skills and their intent functions. Fast forward to now and a few things have changed in the realm of Skill development.

In this tutorial we're going to see how to build a Skill for Alexa powered devices using Node.js and test it using popular frameworks and libraries such as Mocha and Chai.

Read More

How To Build Reusable Angular Components And Share Them With The World

November 7, 2018 Alain Chautard

As you probably know, Angular is all about building UI components. There are several excellent component libraries out there that you can use to build your own application, such as Angular Material, Clarity or Kendo UI to name a few.

Such libraries provide common reusable components such as tabs, date pickers, collapsible menus, and much more. Still, there's always a time where we need something more customized and more adapted to the specific needs of our project.

If you ever get in that spot where you want to create a component that might be reused in different projects, or if you want to write components that you would then open-source, this article is for you.

Read More

Using An Exit Intent Listener To Manage Popups On A Page

November 5, 2018 Nic Raboy

Not too long ago I wrote a tutorial titled, Create an Email Subscription Popup with jQuery, that demonstrated how to create popup modals within your web application. In this example the modals were presented on a timer. If you hadn't noticed, and I think most people did, The Polyglot Developer was using those modals for newsletter subscriptions exactly as demonstrated in the tutorial. The problem was that changes to the user experience on a timer felt intrusive no matter how long the timer. This was further validated through user feedback.

The feedback, which I always take seriously, lead me to changing how the modals were presented. Instead of using a timer, I had switched them to appear based on the users intent to leave the page or site. For clarity, an exit intent happens when the mouse leaves the website to interact with other things on the computer or within the browser.

In this tutorial, we're going to see how to take action based on exit intents with simple JavaScript as well as jQuery.

Read More

Build An Alexa Skill With Golang And AWS Lambda

October 22, 2018 Nic Raboy

It has been a few years since I last worked on and published an application, otherwise known as a Skill, for Alexa powered voice assistants. My last Skill titled, BART Control, was built out of necessity because of my commuting on the Bay Area Rapid Transit system. While I didn't open source it, I had created the Skill with Node.js and a publicly available BART web service. Since then I had written a tutorial titled, Create an Amazon Alexa Skill Using Node.js and AWS Lambda, which also focused on Node.js.

I'm a huge fan of Golang and was pleased to see that AWS Lambda recently started to officially support it. AWS Lambda isn't a requirement to creating Alexa Skills, but it is a huge convenience. To make things even better, Amazon recently sent me an invitation to take part in their developer offer to receive an Amazon Echo Show for publishing another Skill. The offer and Golang inspired me to develop another Skill and this time I wanted to share my process.

Read More

Web Services For The JavaScript Developer, First Edition

October 20, 2018 Nic Raboy

I am pleased to announce the release of my first ever eBook titled, Web Services for the JavaScript Developer, which focuses on the development of REST and GraphQL APIs using JavaScript, Node.js, and various frameworks.

The book was designed to help make you successful at modeling and validating your data, designing queries, and anything related to creating web services.

Read More

Serving Gzipped JavaScript Files From Amazon S3

October 17, 2018 Dan Shultz

If you're using Amazon S3 for a CDN, it's possible to serve compressed, gzipped files from an Amazon S3 bucket, though there are a few extra steps beyond the standard process of serving compressed files from your own web server.

Read More