Systems | Development | Analytics | API | Testing

AppSignal

Rails is Fast: Optimize Your View Performance

In this post, we’ll look into tried and true methods of improving Rails view performance. Specifically, I will focus on database efficiency, view manipulation, and caching. I think the phrase “premature optimization is the root of all evil” has been taken a little out of context. I’ve often heard developers use this during code reviews when simple optimization techniques are pointed out.

Pros and Cons of Using structure.sql in Your Ruby on Rails Application

In today’s post, we’ll cover the significant differences and benefits of using structure.sql versus the default schema.rb schema formats in your Ruby on Rails application. In a data-driven world, knowing how to exploit all of your database’s rich features can make the difference between a successful and unsuccessful enterprise.

How to Use Broadway in Your Elixir Application

In today’s post, we will be covering the Elixir library named Broadway. This library is maintained by the kind folks at Plataformatec and allows us to create highly concurrent data processing pipelines with relative ease. After an overview of how Broadway works and when to use it, we’ll dive into a sample project where we’ll leverage Broadway to fetch temperature data from https://openweathermap.org/ in order to find the coldest city on earth.

Configurable Ruby Modules: The Module Builder Pattern

In this post, we’ll explore how to create Ruby modules that are configurable by users of our code — a pattern that allows gem authors to add more flexibility to their libraries. Most Ruby developers are familiar with using modules to share behavior. After all, this is one of their main use cases, according to the documentation.

JavaScript Errors: An Exceptional History - Part II

Hello again! Welcome to the finalé of a two-part series of posts on errors in JavaScript. Last time, we took a look into the history of errors in JavaScript — how JavaScript shipped without runtime exceptions, how error handling mechanisms were later added both to the fledgeling web browsers of the day and to the ECMAScript spec, and how they future efforts to standardise these features would be connected to the politics of the browser wars of the late 90’s and 2000’s.

JavaScript Errors: An Exceptional History

Hello again! It’s a historic week here at AppSignal! This week we released the first version of our new and improved JavaScript error monitoring. Now you can have your front end code, Ruby or Elixir back end code, your hosts, performance, everything monitored in one interface. To celebrate the launch, in a two-part series of posts, we’ll be taking a look at the history of Errors in JavaScript, including how to handle them in your code today.

Launching JavaScript Error Tracking v1.0.

Good news, everyone! Today, we’re proud to announce the launch of our fully-fledged JavaScript error tracking for your front-end applications. From today, you’ll have even more complete insights into your Ruby and Elixir apps — your back-end errors, performance metrics, host metrics, custom metrics and your front-end errors can now all come together under a single interface.

Typespecs and Behaviours in Elixir

Today, we will dive into Typespecs and Behaviours. These are two Elixir features that we are ecstatic (pun intended) about. They are great examples of built-in features in Elixir that help get some of the advantages of statically typed code. Alright, let’s set the scene. Elixir is a dynamically typed language. This means that the type of each variable is not checked at compile-time, but rather at run-time. Like most things, this comes with advantages and disadvantages.