When requests arrive at the application servers simultaneously, weird things can happen. Sometimes, this can also happen if a user...
...Capybara see the print stylesheet Capybara always requests as the screen medium. The step belows reloads the current page with a query param we will use in our layout to...
When RubyMine reports Rubocop returning "exit code -1", upgrading Rubocop can be the fix: gem install rubocop "The logs" can...
...boring style violations. When you demonstrate an appreciation for constructive criticism, your reviewer provides better feedback . Make others better: Your code review techniques set an example for your colleagues. Effective...
There is no such thing as a "default order" of rows in database tables. For instance, when you paginate a...
If you expect method calls in RSpec 3, be aware that the argument matchers use very liberal equality rules (more...
This are the steps I needed to do to add esbuild to an application that used the vanilla rails asset...
By default parallel_tests will spawn as many test processes as you have CPUs. If you have issues with flaky...
A list of implementation details that make for a better / expected user experience. Have these in mind when implementing a web design. This document outlines a non-exhaustive list of...
You can hook into Slack when using Capistrano for deployment. The slackistrano gem does most of the heavy lifting for...
The parallel-gem is quite easy to use and can speed up rendering time if you want to render the...
=> #<Capybara::Node::Element tag="div" path=... If you rely on this behavior in Capybara 3, affected features will fail. The gem no longer normalizes whitespace when finding...
...visible css ".haystack" with text "Hi! Try to match me." Re-enabling Cabyara 2 behavior in Capybara 3 After digging in the documentation, you might figure out that you can...
In long diffs, it can become impossible to spot small changes in larger blocks of moved code. This may be either a method that was moved from the top to...
...not scale the icon with the font size. One option that seems to work better is to use the mask CSS feature. The idea is to have an element with...
...var(--icon-url) center / contain no-repeat // this can probably be done in a better way: vertical-align: text-bottom margin-bottom: -.1em // depends on the icons @each $icon in...
tl;dr The :is() pseudo selector - specificity of its most specific argument - matches against a comma-separated list of selectors...
tl;dr The :where() pseudo selector - zero specificity - matches against a comma-separated list of selectors. Example Compound selectors like...
Some users might use Adblock Plus or similar browser plugins to reduce the number of ads displayed. If you run...
While most Rails Apps are tied to at least one external REST API, machine-to-machine communication via GraphQL is...
...any cleanup yourself. Why? Understand this: before(:context) is run when the context/describe block begins, before(:context) is run outside of transactions, so data created here will bleed into other...
use Postgres' lower() function add an index on lower(email) Probably the best approach is to just convert emails (and usernames) to lowercase within Rails. Popular authentication libraries...
...live: true, host: '127.0.0.1' do watch(%r(^public/assets/esbuild_error_development\.txt$)) # Livereload + ESbuild is not the best combo # We want # - to reload CSS files without doing a full page reload
While debugging a SPF record I found spf-record.de to be very helpful. it lists all IPs that are covered by...
...to be performed around a deploy. Be it to notify operations about changed application behavior, be it to run a little oneline script after the deploy. Most database-related stuff...
To allow HTTP 304 responses, Rails offers the fresh_when method for controllers. The most common way is to pass...