Systems | Development | Analytics | API | Testing

How to Start Using Counter Caches in Rails

It is widespread to have parent-child associations in Rails applications. On the parent side is a :has_many association, and on the child side is a :belongs_to association. Examples include an article with comments, or an author with books--the former is the parent, and the latter is the child. It is often useful to display a count of the children alongside information about the parent, without necessarily loading all the child records.

Announcing NSolid Version 3.11.1

We are excited to announce NSolid 3.11.1, which introduces Role Based Access Control along with support for Node.js Erbium v12.16.2 and Dubnium v10.20.1. If you are an Enterprise or Advanced Tier User, you can now use NodeSource’s central control nexus, accounts.nodesource.com to give and revoke Role Based Access Control permissions for the NSolid Console and accounts.nodesource.com.

Dissecting Rails Migrations

In today’s post, we’ll take a deep dive into Rails migrations. We’ll break down the migration into different pieces, and in the process, learn how to write an effective migration. We’ll learn how to write migrations for multiple databases, as well as how to handle failed migrations and techniques of performing rollbacks. To understand the whole post, you’ll need to have a basic understanding of databases and Rails.

Ride Down Into JavaScript Dependency Hell

Every JavaScript project starts ambitiously, trying not to use too many NPM packages along the way. Even with a lot of effort on our side, packages eventually start piling up. package.json gets more lines over time, and package-lock.json makes pull requests look scary with the number of additions or deletions when dependencies are added. “This is fine” — the team lead says, as other team members nod in agreement. What else are you supposed to do?

Updates from Bugfender Q1, 2020

Welcome to the spring Bugfender newsletter. Despite COVID-19 and thanks to being a remote company, we continue working on Bugfender to bring you new updates and features you can take advantage of. Bugfender is now hosted in twin datacenters. With a combination of High Availability and Master-Replica setups, we’re now able to process logs faster than ever and bring the service back up much faster in the unlikely event of datacenter-wide outages.

What Is SDLC? Understand the Software Development Life Cycle

The Software Development Life Cycle (SDLC) refers to a methodology with clearly defined processes for creating high-quality software. in detail, the SDLC methodology focuses on the following phases of software development: This article will explain how SDLC works, dive deeper in each of the phases, and provide you with examples to get a better understanding of each phase.

The Citadel Architecture at AppSignal

DHH just coined the term “Citadel,” which finally gives us an excellent way to reference how we approach tech at AppSignal. We said, “Hey, this is us! Our thing has a name now”. In addition to the Majestic Monolith, someone should write up the pattern of The Citadel: A single Majestic Monolith captures the majority mass of the app, with a few auxiliary outpost apps for highly specialized and divergent needs.

Elixir GenServers: Overview and Tutorial

Elixir describes itself as "a dynamic, functional programming language designed for building scalable and maintainable applications." Although it's a relative newcomer, Elixir is built on top of the functional programming language Erlang. Elixir is capable of using any Erlang library, and is ideal for use cases such as web development and distributed and low-latency systems. The power, dynamism, and feature-rich toolset of Elixir have made it somewhat of a "cult classic" among programmers.

Apache Kafka Example: How Rollbar Removed Technical Debt - Part 2

April 7th, 2020 • By Jon de Andrés Frías In the first part of our series of blog posts on how we remove technical debt using Apache Kafka at Rollbar, we covered some important topics such as: In the second part of the series, we’ll give an overview of how our Kafka consumer works, how we monitor it, and which deployment and release process we followed so we could replace an old system without any downtime.