When you write your next CarrierWave uploader, consider processing your images with libvips instead of ImageMagick. Reasons for libvips
Using querySelector or querySelectorAll in JavaScript, you can easily find descendants of a node that match a given selector.
So you have a heading that is just barely wider than the container it should fit into, and it wraps...
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...
We often do some HTTP requests to fetch the data we want to check for certain criteria. Testing this in...
Code splitting is a feature of esbuild that can keep huge libraries out of the main bundle. How code splitting...
When you are using the default MIME-Type configuration and your application allows uploading files, it can be a security...
As we are slowly switching from Cucumber scenarios to RSpec feature specs, you might be tempted to write assertions like...
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...
A convenient way to test SNS Subscription Filter Policies is using an email address as the subscription endpoint. However, for...
Within Capybara you most certainly use the #check- and #uncheck-method to (un)check checkboxes. But there's one problem...
Looking at the source code of the validates_numericality_of validator, it becomes clear that it converts the attribute in...
When you allow file uploads in your app, a user might upload content that hurts other users. Our primary concern...
Every Rails response has a default ETag header. In theory this would enable caching for multiple requests to the same...
tl;dr Individual transform properties are great because they allow you to write more readable and maintainable CSS, especially when...
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...
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...