The Stroz

There are very few absolutes in software development. One of these would be “NEVER trust user input”. You should never run a database query involving user input without validating, sanitizing, and parameterizing the user-provided values. If you neglect to handle user input correctly, specifically parameterizing the data, your application will be vulnerable to attack from nefarious people. In this post, we will discuss how to parameterize user input in a Node.js application and how to use the SQL Template Tag module to make the process easier.

Dec 12, 2023
10 minutes

In a previous post, I showed how you can install MySQL on a Raspberry Pi. In this post, I will show how to capture GPS data and store that data as JSON in MySQL Document Store.

Dec 09, 2023
13 minutes

A while back, I wondered if it was possible to run MySQL on a Raspberry Pi. Not only is it possible, but it is not as complicated as I expected. Read on to find out how.

Dec 07, 2023
6 minutes

In a previous post, I talked about how we can leverage GitHub Actions to automate running tests whenever a commit is made to a specific branch of a GitHub repository. In this post, we will discuss one way we can harness GitHub Actions to apply database migration scripts to a MySQL HeatWave Database Service instance running in Oracle Cloud Infrastructure (OCI).

Dec 03, 2023
7 minutes

Recently, I have been talking about how to write and run tests for Node.js code that interacts with a MySQL database. These posts have included details on how to use third-party libraries such as Testcontainers to run the tests in a clean database and Knex to manage database changes. Today, I will discuss how to automate running these tests using GitHub Actions when code is pushed to a repository.

Oct 04, 2023
9 minutes

In previous posts, I discussed how we can use Testcontainers to more easily test code that interacts with a MySQL Database and code that interacts with MySQL Document Store. In yet another post, I demonstrated how to manage database migrations using Knex. This post will show how we can leverage Knex to incorporate database migrations into our testing workflow.

Sep 21, 2023
15 minutes

Ask anyone who has had a conversation with me over IM or email, and they will tell you I am a horrible typist. I was never a great typist, but was much better in high school. After graduating, it would be about 13 years before I would need to type again. So, it was like learning all over again.

Sep 04, 2023
5 minutes

I would like each and every one of you to join me and my good friends, Todd Sharp and Ray Camden, when we launch our new live stream, The Undefined Show, on September 11, 2023 at 8:00 PM Eastern. We will discuss a broad range of topics, primarily related to tech, coding, developer relations, and anything else that comes to mind.

Sep 01, 2023
1 minute

As all developers know, one of the most critical parts of any project is tracking database changes (or migrations). These changes will likely need to be applied in a particular order, and they need to be applied to every environment in the development workflow. We should also be able to roll back these changes should things not go as expected. Knex (pronounced like konnex) can help us manage these migrations, roll back changes, and assist in applying them to different environments.

Aug 31, 2023
12 minutes

In a previous post, I talked about how we can use Testcontainers to help make it easier to write tests for Node applications that interact with a MySQL database. In this post, we are going to discuss how we can write tests for Node applications that interact with MySQL Document Store - again using the MySQL Module for Testcontainers.

Aug 23, 2023
14 minutes