Rails offers several methods to manage three types of different cookies along with a session storage for cookies. These...

atlassian.com

Git log offers useful options for filtering. This card provides a short overview. By message Only commits that include a...

Sometimes you'll find yourself with a set of tasks that require similar code for different models. For example, if...

When you write your next CarrierWave uploader, consider processing your images with libvips instead of ImageMagick. Reasons for libvips

We have a long-standing checklist for merge requests. However, it hardly matches the intricate requirements for design. This checklist...

It most cases it's not necessary to add a version constraint next to your packages in the package.json. Since...

It most cases it's not necessary to add a version constraint next to your gems in the Gemfile. Since...

If you have a fully functional CI pipeline but no CD, you might find yourself frequently waiting for CI (with...

Git commands like diff use the less binary for their output representation. I often find myself searching for strings like...

Code splitting is a feature of esbuild that can keep huge libraries out of the main bundle. How code splitting...

makandra dev
gist.github.com

Context and further resources Even though you can get 90% of debugging done with up to 5 basic byebug commands...

I recently noticed that better_errors allows you to to open files from within your favorite editor. However it was...

Debugging your integration tests, that run a headless Chrome inside a docker image, is tricky. In many cases you can...

makandra dev

The rubocop binary has a few interesting flags: rubocop (using the --parallel default ) scans the current repository for linting issues...

When you allow file uploads in your app, a user might upload content that hurts other users. Our primary concern...

Rack::SteadyETag was a Rack middleware that generates the same default ETag for responses that only differ in XOR-masked...

Every Rails response has a default ETag header. In theory this would enable caching for multiple requests to the same...

tl;dr asdf allows you to manage multiple runtime versions with a single CLI tool and is backwards compatible by...

You have an async function that rejects: async function failingFunction() { throw new Error("Something went wrong") } When you call that...

Sidekiq 7 adds a new feature called capsules. Use cases: a chrome queue limited to 1 for e.g. PDF processing...

When trying to intersect conditions of two scopes, be careful with ActiveRecord::Relation#merge: it overwrites existing conditions on the...

If you want to to create maps within SASS/SCSS-files, it normally works like this: $some-map: (key1: value1, key2: value2...

To navigate between test and test subject Rubymine requires you to set the test root sources as Test Sources Root...

Haml 6 was a major rewrite with performance in mind. To achieve a performance improvement of 1.7x, some design...