Logo of AppSignal

Menu

AppSignal Academy

AppSignal is all about building better apps. In our Academy series, we'll explore application stability and performance, and explain core programming concepts.

#to_s or #to_str?
Explicitly casting vs. implicitly coercing types in Ruby

By Tom de Bruijn on

We'll look into difference between explicit casting and implicit coercing in Ruby, and the difference between typecasting Leonard Nimoy and Michael Keaton.

read more

Differences Between #nil?, #empty?, #blank?, and #present?

By Joyce Echessa on

In this article, we'll refresh your knowledge by looking at the differences between #nil?, #empty?, #blank? and #present? in Ruby and Rails.

read more

Push and Pub/Sub in Ruby

By Peter Ohler on

In this episode of AppSignal Academy, we'll dive into real time updating and toy around with building a minimal WebSocket server to look at how it works under the hood.

read more

Rails Collection Caching

By Tom de Bruijn on

In this article, we'll take a look at how Rails collection caching works and how we can use it to speed up large collection rendering.

read more

Generating Random Numbers in Ruby

By Joyce Echessa on

Random numbers are useful for a variety of purposes such as in gaming, encryption and building simulations. In this article, we'll look at the various ways you can generate random numbers in Ruby.

read more

JavaScript-sprinkled Rails Applications

By Jeff Kreeftmeijer on

Using JavaScript sprinkes to load dynamic or user-specific content after the rest of the page is directly served from the cache.

read more

Custom Exceptions in Ruby

By Robert Beekman on

Almost everything in Ruby is an object and errors are no exception.

read more

Caching counters with ActiveRecord's counter caches

By Jeff Kreeftmeijer on

Instead of counting the associated records in the database every time the page loads, ActiveRecord’s counter caching feature allows storing the counter and updating it every time an associated object is created or removed.

read more

Ruby's redo, retry and next keywords

By Thijs Cadier on

We've talked about the retry keyword before. Its little-known counterpart redo works similarly, but reruns loop iterations instead of whole blocks.

read more

Speeding up your app’s navigation with Turbolinks

By Jeff Kreeftmeijer on

Turbolinks is an optimization that increases the perceived performance by being smart about switching pages and reloading assets in your app.

read more

Ensuring execution, retrying failures and reraising exceptions in Ruby

By Jeff Kreeftmeijer on

Besides `rescue`, Ruby has more ways to handle exceptions. We'll use the `retry` and `ensure` keywords and reraised exceptions to build a resilient web API client.

read more

Client-side caching in Rails:
conditional GET requests

By Jeff Kreeftmeijer on

Rails' conditional GET support allows you to store rendered pages in the user's browser cache to reuse them for repeated requests instead of rendering the same view multiple times.

read more

More articles

Go back

Subscribe to

Ruby Magic

Magicians never share their secrets. But we do. Sign up for our Ruby Magic email series and receive deep insights about garbage collection, memory allocation, concurrency and much more.

We'd like to set cookies, read why.