Make sure that you use the correct property when editing an HTML attribute. Using innerHTML with unsafe arguments makes your...

If you ever need to restore exact records from one database to another, Marshal might come in handy. Marshal.dump is...

Every modern Rails app should have a Content Security Policy enabled. Very compatible default The following "default" is a minimal...

While upgrading CarrierWave from version 0.11.x to 3.x, we encountered some very nasty fails. Below are the basic...

All direct child directories of app are automatically added to the eager- and autoload paths. They do NOT create a...

Most of our applications use CarrierWave for file uploads. CarrierWave has an integrated processing mechanism for different file versions with...

thegnar.com

View specs are a powerful tool to test several rendering paths by their cases instead of using a more costing...

The recommended additional setup of the spreewald gem, a useful set of cucumber steps, includes adding a file for defining...

Chromedriver (or selenium-webdriver?) will not reliably scroll elements into view before clicking them, and actually not click the element...

Browsers can auto fill-in one time codes if advised. Use it like this: Demo: https://twitter.com/sulco/status/1320700982943223808 Browser support...

github.com

For my computer science bachelor's thesis I programmed and evaluated a CLI Test Case Prioritization (TCP) tool for makandra...

Rails' url_for is useful for generating routes from a Hash, but can lead to an open redirect vulnerability.

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

If you want to collapse/expand elements with dynamic content (and thus unknown height), you can not transition between height: 0...

Note: You won't need this for single lines of text. In this case it is better to just use...

Using querySelector or querySelectorAll in JavaScript, you can easily find descendants of a node that match a given selector.

makandra dev

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

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

adactio.com

Web forms can be made much more usable with a few HTML attributes. Short summary: type: Tells browsers about the...

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

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

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