This is a presentation from 2019-01-21. Summary We want to move away from jQuery in future projects
If your app does not need to support IE11, you can use most ES6 features without a build step. Just...
The standard way to abort async code is that your function takes a AbortSignal { signal } property. The caller can use...
Rails ships with two separate build pipelines: Sprockets ("asset pipeline") and Webpacker. Webpacker has many more moving parts, but allows...
When your code does not behave as expected, you can use a debugger statement ("breakpoint") at any point in your...
When doing Basic Authentication, your browser will send an "Authorization" header. Its value is simply a Base64-encoded representation of...
Puma allows you to specify the max and min threads. In development this could be useful if you use a...
The exception_notification gem supports to provide custom data to e.g. the fail mail within foreground or background jobs. ExceptionNotifier.notify...
There are two ways to lock a user in devise. Using the lockable module Customizing the user account status validation...
Ubuntu has decided to disable PDF processing because ImageMagick and the underlying Ghostscript had several security issues. When your Ghostscript...
Mobile Chrome and Safari support the "web share API" which allow you to use the native share functionality of an...
Geordi uses parallel_tests if available for running the test suite. To debug an application it is very unhandy to...
Font Awesome 5 is a comprehensive solution for vector icons on your website. Originally, Font Awesome came as an icon...
Phusion Passenger changed the way how it gets restarted several times. Through the project's history, these all were valid...
In this example we assume that not only the storage gem changes but also the file structure on disc.
Cross-Site Request Forgery (CSRF) is an attack pattern for websites. A CSRF attack is usually relevant in a...
A JavaScript error in an E2E test with Selenium will not cause your test to fail. This may cause you...
...HTML's accepts a single file. You can allow multiple files via . But sometimes, selecting multiple files is not enough...
Most forms have a single submit button that will save the record when pressed. Sometimes a form needs additional submit...
If you need to run a program on a remote machine (e.g. to your office PC) with a graphical UI...
Migrating data from a legacy into a new system can be a surprisingly large undertaking. We have done this a...
At makandra, we've built a few gems over the years. Some of these are quite popular: spreewald (> 1M downloads...
As a web developer, you know Google Analytics (GA). Probably you've dropped the GA snippet into more than one...
Why secure-only cookies used to be necessary Cookies have an optional secure flag. It tells the browser to not...