#481 — December 19, 2019 |
Ruby Weekly |
Hi! As is traditional for the final Ruby Weekly of the year, we're doing a roundup of the most popular items of the year, but we'll be back on January 2 with a special Ruby 2.7 issue as the final version of Ruby 2.7 should be released on Christmas Day. 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 |