developer.mozilla.org

Text fragments allow linking directly to a specific portion of text in a web document, without requiring the author to...

When Ruby objects are inspected in any modern IRB, some objects (like ActiveRecord instances) are rendered with neat colors and...

github.com

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...

masilotti.com

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...

github.com

When handling nested hashes the RSpec output is often hard to read. Here the gem super_diff could help.

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...

You can improve your LIKE / ILIKE search queries in PostgreSQL by adding a GIN index with an operate class ("opclass...

Rails' default logger prefixes each log entry with timestamp and tags (like request ID). For multi-line entries, only the...

Recently I needed to benchmark an Active Record query for performance measurements. I wrote a small script that runs each...

With this command you can run all the spec files which have been edited or added in the current branch...

testing-library are widely used testing utilities libraries for javascript dependent frontend testing. The main utilities provided are query methods...

Whenever you have to deal with randomness in a jasmine test there are some spy strategies to help you out...

Reacting on a class getting added can be done with a mutation observer. Example: const items = document.querySelectorAll('.item') const expectedClass...

stevenhicks.me

Sometimes you want to write a test for a business rule that's based on multiple variables. In your goal...

Sometimes we have to write code that behaves differently based on the version of a specific gem or the Ruby...

tl;dr To adjust code templates in RubyMine, navigate to Settings -> Editor -> File and Code Templates. Example You can navigate...

makandra dev
github.com

I was recently asked to optimize the response time of a notoriously slow JSON API endpoint that was backed by...

makandra dev

While most Rails Apps are tied to at least one external REST API, machine-to-machine communication via GraphQL is...

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...

chrisboakes.com

Debouncing a method call delays its execution until after a specified time has passed. If it's called again before...