#588 — January 27, 2022 |
✍️ Last week's issue had so many interesting bits of news that it was a hard act to follow, so while this is a quieter week in the Ruby world, be sure to check last week's issue too if you skipped it at all :-) |
Ruby Weekly |
RPush 7.0: The Push Notification Service — An abstraction over numerous push notification systems, including those from Apple, Google, Amazon, and more. This 7.0 release adds Ruby 3.1 and Rails 7.0 support. Ian Leitch |
Building GraphQL APIs in Rails — GraphQL is a flexible, strongly-typed query language, and while it doesn’t naturally mesh directly to Rails' typically REST-oriented approach, there are ways to make it possible, and if you don’t even know why you might use GraphQL, David does a good job of explaining it all here. David Sanchez |
ButterCMS Melts into Your Ruby App. #1 Rated Headless CMS — ButterCMS is your content backend. Enable your marketing team to update website + app content without needing you. Try the #1 rated Headless CMS for Ruby today. Free for 30 days. ButterCMS sponsor |
Spree Commerce 4.4: The Open Source Rails Ecommerce System — Spree is a long standing ecommerce system built on top of Rails and 4.4 is a big release for them including using Hotwire for a smoother dashboard experience, features for selling digital downloads, wishlist functionality, and more. Solidus is another option in this space; it began life as a fork of Spree. Spree Commerce |
IN BRIEF:
|
|
📕 Articles & Tutorials |
Using Entropy for User-Friendly Strong Passwords — A look at the approach database platform PlanetScale took with their signup form to enforce strong passwords while also playing nicely with password managers. Mike Coutermarsh (PlanetScale) |
Build Your Own Concurrency Control in Sidekiq — If you’ve got background jobs you want to perform sequentially, a locking system may be useful. Sidekiq::Sequence or SidekiqUniqueJobs may also be useful if you need similar functionality out of the box. Mihai Colceriu |
Enqueue Jobs Quickly with Sidekiq’s Bulk Features — What if you have the opposite problem.. lots of jobs you want to cram into Sidekiq as fast as possible? Andy Croll has your back, and can get you down from lots of trips across the network to just one. Andy Croll |
Free eBook: Efficient Search in Rails with Postgres — Speed up a search query from seconds to milliseconds and learn about exact matches, trigrams, ILIKE, and full-text. pganalyze sponsor |
Upgrading Rails from 6.1 to 7.0: Things to Consider — A tactical upgrade guide from the company that makes a business around upgrading Rails. Cleiviane Costa (FastRuby.io) |
Switching from Webpacker 5 to jsbundling-rails with webpack — Since there will be no Webpacker 6, you might want to be aware of this. Rails Contributors |
Test and Optimize Your Rails App's Database Performance — Quickly covers three ways to investigate problems and then seven ways to mitigate said problems. Milap Neupane |
Working with Ruby C Extensions on a MacBook — While some of this is Mac-focused, there are loads of linked resources that dive deeper, so if you’re interested in Ruby and C, this is a fine place to start. Ulysse Buonomo |
Rails 7's Support for Postgres' Generated Columns
|
🛠 Code & Tools |
Que 1.0: A Ruby Job Queue That Uses Postgres's Advisory Locks — A perfect use for Postgres’s built in advisory locking mechanism to bring more reliable job queue functionality to Ruby by using said locks to protect the state of the jobs. Chris Hanks |
Puma 5.6 Released: A Rack Web Server Built for Concurrency — This particular release shares a nickname with Nate Berkopec’s daughter! :-) Puma Team |
Shortcut Puts the Agile in Agile and the “Can” in Kanban Shortcut (formerly Clubhouse.io) sponsor |
Wasabi: A Simple WSDL Parser — Web Services Description Language is an XML-based language for defining web service functionality (frequently used with SOAP). Daniel Harrington |
Sidekiq 6.4: Simple, Efficient Background Processing for Ruby — We've mentioned it a few times already in this issue, but there's a new release too ;-)
|
rails_param: Parameter Validation and Type Coercion for Rails
|
MemoWise 1.6: A Modern Choice for Ruby Memoization — Now officially supports Ruby 3.1.
|
React on Rails: Bringing React, Webpack, and Rails Together with Webpacker
|
Counter Culture 3.2: 'Turbo-Charged' Counter Caches for Rails Apps
|
|