Skip to main content
Published in Engineering Insights

Gnarly Learnings from April

Gnarly Learnings from April
Table of contents
  1. How to Build a Web App with and without Rails Libraries
  2. Use console.log() like a pro
  3. Using the Switch(true) Pattern in JavaScript
  4. Rails 6.1 adds delegated_type to ActiveRecord
  5. Using Hotwire Turbo in Rails with legacy JavaScript
  6. Maximize your mentorship: establish, absorb, and connect
  7. Argument Cultures and Unregulated Aggression
  8. What happens when...
  9. How does the brain interpret computer languages?
  10. Contributors

We love reading, watching, and listening to constantly update our skills and learn new perspectives. Here are some of the exciting pieces we learned from this month.

How to Build a Web App with and without Rails Libraries#

There's a lot we take for granted when writing an application using Rails. Revisit some of these core principles for building a web application in this detailed explainer.

Use console.log() like a pro#

Turns out that your browser's console is a lot more flexible than it might appear at first blush. When debugging your code, you can make your output easily browsable with timers, memory tracking, and deep object introspection. Much more convenient than console.log("Here!") all over the place.

Using the Switch(true) Pattern in JavaScript#

By leveraging a switch statement checking against the boolean true, we can avoid the trap of noisy endless ifs and make our various states more readable.

Rails 6.1 adds delegated_type to ActiveRecord#

A delegated_type provides a new option to model shared data and behavior. It particularly excel over Single Table Inheritance in situations where the different child models may have many different model-specific attributes. In Single Table Inheritance, this would mean a lot of columns in our database that are only used for one of the children, and null for everything else. Not so with delegated_type!

Using Hotwire Turbo in Rails with legacy JavaScript#

With so many examples of Hotwire showing how to use it with a shiny new application, you might be wondering if you can still use it in your well-worn, mature application. This article shows a strategy for selectively using Hotwire functionality while maintaining your existing functionality.

Maximize your mentorship: establish, absorb, and connect#

Set the stage with your mentor by providing clear expectations, knowing what questions to ask, and following through on action items. This article (and its companion referenced at the end) can also be helpful for mentors in establishing their relationship with mentees.

Argument Cultures and Unregulated Aggression#

This is a great reminder of checking what behaviors and culture you're cultivating in your team and organization, whether you know it or not.

What happens when...#

There are more times than I care to admit where I contemplate how changes I'm making even work, or how code ever worked to begin with. But...how do computers work? This repo goes into explicit detail of what's involved to attempt to reach google.com from your browser.

How does the brain interpret computer languages?#

This is your brain. This is code. This is your brain on code.

Contributors#

Frequently asked questions

Can Hotwire work in an existing Rails application?

The linked article shows how to use Hotwire selectively in a mature application while maintaining existing functionality.

How can I get more from a mentorship?

Set clear expectations with your mentor, know what questions to ask, and follow through on action items.

Why consider delegated_type?

With Single Table Inheritance, columns used by one child model can be null for all the others. delegated_type offers another way to model shared data and behavior.

Stay In The Loop

Never miss an update. Get the latest blogs, webinars, and expert insights straight to your inbox from The Gnar.