#435 — January 31, 2019 |
Ruby Weekly |
Ruby 2.6.1 Released — This release is primarily to resolve the critical Yui Naruse |
Rails 6 to Keep Source Maps in Production, Decrees DHH — For performance reasons, source maps were originally not going to be included in production Rails apps, but this week DHH stepped in and reverted to ‘source-maps-by-default’ behavior in tribute to the Web’s tradition of ‘View Source’ actually being useful. Ruby on Rails |
Timeseries in Redis with Streams — A Ruby walkthrough on using the new Stream data type in Redis to model time series. RedisGreen sponsor |
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 |
Another Look at What's New in Ruby 2.6 — Ruby 2.6 came out last month and this post does a good job of rounding up the most interesting new syntax and method improvements and some examples of them. Nithin Bekal |
ValueSemantics: A Gem for Making Value Classes — If you know what Value Objects are, this is worthy of your attention with its simple, dependency-free, extensible approach. If you don’t, this article makes a good case for their use. Tom Dalling |
💻 Jobs |
Backend Engineer - (Dumbo, Brooklyn, NY) — Make an impact on our scalable e-commerce and inventory management application that services brands and customers worldwide. Maisonette |
Sr. Fullstack Engineer (Remote) — Sticker Mule is looking for passionate developers to join our remote team. Come help us become the Internet’s best place to shop and work. Sticker Mule |
Find A Job Through Vettery — Vettery specializes in developer roles and is completely free for job seekers. Vettery |
📘 Articles & Tutorials |
Building a Service-Oriented Architecture with Rails and Kafka — Based on a talk at RailsConf, this post covers the basics of Kafka, evented architectures, and basic integration with Rails. Heroku |
RSpec Mocks and Stubs Explained in Plain English — A straightforward explanation of what they are in case of confusion, though the author also explains why he doesn’t actually use them much. Jason Swett |
eBook: Best Practices for Optimizing Postgres Query Performance — Learn how to get a 3x performance improvement on your Postgres database and 500x reduced data loaded from disk in this free pganalyze eBook. pganalyze sponsor |
Replace Timecop with Rails’ Own Time Helpers in RSpec — Timecop has long been used to set specific times (or ‘time travel’) in tests, but did you know that Rails has had similar functionality baked in since Rails 4.1? Andy Croll |
The Simplicity and Power of Ruby Struct — The what, when, and how of Paweł Dąbrowski |
“!” and “?”: Understanding One of Ruby’s Coolest Naming Conventions — Besides covering the basic conventions, Luan goes through an inconsistency and looks for similarities in other languages. Luan Gonçalves |
How ActionCable Broke Puma — ..and why iodine and/or AnyCable should be used instead. Plezi |
How to Citus Data sponsor |
🔧 Code & Tools |
rack-mini-profiler: Profiler for Your Rack Apps in Dev or Production Sam Saffron et al. |
Hanami v2.0.0 Alpha 1 Released — This is ‘more a preview’ as Hanami 2.0 is a total rewrite from 1.3 that includes a new router, application simplification, and better performing actions. Luca Guidi |
Apparition: A Capybara Driver for Chrome using CDP — CDP stands for Chrome DevTools Protocol and, here, means you can run Capybara tests headlessly without selenium or chromedriver. Cuprite is another such library - we have not yet done a comparison of the two. Thomas Walpole |
Dry-rb: 18 Useful Ruby Gems That Come Together — A nice introduction to a few of the 18(!) gems in the Dry.rb offering. Jesus Castello |
TTY: The Ruby Terminal Apps Toolkit — An ecosystem of gems for building elegant command line apps. Piotr Murach |
Textbringer: An Emacs-Like Text Editor Written in Ruby — We first linked this two years ago and its author has continued to improve things and make releases. Shugo Maeda |
EmailInquire: Validate Email Addresses for Common Typos Maxime Garcia |