Choosing the correct database can be tricky. Are you working on a hobby project? Or is it for a company with a large team of developers? Let’s take a look at some of the factors that might influence your decision!

Open-Source vs Commercial

Commercial databases have been around for a long time. Some of the popular ones are Oracle and IBM DB2. The database software comes with a high licensing cost and is only available for commercial use. These are premium databases that offer guaranteed on-demand technical support. They also include a large suite of tools that can accommodate most of the problems…

In my last blog, we learned about how to create a table, insert data, and query data in that table using SQL. Now let’s take a look at how we can make more complex queries using SQL to get data from two tables using joins and how we can create separate join tables!

In the last blog, we used a students table as our example. Let's go ahead and see how we would create that table again using SQL:

CREATE TABLE students(
name TEXT,
grade INTEGER,
gpa FLOAT,
tardies INTEGER);

Now let’s make a new table…

What is SQL?

SQL stands for Structured Query Langauge and can be pronounced either “S-Q-L” or “sequel”. SQL is a language that communicates and manages data within a relational database management system (RDBMS). It allows us to perform all of the CRUD functionalities (create, read, update, delete) via statements using SELECT, DELETE, INSERT, UPDATE, CREATE, and DROP within a database.

The following examples will assume that you have basic knowledge of relational databases. Different relational databases (SQLite, PostgreSQL, MySQL) do not support all of the same SQL data types. For the examples below, we will use data types found in a SQLite database.

Creating a Table

Relational database indexes can greatly increase the speed at which our database is queried. However, there is a cost to using them — let’s dig into it!

What is an index?

An index is a data structure that contains a copy of a column (or columns, more on that later) from a database table that is ordered to increase the speed of database retrieval operations on the original column in a table. An index also contains a “key” on each copied row that points to the original row of data in the column of the table. …

The JavaScript Engine is a part of the JavaScript Runtime Environment. The runtime environment is a container that houses all the parts necessary to run JavaScript code. It enables Javascript to run in the browser and in Node.

Besides the engine, the runtime environment also contains APIs, an event loop, and a callback queue (and maybe some other parts depending on which runtime environment is being used).

The JavaScript Engine is the heart of the runtime environment and is responsible for the parsing, compilation, and execution of the ECMAScript source code.

Different JavaScript Engines

There are many different JavaScript engines. Most notably, you…

A light, performant, and simple way to manage form data in ReactJS

The React Hook Form is an NPM package for ReactJS that helps simplify the management of form data as well as increasing code performance by reducing the number of re-renders. The package is being steadily supported by developers and has a large base of users, which makes finding helpful documentation and tutorials easy. I’m going to walk you through a simple implementation of React Hook Form to show just how useful this package is.

Let’s examine 3 ways to manage form data in ReactJS

We want to create a sign-up form with multiple input fields that are submitted when a button is clicked. …

What is a Promise?

A great definition from MDN: A promise object represents the eventual completion (or failure) of an asynchronous operation and its resulting value.

JavaScript promises are similar to how we think of promises in real life. A promise will either be fulfilled (“resolved”) or broken(“rejected”). Our promise is created from a constructor and takes in a callback function with two parameters, one for resolve and one for reject.

An intro to Continuous Integration / Continuous Deployment


CI/CD stands for Continuous Integration / Continuous Deployment. It is a method of developing applications that involves continuous monitoring and testing, and deployment via automation. Changes and updates are able to be continuously shipped to production. This pipeline carries the app through the entire lifecycle from development to production and then is repeated indefinitely as the application grows and changes.

The Old Way

Let’s take a look at how development practices used to work. Say we have two developers, Sam and Jordan. They both have the same starting code pulled down from an SCM (Source Code Management) system like GitHub. Sam is working…

Q: How do scope, closures, and callbacks work together (ES6)?

Scope refers to the accessibility of the variables within our code. There are two main types of scope: global and local.

Globally scoped variables are declared with var, const, or let outside of a function and can be accessed from anywhere in the code. There is only one level of global scope in JavaScript.

Local scope has 2 levels of scope: function and block.

A closure is created every time a function is created. It encapsulates the variables inside of the function and creates a local scope while allowing access to variables that are in the function's outer scope. …

A look at how the Call Stack, Web APIs, and Callback Queue all work together

Loupe by Philip Roberts will be used for demonstrations

The Event Loop is the system that JavaScript uses in the browser to handle the execution of multiple pieces of code. It consists of the Call Stack, Web APIs, and the Callback Queue. It is responsible for giving JavaScript its asynchronous programming ability.

JavaScript is a single-threaded, asynchronous language with a concurrency model that is based on a “run to completion” event loop… wait, what? Read on, and this sentence will hopefully make sense by the time you finish.

Prerequisite knowledge: basic JS functions, console.logs, and Web APIs like setTimeout and addEventListener.

Let’s Break it Down

Single-Threaded: When we say that JavaScript is a…

Kyle Farmer

Former live music audio engineer. Recent bootcamp grad, current job seeker.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store