Jasmine is a great way to unit test your JavaScript components without writing an expensive end-to-end test for...

A flaky test is a test that is often green, but sometimes red. It may only fail on some PCs...

This RailsCast demonstrated a very convenient method to activate VCR for a spec by simply tagging it with :vcr.

You want to use fields in your applications. However, your desktop users may encounter some weird quirks: Aside from allowing...

Event delegation is a pattern where a container element has a single event listener that handles events for all descendants...

Sometimes a link or input field has no visible label. E.g. a text field with a magnifying glass icon 🔎 and...

git --fixup is very handy to amend a change to a previous commit. You can then autosquash your commits with...

With cd .. you can navigate one directory up from the one you are at now. If you use that a...

It is generally discouraged to load your JavaScript by a tag in the : The reason is that a tag will pause the DOM parser until the script has loaded and executed. This will delay the browser's first contentful paint. A much better default is to load your scripts with a tag: A deferred script has many...

Our gem spreewald supports a few helpers for development. In case you notice errors in your Cucumber tests, you might...

The Node Version Manager allows installing multiple NodeJS versions and switching between them. By default, it does not automatically switch...

When testing JavaScript functionality in Selenium (E2E), you may need to access a class or function inside of a evaluate...

Matching the "space" character class For matching whitespaces in a regular expression, the most common and best-known shorthand expression...

When deleting a record in your Rails app, Carrierwave automatically takes care of removing all associated files. However, the file...

This card is a general reminder to avoid the short version of a command option in shared code. It's...

If a project ist configured to spawn CI runners for tests or deployment when pushing to the Repo, a habit...

To attach files to your records, you will need a new database column representing the filename of the file...

When your Rails application server raises error, Capybara will fail your test when it clears the session after the last...

makandra dev

When your application is open for public sign up and sends out transactional e-mails to a large number of...

makandra dev

In Ruby (almost) everything is an Object. While this enables a lot of powerful features, this concept might be confusing...

CarrierWave comes with a set of default configuration options which make sense in most cases. However, you should review these...

You can use git worktree to manage multiple working trees attached to the same repository. But why should I use...

When you repeat a subpattern with a *, + or {...} operator, you may choose between greedy, lazy and possessive modes. Switching modes...

bundle outdated [--filter-major|--filter-minor|--filter-patch] Example output for bundle outdated --filter-major Other examples