Active Storage in production: lessons learned and in-depth look at how it works

1. Introduction In my company, we lucked out that Rails 5.2 (and Active Storage) was released just before we needed to implement user uploads. This means that we’ve been using it in production for over 5 years, across 3 different hosts (Heroku, AWS, and GCP) and 3 different storage providers (S3, GCS, and R2). Our primary use case is image galleries, either of products we sell, or user-uploaded images for their wedding/birthday/baby shower websites. This means that we rely heavily on image tran...

#Backend#Ruby on Rails
Added: 14 Aug 2023
Supercharge your Stimulus controllers with Custom APIs

Marco Roth - marcoroth.dev

#Frontend#Javascript#Ruby on Rails
Added: 13 Aug 2023
Supavisor: Scaling Postgres to 1 Million Connections

Supavisor is a scalable, cloud-native Postgres connection pooler. We connected a million clients to it to see how it performs.

#Backend#database
Added: 13 Aug 2023

In a project I'm working on right now I've been using a Rails nested form and a couple of things caught me off guard.

#Backend#Frontend#Ruby on Rails
Added: 10 Aug 2023
ActiveStorage S3: Direct Drag-Drop Uploader

Build a drag-and-drop ActiveStorage S3 Direct Uploader using Rails and Direct Uploads. Follow instructions for model, S3, and view setup

#Backend#Frontend#Ruby on Rails
Added: 8 Aug 2023
Advanced Usages of Devise for Rails | AppSignal Blog

Let's dive into some advanced usages of Devise, including the use of OmniAuth, API authentication, and Authtrail.

#Backend#Ruby on Rails
Added: 2 Aug 2023
Projects to code while learning Ruby and Ruby on Rails

Discover beginner Ruby & Rails projects: Meal Planner, Lists Share, Habit & Symptom Trackers, SWOT Analysis; learn by problem-solving

#Consulting#Ruby#Ruby on Rails
Added: 2 Aug 2023
Here’s why you shouldn’t treat employee mental health as a mental health problem

Simply trying to tackle the issue as it happens is not a sustainable solution, says new research.

#Soft Skills
Added: 27 Jul 2023
Are you absolutely sure your Rails caching strategy isn't leaking sensitive information?

Rails writes a new cache entry based on the first request. But what happens when that request is from an admin?

#Backend#Ruby on Rails
Added: 27 Jul 2023
Computed columns with the find_by_sql method in a Rails application

Introduction Ruby is a beautiful expressive programming language. Like many other...

#Backend#Ruby on Rails
Added: 26 Jul 2023
Invisible Details of Interaction Design

What makes great interactions feel right?

#Frontend
Added: 25 Jul 2023
New in CSS: relative colors

Learn how relative CSS colors enable color manipulations.

#CSS
Added: 25 Jul 2023
Implementing Deep Linking in React Native: A Quick Step-by-Step Guide

A quick step-by-step guide on implementing deep linking in React Native application, enabling users to seamlessly access specific screens or content within the app.

#Frontend
Added: 22 Jul 2023
Why Adaptive Rate Limiting is a Game-Changer

Learn how rate limiting works from real life examples, what are limitation of traditional rate limiting and why adaptive rate limiting is needed.

#Backend
Added: 21 Jul 2023
GitHub pull request merge strategies

An overview of what the options provided by the pull request merge button on GitHub do and how to make the best out of each strategy.

#Tools
Added: 20 Jul 2023

N+1 queries are not always a problem, but I have seen that most of the n+1 queries that are really a problem are when we need to fetch data to compute something. Here I will try to share some examples of posible expensive computations candidates to...

#Backend#Ruby on Rails
Added: 20 Jul 2023
Why engineers should focus on writing - Dmitry Kudryavtsev

All engineers are good writers... of code. But I believe that in order to a become better engineer–you should improve your writing skills.

#Soft Skills
Added: 20 Jul 2023
Citus 12: Schema-based sharding for PostgreSQL

Release blog post for the 12.0 release of the Citus extension to Postgres. Dive into new Citus 12 features such as schema-based sharding for multi-tenant SaaS applications (and microservices) as well improvements in the Citus support for the Postgres 15 MERGE feature.

#database
Added: 20 Jul 2023
Ruby Struct

In simple words, Ruby Struct is a built-in class that provides useful functionalities and shortcuts. You can use it for both logic and tests.

#Ruby
Added: 20 Jul 2023
Building Value Objects in Rails with composed_of

Learn how to improve the interface of your existing Active Record Models with this underutilized API.

#Backend#Ruby on Rails
Added: 20 Jul 2023
Rails 7.1 introduces deliver callbacks for ActionMailer

Rails 7.1 adds before_deliver and after_deliver callbacks to ActionMailer to hook into the lifecycle events of the mail delivery.

#Backend#Ruby on Rails
Added: 20 Jul 2023
Beware of <%== in your erb files

The danger of an extra equals

#Frontend#Ruby#Ruby on Rails
Added: 20 Jul 2023
Testing Inherited Behavior

This post describes different ways of testing inherited behavior, including duplicating the tests, not testing the inherited behavior, and using a shared example.

#Ruby#Ruby on Rails#testing
Added: 20 Jul 2023
What is the difference between Turbo and Stimulus, and what exactly is Hotwire?

I’m going to try to help out by giving you a quick overview of what these things are, and where they fit in to the bigger picture. I’ll assume you’re familiar with the “basic” Rails stack - DB -> Models -> Controllers -> Views. Then, I’ll point you to some resources which you can use to dive deeper.

#HOTWire#Ruby on Rails
Added: 20 Jul 2023
Polymorphic Relationships in ActiveRecord - dick.codes

Full-stack Ruby on Rails engineer. Blogs about programming topics.

#Backend#Ruby on Rails
Added: 20 Jul 2023
First Previous Next Last