Systems | Development | Analytics | API | Testing

August 2024

How to Handle Errors in Next.js for Node With the App Router

Error handling in Next.js is critical to providing a seamless experience to your users even when things go wrong. Without proper error management, users may get confused about what has happened and even leave your site. To avoid that, you must ensure that they receive informative feedback about errors and provide a way to recover from them. In this article, you'll see: Let's jump right in!

Build a One-Product Shop With the Python Django Framework and Htmx

This is the first of a two-part series using Django, htmx, and Stripe to create a one-product e-commerce website. In this part, we'll start our Django project and integrate it with htmx. In the second part, we'll handle the orders with Stripe. Let's get going!

Squash Your Ruby and Rails Bugs Faster

A bug in software can be disruptive, elusive, maddening, and invasive. Indeed, a developer often needs the tenacity of Edison to find and fix an issue. But grit isn't the only asset a developer requires. One also needs information to debug code: What are the symptoms and effects of the issue? What is its frequency? Pervasiveness? Provenance? The evidence and artifacts of a bug — a core dump, stack trace, log, or test case — are invaluable.

Monitor Node.js AMQP Brokers with AppSignal

AppSignal's Node.js package now offers out-of-the-box support for the AMQPlib package, enabling monitoring of inbound and outbound messages from popular Advanced Message Queuing Protocol (AMQP) brokers like RabbitMQ. In this article, we'll show you how to set up and use AppSignal to monitor your AMQP broker's performance.

LiveState for Elixir: An Overview and How to Build Embeddable Web Apps

If you have programmed with Phoenix, you already know what a delight it can be to work with LiveView. LiveView simplifies your development process by moving all state management to the server. This reduces the complexity of coordinating states between the client and server. LiveState aims to extend a LiveView-like development flow to embeddable web apps. But before we delve deeper into LiveState, let’s first understand what embeddable web apps are.

An Introduction to Unit Testing in Node.js

Unit tests are essential to verify the behavior of small code units in a Node.js application. This leads to clearer design, fewer bugs, and better adherence to business requirements. That's why Test-Driven Development (TDD) and Behavior-Driven Development (BDD) have become so popular in the backend development community. In this tutorial, we'll dive into unit testing and understand why it's needed in your backend.

An Introduction to HTTP Caching in Ruby On Rails

It's 2024, and the HyperText Transfer Protocol (HTTP) is 35 years old. The fact that the vast majority of web traffic still relies on this simple, stateless form of communication is a marvel in itself. A first set of content retrieval optimizations were added to the protocol when v1.0 was published in 1996. These include the infamous caching instructions (aka headers) that the client and server use to negotiate whether content needs refreshing.

An Introduction to Nix for Ruby Developers

A predictable, stable environment (in terms of your operating system, system libraries, build tools, and programming libraries) is essential to each development step: from onboarding, to collaboration, continuous integration, quality assurance, and deployment. Deviation can cause one-off, intermittent, and even catastrophic failures. However, consistency can be elusive, even with the best intentions, best practices, and tools in place, because: Nix aims to solve some of these issues.

Advanced Use Cases of the Node.js Native Test Runner

Welcome back to our exploration of Node.js' built-in test runner! In the previous article, we laid the groundwork for writing and running basic tests in your projects by exploring a few simple examples. In this installment, we'll dive into practical examples of how to use mocking, code coverage analysis, test hooks, and strategies for testing HTTP servers. These tools will help you write more comprehensive and reliable tests, ultimately leading to more robust Node.js applications. Let's get started!