Tutorials

Truemail - configurable framework agnostic plain Ruby email validator/verifier. Verify email via Regex, DNS and SMTP
Email validation is a tricky thing. There are a number of different ways to validate an email address and all mechanisms must conform with the best practices and provide proper validation. The Truemail gem helps you to validate emails via regex pa...

Migrating Classic Slack Ruby Bots to Granular Permissions
Slack recently introduced granular permissions and is now requiring all new apps to use those. The old apps are called classic apps, and new apps are called … apps. Slack also provided a migration guide.As of December 4th, 2020 Slack no longer acc...

Automatically migrate database when pushing to Heroku
I used to freak out when seeing this, but most of the time it is caused by me forgetting to run rake db:migrate after deploying a feature which has new database migrations.If you view logs of the app, and see there’s an error saying ‘relation “tab...


Why you shouldn’t inherit from Ruby’s core classes (and what to do instead)
Sooner or later you’ll want to subclass Ruby’s String, Array, or Hash. In this now-free RubyTapas video, you’ll learn why that’s a bad idea… and what to do instead.Director’s commentary: This was originally published as RubyTapas episode .


How do I make testing a habitual part of my development work? - Code with Jason
One of the most common questions asked by Rails developers new to testing is: how do I make testing a habitual part of my development work?It’s one thing to know how to write tests. It’s another thing to actually write tests consistently as a norm...

A new way to understand your Rails app's performance - Justin Weiss
Is your Rails app slow?When it takes seconds to load what should be a simple view, you have a problem worth digging into.You could have too many database calls or some slow methods. Or maybe it’s that speedup loop someone put in your code and forg...

Using Cloudfront CDN to reduce asset delivery time from 30 seconds to 3 seconds | BigBinary Blog
AceInvoice, one of BigBinary’s products, was facing high page load times. AceInvoice is a React.js application, and the size of application.js has gone up to 689kB compressed. Folks from India would sometimes have to wait up to 30 whole seconds fo...

Adding Authentication in Rails 6 with Rodauth | Janko's Blog
In this tutorial, we’ll show how to add fully functional authentication and account management functionality into a Rails 6 app, using the Rodauth authentication framework. Rodauth has many advantages over the mainstream alternatives such as Devis...