#481 — December 19, 2019 |
Ruby Weekly |
![]() |
Thanks for your continued support, we really appreciate it. See you in two weeks for the Ruby 2.7 news! |
🏆 The Top 6 Ruby Items of 2019 |
Three ActiveRecord Mistakes That Slow Down Rails Apps — Our most popular link came in just the third issue of the year. Nate Berkopec wrote a thorough piece on the performance perils of Nate Berkopec |
The Ruby Style Guide Got a Major Facelift — This remains a one-stop-shop for how to write Ruby code that can be easily read and maintained by other Rubyists. Bozhidar Batsov |
A Guide to Function Composition in Ruby — Ruby 2.6’s introduction of the Paul Mucur |
![]() Introducing Automated Postgres EXPLAIN Plan Insights on pganalyze — pganalyze now can automatically collect EXPLAIN plans and provide a visual representation of your costliest plan nodes and more helpful insights into your Postgres database. Learn more about all new EXPLAIN plan features in this blog post. Pganalyze sponsor |
Matz Said Bye Bye to the Pipeline Operator The Ruby Programming Language |
Rails 6.0 Was Released — This year saw a very significant Rails release which, by this point, you're probably more than familiar with. Official Rails Blog |
A Ruby 3 Progress Report — Ruby 3 is (still) due to be released in 2020 and progress is looking good. This was only a slidedeck and is several months old now, but still does a good job of illustrating the main points. RubyKaigi 2019 |
💻 Jobs |
Software Engineer, Product (San Francisco, Denver, New York City) — We’re looking for Engineers to help our Product Engineering teams serve 100,000 small businesses with our payroll, benefits, and HR software suite. Gusto |
Find a Job Through Vettery — Make a profile, name your salary, and connect with hiring managers from top employers. Vettery is completely free for job seekers. Vettery |
📘 Top Articles & Tutorials of 2019 |
How to Create a CRUD App with Rails and React — An incredibly thorough tutorial covering fronting a Ruby on Rails API with a React client along with linting, flash messages, and handling 404s in React. James Hibbard |
42 Performance Tips for Rails Developers — A collection of pretty brief tips, but at least a few are likely to help you, whoever you are (most are not Rails specific). Covers things like eliminating N+1 queries, using HTTP2, and using rack-mini-profiler. Magnus Skog |
Magic Comments in Ruby — You’ve likely seen (and even used) ‘magic’ comments, but you probably don’t know all of them or understand things like precedence. Mehdi Farsi |
What Is a CI/CD Engineer? — Find out how a new role devoted to CI/CD could help teams hyper-optimize their pipelines and speed up development. CircleCI sponsor |
10 New Things in Active Record (in Rails 6) — A neat roundup that covers things like Jason Dinsmore |
Rails on Windows Is Not Just Possible.. It's Fabulous — Ruby and Rails development on Windows has been pretty frustrating for well over a decade. Microsoft’s strides to accommodate the Unix way of life via WSL2 and VS Code have changed that in a big way and Ruby on Windows has had an encouraging 2019 (if only by means of going via Linux). Scott Hanselman |
Why Does My App's Memory Use Grow Over Time? — Ruby’s memory allocation algorithm is not quite what you might think. As you add threads, considering the per-thread and across-all-threads impacts are necessary to get a firm picture of what is happening. Richard Schneeman |
🛠 Top Code and Tools of 2019 |
![]() |
Sorbet – A Fast, Powerful Type Checker for Ruby — Stripe had been working on a type-checker for Ruby for quite some time and this year they finally placed it in our hands to try. Sorbet |
7 Great Ruby Gems Most People Haven’t Heard About — Some good picks here, from finding dead routes and code to making your tests faster. I’d already heard of 4, but I write a Ruby newsletter so... 😄 Jesus Castello |
Track Ruby App Performance with End-To-End Tracing Using Datadog’s Flame Graph Datadog APM sponsor |
Runbook: A Ruby DSL for Gradual System Automation — PayPal-owned Braintree uses this to automate their deployment preflight checklists, on-call playbooks, system maintenance operations, and more. And now, you can too. A neat idea. Patrick Blesi |
Sidekiq 6.0 Released — The popular background job framework reached 6.0 by both adding (logging formatters, ActiveJob integration) and taking away (init.d daemons). 6.0.3 is the latest version as of right now. Mike Perham |
HTTPX: A Ruby HTTP Library 'for Tomorrow' — httpx has a slew of features, the most interesting being HTTP/2 support and concurrent requests by default. HoneyryderChuck |
![]() |
Opal 1.0: The Ruby to JavaScript Compiler — A release that was seven years in the making, Opal is now faster, supports more Ruby features (such as Elia Schito |
Faker 2: A Library for Generating Fake Data — The popular ‘fake’/dummy data generator continues to improve by including fake data generators for almost everything. 2.9.0 just came out too. Faker |
![]() |
TTY::Logger: Structured, Attractive Logging on the Terminal — Nice looking colorized and formatted logging. Piotr Murach |