#613 — July 21, 2022 |
Ruby Weekly |
Down The Caching‑Hole? Adventures in 'HTTP Caching and Faraday' Land — It’s never good when you enable caching and performance gets worse. These cases often lead to long, forensic investigations that expose a previously unknown nuance and this case is no exception. “Off with their headers!” Kryukov & Turner (Evil Martians) |
Modernizing Einhorn: A Gem for Managing Forked Processes — Somehow I’d never come across Einhorn till now, but it started life as a Stripe-built gem for managing multiple copies of long-lived processes and now Sidekiq’s Mike Perham has inherited it (pretty much the biggest seal of approval a Ruby project could get) and taken it to a 1.0 release. Mike Perham |
RedisGreen: Secure, Scalable, Full-Featured Redis 7 Hosting — The latest Redis features, instrumented and scaled with the tools teams need as they grow. RedisGreen sponsor |
▶ A Rails Performance Guidebook: From 0 to 1B Requests Per Day — A senior engineer at Zendesk gave a talk at RailsConf 2022 reflecting on Zendesk’s use of Rails and a variety of high-level principles you can adopt when scaling your own apps (if not to the same level!) In related news, Zendesk is about to be acquired for $10.2bn. The most expensive Rails app ever? 😁 Cristian Planas |
Quick Bits:
|
📖 Articles, Stories & Videos |
'Booleans Don't Exist in Ruby' — Sure, Mike Burns |
Value Object Semantics in Ruby — A short article covering how equality works for value objects along with what methods you need to be sure to implement to get the right behavior. Joël Quenneville (thoughtbot) |
A Practical Guide to Changing Code So You Can Understand It — Specifically, Daniel discusses three refactoring methods: Introduce Variable, Extract Method, and Rename. Daniel Huss (TestDouble) |
A Rubyist's Guide to Vite — Vite is the (another) latest shiny toy in JavaScript and frontend build tooling (but, to be fair, it’s pretty amazing). It uses ES module imports, it’s fast and setting it up with Rails is pretty easy thanks to some gems including vite_ruby/rails. (Note: This article dates from 2021, but Vite seems to be going from strength to strength lately, and Vite 3.0 just came out.) Máximo Mussini |
▶ Turbo Frames vs. Turbo Streams — When he was first introduced to Turbo Frames and Turbo Streams, Cezar couldn’t quite figure out the differences (though there are many). Now he has, and deftly explains in this video when to pick one over the other. (Eight minutes.) Cezar Halmagean |
Ruby Transactional Notification Infrastructure Saves Engineering Time Courier.com sponsor |
▶ Xavier Noria Talks About His and Rails' History — Xavier is the creator of Zeitwerk and a long time Rails core team member, so he has tales to tell. So here he does, with reflections on Rails’ history and how he got onto the core team. Remote Ruby Podcast podcast |
Why Ruby is More Readable than Python — We agree with the points made here, but we would, wouldn’t we? Michael Karamuth |
🛠 Code & Tools |
Bridgetown 1.1 (Belmont) Released: The Progressive Site Generator — Now with improved i18n support, Sass support within esbuild/PostCSS bundling, phrase highlighting in Markdown, and a brand new Jekyll to Bridgetown migration guide if you want to make the switch for your blog, say. Jared White |
SearchCop: Search Engine-Like Query Support for Active Record — Adds support for an easy to use search interface on top of AR models. It’s smarter than you might imagine and can handle using operators to query against columns – it’s not just for text. Can’t help but think I’d like to see some of these ideas become standard AR features! Benjamin Vetter |
Don’t Let Your Issue Tracker Be a Four-Letter Word. Use Shortcut — The best issue tracking software is one that software developers are actually happy to use. Shortcut (formerly Clubhouse.io) sponsor |
gem-compare 1.2: The RubyGems Plugin for Comparing Gem Versions — gem-compare is a RubyGems plugin that can compare gem versions at the source code level, particularly useful if you want to vet changes or see if updates make sense to you. Mgr. Josef Strzibny |
Redhot: REDux Pattern for HOTwire — A port of the Redux framework (popularly used with React) to ActiveRecord, enabling the tracking of actions and state for your models so you can easily undo and time travel while debugging. Ivo Herweijer |
Casting 1.0: Delegate Methods in Ruby and Preserve Jim Gay |
⚡️ QUICK RELEASES: Chatwoot 2.7 – Open-source customer chat system. |
|
🤔 DID YOU KNOW..
|