tl;dr The Chrome DevTools are a neat collection of tools for the daily work as a web developer. If...

You can use ETags to allow clients to use cached responses, if your application would send the same contents as...

makandra dev

tl;dr git checkout is the swiss army of git commands. If you prefer a semantically more meaningful command for...

You have uncommited changes (you can always check by using git status), which you want to discard.

tl;dr In RubyMine you can use find and replace with capture groups (.*?) and backreferences $1 (if you have several...

To allow HTTP 304 responses, Rails offers the fresh_when method for controllers. The most common way is to pass...

When you build a JSON API you need to come up with a style to represent attributes, pagination, errors or...

When working with feature branches, stale branches pile up over time. It's best to remove them right after merge...

Recently we detected a memory leak in one of our applications. Hunting it down, we found that the memory leak...

It might sometimes be useful to check whether your Rails application accesses the file system unnecessarily, for example if your...

The gemspec for gems allows to add metadata to your gem, some of which have a special meaning and are...

This card explains how to generate an entity relationship diagram for your Rails application. We also show how to limit...

Sometimes we write plain SQL queries in migrations so we don't have to mock ActiveRecord classes. These two migrations...

You want to deploy new features but the latest commits are not ready for production? Then use git merge master...

Sometimes you need to access a dev server running on localhost from another machine that is not part of the...

Since Rails 6.1, if we use where.not with multiple attributes, it applies logical NAND (NOT(A) OR NOT(B)) instead...

You can use RSpec::Matchers.define_negated_matcher to define a negated version of an existing matcher. This is particularly useful...

TL;DR When using Cache-Control on a Rails application, make sure the Vary: Accept header is set.

From Exploring ES6: Module imports are hoisted (internally moved to the beginning of the current scope). Therefore, it doesn’t...

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