web development

Testing Data-Intensive Code With Go, Part 3

Overview

This is part three out of five in a tutorial series on testing data-intensive code with Go. In part two, I covered testing against a real in-memory data layer based on the popular SQLite. In this tutorial, I'll go over testing against a local complex data layer that includes a relational DB and a Redis cache.

Categories: 

Get Started With Image Recognition in Core ML

With technological advances, we're at the point where our devices can use their built-in cameras to accurately identify and label images using a pre-trained data set. You can also train your own models, but in this tutorial, we'll be using an open-source model to create an image classification app.

I'll show you how to create an app that can identify images. We'll start with an empty Xcode project, and implement machine-learning-powered image recognition one step at a time.

Categories: 

Manipulating HTML5 Canvas Using Konva: Part 3, Complex Shapes and Sprites

In the second tutorial of this series, you learned how to draw basic shapes using Konva. You can combine the basic shapes one way or another to create stars, rings, arrows, clocks, or a hut. Konva also allows you to create some common complex shapes by using built-in functions provided by the library. 

Categories: 

What Is Serverless?

The serverless computing concept is an up-and-coming execution model that tries to address the needs of modern, cloud-based software. 

In this video from my course, Introduction to Serverless, I'll introduce you to the serverless architecture. We'll talk about its key points and compare it to other models for abstracting server functionality to the cloud.

What Is Serverless?

Categories: 

Get Rid of Bugs Quickly Using BugReplay

As a web developer, you are bound to come across clients who are not very tech savvy. Some clients might want you to create a new website for them, while others might want to only make changes to specific sections or add new functionality. This is how the situation generally plays out:

Categories: 

Manipulating HTML5 Canvas Using Konva: Part 2, Basic Shapes

The introductory tutorial of the series taught you how to draw your first shape using Konva. It also explained how layers and groups work in Konva. In the rest of the series, we will focus on more specific topics like creating basic and complex shapes or attaching event listeners to different shapes in order to make your graphics interactive.

Categories: 

New Course: Up and Running With WooCommerce

Setting up an online store used to be complicated, but these days it's never been easier, thanks to WordPress and WooCommerce.

Our new course, Up and Running With WooCommerce, takes you through the whole setup process from start to finish.

Categories: 

Testing Data-Intensive Code With Go, Part 2

Overview

This is part two out of five in a tutorial series on testing data-intensive code. In part one, I covered the design of an abstract data layer that enables proper testing, how to handle errors in the data layer, how to mock data access code, and how to test against an abstract data layer. In this tutorial, I'll go over testing against a real in-memory data layer based on the popular SQLite. 

Categories: 

Android Architecture Components: the Room Persistence Library

In this final article of the Android Architecture Components series, we’ll explore the Room persistence library, an excellent new resource that makes it a lot easier to work with databases in Android. It provides an abstraction layer over SQLite, compile-time checked SQL queries, and also asynchronous and observable queries. Room takes database operations on Android to another level.

Categories: 

Manipulating HTML5 Canvas Using Konva: Part 1, Getting Started

The HTML5 canvas has been supported by all popular browsers for a long time now. You can use it for drawing graphics in a browser with the help of JavaScript. The graphics that can be created on a canvas range from simple lines and shapes to photo compositions and animations.

Categories: