#469 — September 26, 2019 |
📣 This week we've got another interview for you — check out the bottom of the issue. |
Ruby Weekly |
▶  The Journey to One Million — A talk from RubyConf Taiwan 2019 all about improving Ruby and making it more scalable, particularly in the context of concurrency and network I/O and being able to handle one million WebSocket connections simultaneously. Samuel Williams |
FriendlyId: Human-Friendly Slugs and Permalinks for Active Record — v5.3.0, the first release in almost a year, is out. FriendlyId lets you do things like manage slug history and versioning, i18n, scoped slugs, and more. Norman Clarke |
Get More Out of Your Postgres Database — pganalyze summarized their learnings on how to get a 3x performance improvement on their Postgres database. Lots of helpful best-practices. pganalyze sponsor |
Chef's Contract with ICE Causes Gem Yanking Controversy — Chef is a popular Ruby-based infrastructure automation system. The company behind it was found to have entered into a contract with the United States’ Immigration and Customs Enforcement agency. In protest, the developer of chef-sugar yanked his code and gems. Chef has since decided to not renew the contract but has also claimed ownership of the related gems on RubyGems.org. The Register |
Fail Fast and Fail Often: Handling API Errors at Scale — What do you do when 100,000 Sidekiq jobs fail every day? If at first you don’t succeed, retry, retry again. Akshay Nathan |
Puma 4.2 Released: A Rack Web Server Built for Concurrency — A popular, long standing, reactor-based Ruby/Rack web server. Release notes. Puma |
💻 Jobs |
Senior Rails Engineer, Product (Remote) — Stack: Ruby on Rails (5.2), Stimulus, Postgres & Heroku — We strive to keep our frameworks/libraries up to date. Perks: Remote team, competitive pay, meaningful company equity. Fleetio |
Find a Ruby job through Vettery — Vettery specializes in tech roles and is completely free for job seekers. Create a profile to get started. Vettery |
📘 Articles & Tutorials |
For Organizing Rails Projects, 'Domain Objects are Good and Service Objects are Bad' — Service objects (or the Interactor pattern) are popular in Ruby/Rails circles. Should they be? Jason doesn’t think so and shows off some refactoring here. Jason Swett |
Ruby 2.7 Adds Romil Mehta |
Behind-the-Scenes of 'Geared Pagination' in Rails — A dive inside the Liroy Leshed |
10 Lessons Learnt From The 'Tennis Game' Refactoring Kata — Katas are a great way to practice refactoring, as is watching someone else mercilessly refactor their code. Andrzej Krzywda |
▶  How to Use Devise Test Helpers — If you’re using Devise for authentication, did you know it provides helpers to make testing its controllers easier? GoRails |
Automated Code Reviews for Ruby — Set standards on coverage, duplication, complexity, and style issues and see real-time feedback in your Git workflow. Codacy sponsor |
Ruby Templating: Baking an Interpreter — This final post in a three-part series covers using the Visitor Pattern to render the templates. Benedikt Deicke |
Using Vim for Ruby and Rails Development in 2019 — The trickiest thing about using Vim can be just getting going. This article goes from zero to fully functional IDE to get you over the hump. Vim from Scratch |
▶  Discussing How to Build a Consulting Business — This isn’t Ruby specific, but consulting is popular in our space and Test Double is a Rails shop, so.. Ruby Rogues Podcast podcast |
Flaky Ruby Tests — We’ve all had them. Tests that pass sometimes and fail others. Dan’s approach to address (not fix) the issue is a good study in making flaky tests a bit better. Dan Mayer |
Rails 6 Adds Amit Choudhary |
🛠 Code and Tools |
Chewy: A High-Level Elasticsearch Framework — An ODM and wrapper for working with Elasticsearch in a more idiomatically Ruby, developer-friendly way (check out the code examples). Toptal |
Erubi: A Small, Alternative ERB Implementation Jeremy Evans |
Instantly Know When Ruby Errors Occur & How to Fix Them Rollbar sponsor |
childprocess: Cross-Platform Library for Managing Child Processes Eric Kessler |
Rubyzip: A Library for Working with The Rubyzip Team |
Faker 2.4: A Library for Generating Fake Data — The popular ‘fake’/dummy data generator continues to improve. It now has a generator for Aeternity blockchain values. Faker |
|