How to Get Started with Prisma ORM for Node.js and PostgreSQL

Learn how to use Prisma with the Express.js framework and PostgreSQL database. | Continue reading


@blog.appsignal.com | 2 years ago

Building Aggregates in Elixir and PostgreSQL

In this article, we will describe the roles and implementation of aggregates in Elixir and PostgreSQL. | Continue reading


@blog.appsignal.com | 2 years ago

General Ruby on Rails Problems and Takeaways

In this last part of the Rails Patterns and Anti-patterns series, I'll be going over the most common problems I've encountered while building and shipping Ruby on Rails applications. | Continue reading


@blog.appsignal.com | 2 years ago

How to Monitor and Optimize Your Database Performance: A Practical Guide

In this post, we'll dive into the database part of your architecture to show how you can monitor and optimize your database performance. | Continue reading


@blog.appsignal.com | 2 years ago

Adding Kubernetes Metadata to Your AppSignal Errors

If you're trying to figure out how to add Kubernetes metadata to your AppSignal errors, this post is for you. | Continue reading


@blog.appsignal.com | 2 years ago

The Wolf Pack Tactic for Monitoring Slow APIs

In this post, we will deal with monitoring external APIs and how you can prevent them from slowing you down. | Continue reading


@blog.appsignal.com | 2 years ago

Uptime Monitoring: A One-Week Project, a Decade in the Making

In today's post, we'll explain how we went from considering uptime monitoring impossible to build, to building it in a week. | Continue reading


@blog.appsignal.com | 2 years ago

Three Ways to Avoid Duplicate Sidekiq Jobs

Sidekiq is used to handle background processing. Whatever your background jobs may be, you'll eventually run into duplicate jobs. Let's see how to de-duplicate them. | Continue reading


@blog.appsignal.com | 3 years ago

Ruby on Rails Controller Patterns and Anti-Patterns

In this part of the series on Rails patterns and anti-patterns, we are going to analyze the final part of the MVC (Model-View-Controller) design pattern — the Controller. | Continue reading


@blog.appsignal.com | 3 years ago

Engineering for Performance: Ghost Queries

Using Ghost Queries to test a new system/database in production with no worry of errors or downtime. | Continue reading


@blog.appsignal.com | 3 years ago

Powerful Caching with Redis for Node.js Applications

In this article, we're going to explore some of the most interesting nuances of Redis caching patterns, using Node.js as the environment to run some benchmark testing. | Continue reading


@blog.appsignal.com | 3 years ago

Ruby on Rails View Patterns and Anti-Patterns

Rails views are sometimes amazing and fast, and at other times, they can have all sorts of issues. If you want to increase confidence over how you handle your views, then this blog post is for you. | Continue reading


@blog.appsignal.com | 3 years ago

RBS: A New Ruby 3 Typing Language in Action

Let's discover the differences and similarities between Sorbet and the recently released RBS through some practical examples. | Continue reading


@blog.appsignal.com | 3 years ago

How to Use Mixins and Modules in Your Ruby on Rails Application

Find out how to create and mix modules into other classes and discover what are the benefits from using them in a Ruby on Rails application. | Continue reading


@blog.appsignal.com | 3 years ago

Building a Multi-Tenant Ruby on Rails App with Subdomains

Discover different approaches to multitenancy and build a simple app with multiple tenants where each tenant will have its subdomain. | Continue reading


@blog.appsignal.com | 3 years ago

Rails Model Patterns and Anti-Patterns

If you're struggling with models, this blog post is for you. We will quickly go through the process of putting your models on a diet and finish strongly with some things to avoid when writing migrations. | Continue reading


@blog.appsignal.com | 3 years ago

Understanding Associations in Elixir's Ecto

Data modeling in Ecto takes a bit of getting used to. The goal of this post is to give a short but definitive answer to this problem. | Continue reading


@blog.appsignal.com | 3 years ago

Capabilities of Elixir's Logger

Let's find out what can be done with Elixir's Logger. | Continue reading


@blog.appsignal.com | 3 years ago

Launching AppSignal Monitoring for Node.js

We're officially launching the 1.0 version of AppSignal for Node.js. | Continue reading


@blog.appsignal.com | 3 years ago

Typespecs and Behaviours in Elixir

In this post we talk about behaviours. Not ours. But Elixir's | Continue reading


@blog.appsignal.com | 3 years ago

Rails Concerns: To Concern or Not to Concern

Should you be concerned about Rails concerns? | Continue reading


@blog.appsignal.com | 3 years ago

Node.js Resiliency Concepts: Recovery and Self-Healing

Boost your Node.js process management and server management skills. | Continue reading


@blog.appsignal.com | 3 years ago

Going from Consulting to SaaS

This is what we learned taking AppSignal from a 20% time side-project to a business serving thousands of developers. | Continue reading


@blog.appsignal.com | 3 years ago

Getting Started with Web Vitals in Next.js

Discover more on Web Vitals from the Next.js perspective. | Continue reading


@blog.appsignal.com | 3 years ago

Security Best Practices for Node.js

Let's go through the most critical security risks for Node.js web applications. | Continue reading


@blog.appsignal.com | 3 years ago

Testing the Tricky Parts of an Absinthe Application

In this post, we'll go through ways of making testing Absinthe easier | Continue reading


@blog.appsignal.com | 3 years ago

Introduction to Ruby on Rails Patterns and Anti-Patterns

Dig into the basics of design patterns and anti-patterns. | Continue reading


@blog.appsignal.com | 3 years ago

The State of Elixir HTTP Clients

Take a deep dive into Elixir HTTP client libraries — Mint and Fich. | Continue reading


@blog.appsignal.com | 3 years ago

Building State Machines in Elixir with Ecto

Learn when you should use state machines and how to build one with Elixir's Ecto. | Continue reading


@blog.appsignal.com | 3 years ago

A Deep Dive into V8

Learn the basics of V8's internal functioning, compilation and garbage collection processes, single-threaded nature, and more. | Continue reading


@blog.appsignal.com | 3 years ago

Best Practices for Background Jobs in Elixir

Learn how to avoid some common mistakes while working with background jobs in Elixir. | Continue reading


@blog.appsignal.com | 3 years ago

Using Mnesia in an Elixir Application

Learn about Mnesia and how to use it in an Elixir application. | Continue reading


@blog.appsignal.com | 3 years ago

Ride Down into JavaScript Dependency Hell

Find out how a single JS package can come with 19k dependencies. | Continue reading


@blog.appsignal.com | 4 years ago

The Citadel Architecture at AppSignal

Check out how AppSignal uses the Citadel pattern and how our system works. | Continue reading


@blog.appsignal.com | 4 years ago

AppSignal Now Supports Node.js: Roadmap for the Coming Weeks

AppSignal now supports Node.js! Read about integrations it comes with now and the plans for the coming period. | Continue reading


@blog.appsignal.com | 4 years ago

Facade Pattern in Rails for Performance and Maintainability

Find out how and why you should use a software design pattern named Facade. | Continue reading


@blog.appsignal.com | 4 years ago

Building Compile-Time Tools with Elixir's Compiler Tracing Features

Check out one of Elixir's latest features—compiler tracing—and find out why you should consider using it. | Continue reading


@blog.appsignal.com | 4 years ago

Building a Rails App with Multiple Subdomains

Learn how to build a Rails app that can support multiple subdomains. | Continue reading


@blog.appsignal.com | 4 years ago

Migrating Production Data in Elixir

Find out how to handle migrations that involve systems other than the database itself, while keeping the entire process idempotent and backward-compatible. | Continue reading


@blog.appsignal.com | 4 years ago

How to Monitor Your Host Metrics Automatically

Dive into Host Metrics the easy way and skip percussive maintenance. | Continue reading


@blog.appsignal.com | 4 years ago

Monitoring the Erlang VM with AppSignal's Magic Dashboard

In this post, we walk through monitoring the Erlang VM with the metrics automatically shown in AppSignal's Magic Dashboard. | Continue reading


@blog.appsignal.com | 4 years ago

How to Get Your Elixir Application Ready for CI/CD

Explore a wide array of Elixir ecosystem tools that can help you create top-notch CI pipelines. | Continue reading


@blog.appsignal.com | 4 years ago

Rails Is Fast: Optimize Your View Performance

You'll learn some effective performance and optimization techniques that you can use to speed up your Rails app. | Continue reading


@blog.appsignal.com | 4 years ago

How to Use Broadway in Your Elixir Application

Discover how Broadway can help you create highly concurrent data processing pipelines in your Elixir app. | Continue reading


@blog.appsignal.com | 4 years ago

JavaScript Errors: An Exceptional History – Part II

We continue our deep dive into JavaScript errors. This time, we look at how to handle them in your code today. | Continue reading


@blog.appsignal.com | 4 years ago

Configurable Ruby Modules: The Module Builder Pattern

Explore how to implement configurable modules in Ruby — a technique sometimes referred to as the Module Builder Pattern. | Continue reading


@blog.appsignal.com | 4 years ago

Caching with Elixir and ETS

Get started using ETS as a caching mechanism in your Elixir applications and pick up some useful tips and tricks. | Continue reading


@blog.appsignal.com | 4 years ago

JavaScript Errors: An Exceptional History

We take a deep dive into the history of Errors in JavaScript. | Continue reading


@blog.appsignal.com | 4 years ago