Systems | Development | Analytics | API | Testing

Testing MongoDB in Node with the MongoDB Memory Server

In this post, we'll run through testing a Node-MongoDB app, step by step. You can test MongoDB using mongodb-memory-server, an in-memory version of MongoDB that runs independently of a persistent database. A freshly spun-up mongod process starts at roughly 7 MB of memory, providing a lightweight, self-contained environment for running tests. Let's get going!

A Deep Dive into Solid Queue for Ruby on Rails

Our previous article in this series established that Solid Queue is an excellent choice if you need a system for processing background jobs. It minimizes external dependencies — no need for Redis! — by storing all jobs in your database. Despite that, it is incredibly performant. But just being performant is not enough for a production-ready background job system. Rails developers have come to expect a lot over the years. We don't just want to enqueue jobs to run in the background.

Using SQL in Node.js with Sequelize

Relational databases rely on SQL, or Structured Query Language, as the standard way to control and interact with their stored data. In the Node.js ecosystem, Sequelize is a prominent Object-Relational Mapping(ORM) library that bridges the gap between Node.js apps and SQL databases, enabling you to interact with your data using familiar JavaScript idioms. This article will guide you through using Sequelize to connect to databases, run queries, and handle results within your Node.js projects.

Deploying Phoenix Applications with Kamal

Deploying Phoenix applications in production environments poses unique challenges due to Elixir and the Erlang Virtual Machine (VM). The ecosystem offers multiple strategies — ranging from releases to mix-based approaches (as detailed in the Phoenix Deployment Guide) — and various platforms employ different methods. While some rely on buildpacks (for example, Heroku and Gigalixir), others use containerization (like Fly).

Performance and Stress Testing in Node.js

Performance and stress testing are two popular testing methodologies. They focus on determining how an application behaves under regular and unexpectedly high traffic, respectively. These tests are essential for assessing a system's robustness and scalability, particularly in applications with fluctuating traffic like Node.js backends. In this article, you'll learn about stress and performance testing, why they're important, the best tools available, and how to use them in Node. Let's dive in!

Ways to Optimize Your Code in Python

By optimizing Python code, you improve performance, reduce resource consumption, and enhance scalability. While Python is known for its simplicity and readability, these characteristics can sometimes come at the cost of efficiency. In this article, we'll explore four ways to optimize your Python project and improve performance. First, we'll look at how best to use data structures.

What's New in Node.js 24

The latest Node.js release has arrived, and it's not just another incremental update. It delivers meaningful improvements that directly address real-world pain points and opens up new possibilities for JavaScript on the server. In this article, we'll cut through the changelog noise and focus on what's genuinely worth getting excited about in this release. Let's get started!

Migrating A JavaScript Project from Prettier and ESLint to BiomeJS

Prettier and ESLint have long been indispensable tools in the JavaScript ecosystem for ensuring code consistency and quality. They have become staples in the toolchains of JavaScript projects worldwide. However, a new player has emerged to challenge their dominance: BiomeJS. This ambitious project seeks to combine the functionality of both tools into a single, high-performance solution for code formatting and linting.

An Introduction to Solid Queue for Ruby on Rails

One of the most exciting additions to Rails 8 is undoubtedly Solid Queue, a new library for processing background jobs. You might not think it's that big of a deal. After all, there are plenty of other queuing systems out there. If you work with Rails, you'll likely know about Sidekiq and Resque — both are exceptionally performant and reliable. There is also GoodJob and the venerable DelayedJob. With all those options available, do we really need another queuing system? Let's find out together.

Using JWTs in Python Flask REST Framework

JSON Web Tokens (JWTs) secure communication between parties over the internet by authenticating users and transmitting information securely, without requiring a centralized storage system. In this article, we'll explain what JWTs are and give a high-level overview of how they work. We'll also implement a JWT-based authentication system by creating a to-do list API using Flask.