#540 — February 18, 2021 |
💡 The Tip of the Week is back – see the end of the issue for that. It covers a Ruby 2.7 feature that makes a reasonably common task a single call and I'm very glad for its addition to the language 😄 |
Ruby Weekly |
A More Secure Bundler: How We Fixed Our Source Priorities — Last week there was a major story where a non-malicious developer pushed libraries to public repositories with the same name as private packages and these then took precedence over the private packages several companies’ systems expected to install. Uh-oh! While RubyGems.org was safe, Bundler was affected and v2.2.10 adds a fix to prioritize block sources in The Bundler and RubyGems Team |
Adornable: A Way to Use Decorators on Ruby Methods — If you’ve ever looked at Python’s decorators or Lisp’s ‘advice’ and thought you’d like a similar way to extend Ruby methods, this is for you. The syntax is nice, although there’s a lot of magic behind the scenes, as you’d expect. Keegan Leitz |
Building Fast & Modern Web Applications with Rails & Hotwire — Taking Rails to the next level with Hotwire for faster, more responsive apps. Part 1 of our introduction to the different components of Hotwire: Turbo and Stimulus. We explore how these elements work and how they can be used in your own projects. Cloud 66 sponsor |
Using Webpacker in Your Rails Apps — A Deep Dive — A look under the hood of Webpacker (basically a Rails friendly wrapper for webpack as used in Rails 6). Paweł Dąbrowski |
Rails 6.1.3 Released — It’s a minor fix-oriented update. 5.2.4.5, 6.0.3.5 and 6.1.2.1 have also been released fixing two security issues. Official Rails Blog |
Quick Bits
|
💻 Jobs |
Senior Ruby on Rails Engineer (Remote) — Join our distributed team and build high-volume eCommerce applications in a workplace made by developers for developers. Nebulab |
Experienced UK-Based Ruby/Rails Developer — We’re looking for a Rails dev to join our team to produce high-quality, tested code, working on an e-commerce platform that processes thousands of transactions daily. Itison |
Find Your Next Job Through Hired — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers. Hired |
📘 Articles & Tutorials |
Ruby Garbage Collection Deep Dive: Tri-Color Mark and Sweep — This article builds on Jemma’s previous outing on the internal constants used by Ruby’s garbage collector and teaches us more about how Ruby manages memory. Jemma Issroff |
▶ Ruby Game Development with the DragonRuby Game Toolkit — If you love Ruby but fancy a break from building webapps, say, how about creating your own game? This 18 minute screencast introduces how DragonRuby works at the technical level. Amir Rajan |
3 Tips to Tune Your VCR in Tests — VCR is a long standing tool for recording HTTP interactions and replaying them during test runs. This post shares three techniques for improving its usage. Pawel Pacana |
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 search. pganalyze sponsor |
How to Use Sidekiq in Rails 6 — A post from last year about the popular background-processing system but just updated for Rails 6.1 and Sidekiq 6.1.3 – there’s also a guide for getting it running on Heroku. Catalin Ionescu |
Don’t Wrap Instance Variables in Jason Swett |
Tensors using NumRuby — NumRuby is a SciRuby-related project for doing fast numerical linear algebra in Ruby. Udit Gulati |
Tip: Use Rails' Matt Swanson |
ActiveRecord For Databases Without Unique Ids — The real takeaway is: Don’t do this. However, the journey to make AR work is an interesting code romp. Regan Ryan (Honeybadger) |
▶ Bridgetown: Ruby on the Jamstack, or Why I Forked Jekyll — Jared White discusses why he decided to fork Jekyll and create the Bridgetown static site generator. YouTube |
🛠 Code and Tools |
Chewy 6.0: A High-Level Elasticsearch Framework — An ODM and wrapper for working with Elasticsearch in a more idiomatically Ruby, developer-friendly way (check out the examples in the README). This week’s 6.0 release adds Elasticsearch 6 support and there’s a brief migration guide. Toptal |
Avro::Builder: A Ruby DSL to Create Apache Avro Schemas — Apache Avro is a schema-driven data serialization system. Salsify |
Founders/CTO’s: Can't Scale in Production? Let’s Talk Hint sponsor |
twterm: A Terminal UI Twitter Client — Want a day to day Twitter client on the terminal? This is one option. Packaged up with nix for easier installation if you’re a nix user. Ryota Kameoka |
Kittyverse: Helper Classes for Cryptokitties Related Data — Honestly, I have no idea what is going on here.. 😂 The CryptoCopycats |
Rpush 5.4: A Push Notification Service for Ruby — A long standing project. Rpush supports numerous push notification services including those from Apple, Firebase, and Amazon, and this new release adds Ruby 3 and Rails 6.1 support. Ian Leitch |
RuboCop 1.10: The Ruby Static Code Analyzer and Formatter RuboCop Headquarters |
|