#562 — July 22, 2021 |
Ruby Weekly |
Benchmarking Your Ruby with Justin Searls |
Fullstaq Ruby: A Production-Optimized CRuby Distribution — We featured this alternative CRuby/MRI-based Ruby distribution over a year ago when it was new, but it’s now been updated with Ruby 3.0.2, 2.7.4, and 2.6.8 variants. The basic idea is memory allocation is jemalloc-based which can yield big benefits in production at scale. Hongli Lai |
Try Scout’s New Error Monitoring Feature Add-On for Free — Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues in minutes. See for yourself why Scout is a Ruby developers’s best friend with a free 14-day trial, no credit card needed. Scout APM sponsor |
▶ Enjoy Some Talks from Euruko 2021 — We mentioned Matz’s keynote a few issues ago, but forgot to put the spotlight on some more of the talks given at the always excellent Euruko event - there are 18 sessions from 2 days, including things like building high-performance GraphQL APIs and using FFI to building a Ruby web app with just the Ruby standard libraries (from a low level, thinking about TCP and HTTP directly) and the importance of diversity in teams. Euruko Conference |
Crystal 1.1 Released — Crystal isn’t Ruby, but it’s a statically type-checked and compiled language whose syntax is heavily inspired by Ruby and is of interest to many Rubyists as a Ruby-friendly way to write certain types of performance dependent code. Beta Ziliani |
IN BRIEF:
|
|
📕 Articles & Tutorials |
Building a Documentation Workflow in Rails — Making documentation live with your code (known as ‘docs-as-code’) is a good practice to keep docs up to date. Kate Bartolo shows you how while also explaining how to make the docs usable. Honeybadger Developer Blog |
How Release Uses Action Cable and Redux Toolkit — How Release moved to Redux and use it to update the build logs on their static site frontend using Action Cable. Release |
Optimizing MemoWise Performance — We linked to MemoWise in issue 560. Here, Jacob and Jemma explain their ‘Benchmark Driven Development’ approach and what they learned. Jacob Evelyn & Jemma Issroff |
Serve Your Image Library on the Fly, Using a Simple Querystring API — Proxy your browser image requests via OMGIMG and use the querystring to apply resizing and other manipulations you need. OMGIMG sponsor |
Validate CSV Input with Kevin Murphy |
▶ Using VCR to Mock Your Requests — VCR is a very long standing Ruby tool for recording a test suite’s HTTP interactions so they can be replayed in a consistent, predictable manner in future. This eight-minute screencast is a tight introduction. Ana Schwendler |
Picking The Worst Year to Pitch for Euruko — Matias tells us the epic saga of securing the Euroko conference for Helsinki, only to have the pandemic force a pivot to a first-time online event that turned out fine but taught lessons. Matias Korhonen |
▶ Building with Just What You Need Using Roda with Jeremy Evans — Jeremy Evans, creator of Roda and author of Polished Ruby Programming, joins the Rogues to talk about how to use Roda to build Ruby web apps. Ruby Rogues Podcast podcast |
🛠 Code & Tools |
Tangram: An Automated Machine Learning Framework — It’s not solely for Ruby – indeed, it’s written in Rust – but you can train a model from a CSV file and then make ‘predictions’ from Ruby code. GitHub repo. Tangram |
activerecord-cte: Brings Common Table Expressions Support to ActiveRecord — Removes the need to drop to Vlado Cingel |
Has Your Rails 6.1 Prep Fallen Behind? FastRuby.io Can Help FastRuby.io | Rails Upgrade Services sponsor |
MailCatcher: A Simple SMTP Server with a Web UI to See Mails — It’s eleven years old but has just hit version 0.8 :-) The idea here is you can send email to it and see how it looks. Samuel Cochran |
Bridgetown 0.21.1: Ruby-Powered Static Site Generator — This release includes Webpack 5 support, moves from Babel to ESBuild and more. Jared White |
Listen 3.6.0: 'Listen' to File Modifications and Know About Changes — OS-optimized on each of macOS, Linux, BSD, and Windows, and can detect file modification, creation or deletion in one or more directories. Guard |
dry-monads 1.4.0: Useful, Common Monads in Idiomatic Ruby
|
Cucumber 7.0: Run Automated Tests Written in Natural Language
|