#569 — September 9, 2021 |
✍️ I know not all readers are into Rails, but when a glut of interesting Rails news comes along, we've got to cover it :-) Scroll down a bit for the normal Ruby goodness if this is you, especially as Jemma is back with a new Tip of the Week |
Ruby Weekly |
▶ DHH's Rails 7 Alpha Preview with DHH on YouTube |
Rails 7 Will Have Three Great Answers to JavaScript in 2021+ — Rails 7 (still due later this year) will have new ways to handle (or not) JavaScript; the 'default' being ES6 import maps and the Hotwire stack. The second way is with a typical bundler with the David Heinemeier Hansson |
Run Faster and Safer Than Linux with Open Source Unikernels — Deploy Ruby with no ops. Run 2X as fast on Google. Run 3X as fast on AWS and deploy in 10s of seconds using open source unikernels. NanoVMs sponsor |
Getting Ready for Autoloading in Rails 7 — The forthcoming Rails 7 release will represent a milestone for autoloading with Zeitwerk’s ‘classic’ mode (used to help maintain legacy app transitions) going away and initializers will only be able to autoload reloadable constants if wrapped in Xavier Noria |
Real-Time Stress: AnyCable, K6, WebSockets, and Yabeda — How do you stress/load test WebSockets? The old answer is “very awkwardly”, but there’s new tooling afoot that makes this easier, although it’s heavy on the JavaScript :-) Evil Martians |
QUICK BITS:
|
|
📕 Articles & Tutorials |
Build an Uptime Monitoring System in Ruby — Subomi builds both a metrics service and a monitoring service on top of Google Cloud’s Cloud Storage and PubSub. The monitoring service listens for config changes and restarts the metrics service, which is a nifty pattern to know. Subomi Oluwalana |
Testing Your Edge Cases — Using a little math to find the scenarios you aren’t covering in your tests, then deciding to either test them or code them out of existence. Joël Quenneville |
Has Your Rails Version Fallen Behind? FastRuby.io Can Help — We can help to get your application to Rails 6.1 FastRuby.io | Rails Upgrade Services sponsor |
▶ A Look at Import Maps in Rails 7 — Import maps let you import JavaScript modules using logical names that map to versioned/digested files – directly from the browser. David Kimura |
Let's Read Eloquent Ruby, Chapter 3 — Brandon reads Ruby books and shares insights he’s picked up along the way. This chapter focuses mostly on collection types. Brandon Weaver |
Deployment From Scratch, 1st Edition Released — “Deployment” here means a full Rails app with Postgres, Let’s Encrypt certs, WebSockets, and more. There are some other demos too (PostgreSQL cluster!) that you can immediately add to your production knowledge. Josef Strzibny ebook |
▶ Talking with Kasper Timm Hansen from the Rails Core Team
|
Working With RBS in RubyMine — Static typing fun in a popular IDE.
|
🛠 Code & Tools |
Dotenv Validator: A Library to Validate Environment Variables — Provides a way to process commented notations in Ernesto Tagwerker |
rover: Simple, Powerful Data Frames for Ruby — Designed for “machine learning and data exploration”, it’s worth clicking through to the Jupyter notebook demo on Binder from the README to see it in action. Andrew Kane |
See Logs from Your Ruby and Ruby on Rails Apps in LogDNA for Free LogDNA sponsor |
Suture: A Gem for Refactoring Legacy Code — We first featured this 5 years ago, and while it hasn’t had a ton of updates since then, it’s been getting some fresh love on social this week. Test Double |
Mutant: Automated Code Reviews via Mutation Testing — Another tool we last mentioned years ago, but which is also still getting frequent updates: “Think of mutant as an expert developer that simplifies your code while making sure that all tests pass.” Keep an eye on the licensing, though. Markus Schirp |
Rainbow: A Gem for Colorizing Printed Text on ANSI Terminals — e.g. Marcin Kulik |
TelephoneNumber: Global Phone Number Validation Library — Based upon Google’s libphonenumber library. Live demo. Tangoe |
|