Systems | Development | Analytics | API | Testing

How to Avoid N+1 Queries in Django Python

Django is a powerful web framework that simplifies how developers interact with databases through its Object-Relational Mapping (ORM) system. However, even with its benefits, it’s easy to fall into performance pitfalls such as the N+1 query problem. In this article, we’ll explore what N+1 queries are, why they can be an issue for your application, and how to mitigate them using Django’s best practices. Let's dive in!

Beyond console.log: Smarter Debugging with Modern JavaScript Tooling

Ask any JavaScript developer their most used debugging tool and chances are the answer will be console.log. It’s immediate, low friction, and available in every browser. For development, it’s fantastic. But for production and complex applications, if you rely on console.log alone, cracks begin to show. It lacks context, doesn’t persist, and makes reproducing or analyzing user-reported issues a challenge. In this article, we’ll look at smarter, scalable debugging strategies.

Advanced Strategies to Deploy Phoenix Applications with Kamal

In the first part of our series, we explored how Kamal simplifies Docker-based deployments while providing a cloud-like developer experience. We covered the basics of containerizing Phoenix applications, configuring Kamal, managing secrets, and implementing a CI/CD pipeline for automated deployments.

How to Use MongoDB in Python Flask

When developing software applications, data storage is a key concern. The reality is that your first concern should be the data model you choose, which in turn affects how you store data. Generally speaking, this means deciding between SQL and NoSQL databases. In this article, you will learn how to use MongoDB, a popular NoSQL database, in a Flask application. First, you will learn why MongoDB is a good choice, and then we will implement a practical hands-on project using MongoDB in Flask.

Advanced Ecto for Elixir Monitoring with AppSignal

In our previous article, we explored the basics of monitoring Ecto with AppSignal, covering everything from initial setup to tracking key metrics such as query execution time and resource consumption. We even set up custom instrumentation for database connection pools to gain deeper insights into our application's performance. However, setting up monitoring is just the first step toward maintaining a healthy, high-performing Elixir application.

Flask or Django: Which One Best Fits Your Python Project?

Choosing the right framework can significantly impact the success of a dev project. If you've chosen to use Python for your project's backend, you might need to decide between Flask and Django, the most popular web frameworks in the Python ecosystem. This article will help you determine which of the two best suits your specific needs by examining the key factors to consider. Before diving into the technicalities, let's briefly introduce both Flask and Django.

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).