Our website is made possible by displaying online advertisements to our visitors. Please consider supporting us by disabling your ad blocker.

Getting Started with Visual Testing

There are tons of tools out there that help you make sure your app is functioning correctly. But how do test software from a purely visual standpoint?

Chances are you’re writing functional tests to check visual elements, or manually checking your UI whenever you push a change. If you are doing either of those things, then you know that they’re incredibly time-consuming and bugs still end up slipping through the cracks.

That’s where visual testing comes in.

Read More

Getting Started with Vue.js Navigation Guards to Restrict Access to Routes

You might remember that I had written a tutorial titled, Simple User Login in a Vue.js Web Application, which demonstrated how to navigate between routes and check a variable to determine if a user should in fact be allowed to be on a particular route. This previous tutorial focused on applying logic after the user had already completed the navigation process, rather than during or prior. While this is a good introduction to becoming familiar with the Vue.js router, it isn’t a realistic approach to handling user login and route restrictions.

The recommended approach is to use navigation guards, sometimes referred to as route guards.

In this tutorial, we’re going to see how to use Vuex with Vue.js navigation guards to protect certain pages within the application from unauthorized access.

Read More

Chaining JavaScript Promises While Sharing Parent Data

Typically when I’m working with RESTful APIs, the routes or endpoints return what I need, plus more, which would be too much data. However, recently I ended up working with an API where the responses were rather trim, resulting in the need to use many HTTP requests to various endpoints, rather than getting everything in a single request. To take it a step further, some of those HTTP requests depended on data from other requests creating a mess of asynchronous operations in JavaScript.

After consulting with my pal, Corbin Crutchley, we came up with a solution to what I needed, without creating chaos in my code. Remember, Corbin is a JavaScript professional, as demonstrated on the podcast we recorded together titled, Asynchronous JavaScript Development.

In this tutorial we’re going to see how to chain JavaScript promises, but also use data from parent links in the promise chain with child links in the same promise chain.

Read More

TPDP Episode #29: Asynchronous JavaScript Development

The latest episode of The Polyglot Developer Podcast has just published, this time focusing on the use of callbacks, promises, and async / await, in JavaScript.

This episode titled, Asynchronous JavaScript Development, is the twenty-ninth episode to appear on the show and it features Corbin Crutchley, an expert JavaScript developer and open source maintainer.

If you’ve ever struggled with wrapping your head around working with remote resources or blocking tasks in JavaScript, this episode should clear things up.

Read More

Share Internet Between macOS and a Raspberry Pi Zero Over USB

If you’re a fan of the Raspberry Pi, you might have stumbled upon my tutorial for interacting with a Raspberry Pi Zero using nothing more than a USB cable. If you recall, the standard Raspberry Pi Zero has no WiFi, no Bluetooth, and no Ethernet.

Alright, so let’s assume that you’re able to interact with your Raspberry Pi Zero. Now what? How do you update it, download new software, or work on some awesome projects that might require internet in some fashion?

Well, you could take a look at my tutorial titled, Three Simple Ways to get Online with a Raspberry Pi Zero IoT Device, or you could share the internet of your host computer without having to purchase any extra hardware.

In this tutorial we’re going to see how to share the internet from our host device, assuming that host is macOS.

Read More

Moving to Dart from C++

A couple of days ago, while recovering from some flu, I managed to catch up a bit of me reading. If you know anything about the life of an independent contractor, you’d know that there’s never time for your personal projects or hobbies, so this was a most welcome break.

One of my favorite blogs is this one and I saw a great article on Sorting vectors in C++ by Nic Raboy. As it happens, C++ is one of my first commercial languages and I still make some moderate use of it for various mobile projects.

One thing that struck me, as I read the code, was how close this was to the Dart programming language. I’ve been doing a lot of Flutter development of late, and have been making more use of the Dart programming language. Mobile applications often contain complex logic, and this is where Dart has really proven it’s worth to me, in both being a concise and expressive language, but also being familiar enough that I didn’t have to learn everything from scratch to be productive.

In this short tutorial, we’ll take the quicksort algorithm Nic has built in C++ and convert it to Dart. Along the way, we’ll see how close Dart is to C++ and how much of your existing C++ knowledge easily transfers to the Dart environment.

Read More

Image Cropping, Zooming, and Scaling with Angular and JavaScript

When building a web application there is a good chance you’re going to need to work with images eventually, even if it is something as simple as allowing a user to upload a profile image. In theory this is a simple task, but in reality, your website theme is probably anticipating images of a certain resolution or aspect ratio. If the user tries to upload an image that doesn’t meet your requirements, it might break your theme.

We’re going to see how to include image manipulation capabilities in your Angular application using the popular cropperjs JavaScript package.

Read More