#628 — November 10, 2022 |
|
Ruby Weekly |
Vanilla Rails is Plenty — Since Rails was born at 37signals, they sometimes tout their approach to Rails as canon, eschewing many design patterns found in the ecosystem. So how do they avoid structural issues big apps face while staying on the ‘vanilla Rails path’? Jorge explains. 🎵 I like vanilla, it's the finest of the flavors.. Jorge Manrubia (37signals) |
➕🎲➗ Test Yourself on Ruby Operator Precedence — A fun (and potentially embarrassing..?) quiz with an accompanying blog post that’s harder than you may think it is (at least, that’s what we’re telling ourselves.) Domhnall Murphy |
Debugging in Ruby with AppSignal — An APM is not just useful for seeing how your application performs through graphs and visuals. You can go deeper and use it to handle debugging when an error occurs. This post is all about advanced debugging with AppSignal. AppSignal sponsor |
Crunchy Bridge's Ruby Backend: Sorbet, Tapioca, and Parlour-Generated Type Stubs — We’ve all talked a lot about Sorbet and typing this year, but what does a real process of using it look like? Brandur goes through the tools used in their team along with the benefits (and risks) of going all-in on Sorbet. Brandur Leach (Crunchy Data) |
A Walkthrough of Creating a Gem with CI and CD — Building a gem is a pretty well trodden path by now, but I love fresh walkthroughs that take current tooling into account. Bundler keeps the gem smithing simple, with GitHub Actions running the tests for you in the background across multiple Ruby versions. Alex Evanczuk |
Reducing Memory Usage with an Environment Variable — Want to use less memory in thread heavy apps? Tuning glibc’s memory usage behavior with the Marco Colli |
QUICK BITS:
|
📕 Some Tips and Tutorials |
Tips for Navigating RubyConf 2022 as a Newcomer — If you’re headed to your first RubyConf this year and you’re worried about getting the most out of it, fear not – heed these words of past attendees. (RubyConf 2022 is later this month in Houston, Texas.) Ruby Together |
If You Are Building a Notification Microservice Internally: Read This — Learn about internal & external UX requirements, what to plan for with scaling, reliability, audits, and observability. Courier.com sponsor |
Faster Pagination in HEY — 37signals’ shiny new developer blog gets another post about how they approached improving the performance of their MySQL-backed HEY email service by way of tenant-ID prefixed indexes. Donal McBreen (37signals) |
Using Watir to Automate Web Browsers with Ruby — I’ve never been a big fan of Selenium but if you want to access its browser automation powers, Watir is a very mature way to do so from Ruby. Ferrum is a worthy alternative if you want to just remote control a Chrome instance instead. Jude Ero (ScrapingBee) |
'RSpec Examples are, well, Examples' — A look at a subtle shift in mindset for writing specs to let your expectations be an example of how to use the underlying code rather than just be for testing. David Bryant Copeland |
Fixed Price Monthly Code Maintenance and Upgrades for Rails Apps reinteractive Pty Ltd sponsor |
Rails Now Validates Options Used in Migration Functions
|
Learning Good Habits by Watching a Staff Software Consultant
|
🛠 Code & Tools |
Announcing Hanami 2.0 Release Candidate 1 — Hanami 2.0 is really shaping up to be something special. The final 2.0 release is expected in a couple of weeks, but for now you can pick up what this modern take on a Ruby Web framework is all about through its getting started guide. Think more structure than Sinatra, but not as much as Rails! Luca Guidi |
RubyMine 2022.3 Beta Released — The latest version of JetBrains’ powerful commercial Ruby IDE has exited its ‘early access’ phase. One new feature coming to 2022.3 for Windows users is the ability to run within WSL2. Iryna Pisklyarova |
Making Postgres More Affordable. Starting at $10/Month Crunchy Bridge sponsor |
Class Variants: Configure Component Styles and Apply Them as Classes — Create and maintain custom Tailwind components using classes and states. Avo Project |
KEEPING IT DRY(-RB):
|
|