We recently migrated a Rails application from yarn to npm. We decided to go this step instead of upgrading to...
Zeitwerk is the new autoloader of Rails. It is mandatory starting with Rails 7.0. Sometimes, a model needs to know...
Rails 7.1 added the normalizes method which can be used to normalize user input. It lets you define the fields...
Slow test suites are a major pain point in projects, often due to RSpec and FactoryBot. Although minitest and fixtures...
While the main goal always is to prevent long-running queries in the first place, automatic timeouts can serve as...
Ever needed to migrate data between Redis instances? Give RIOT - Redis Input/Output Tools a try. It supports migration to different...
The ActiveSupport::BroadcastLogger allows you to log to multiple sinks. You know this behavior from from the rails server command...
Starting with ChromeDriver 127, if your application displays a beforeunload confirmation dialog, ChromeDriver will immediately close it. In consequence, any...
I recently stumbled upon the Rails feature composed_of. One of our applications dealt with a lot of addresses and...
esbuild comes with a minifier that is good enough for most cases. If you're looking to squeeze out as...
You can improve your LIKE / ILIKE search queries in PostgreSQL by adding a GIN index with an operate class ("opclass...
Terser is a really good minifier ("compressor") for JavaScript code. I'm often surprised by the thoughtfulness of its compressed...
testing-library are widely used testing utilities libraries for javascript dependent frontend testing. The main utilities provided are query methods...
It's possible to implement simple custom RuboCop cops with very little code. They work exactly the same like existing...
There are different kind of memory measurement metrics in Linux. These are the differences: Code Name Description vsz virtual memory...
Sometimes we have to write code that behaves differently based on the version of a specific gem or the Ruby...
I recently stumbled over a quirk in the way Ruby handles local variables that I find somewhat dangerous. Consider:
tl;dr To adjust code templates in RubyMine, navigate to Settings -> Editor -> File and Code Templates. Example You can navigate...
I was recently asked to optimize the response time of a notoriously slow JSON API endpoint that was backed by...
While most Rails Apps are tied to at least one external REST API, machine-to-machine communication via GraphQL is...
Add apt source: apt update -y && apt install -y gpg sudo wget curl sudo install -dm 755 /etc/apt/keyrings
Modern JavaScript includes Intl.NumberFormat to format numbers in different formats and locales. In this card, we describe a wrapper for...
This card shows an uncommon way to retrieve a file using selenium where JavaScript is used to return a binary...
Some rubygems come in platform-specific versions (i.e. "x86_64-linux") in addition to the usual "ruby" platform. This is...