What's this about?
Learn how to manage carrying costs in your app by strategically incurring opportunity costs. Messy models with entangled dependencies and confusing callbacks? Instead, put business logic in plain Ruby classes that use your models to access the database.
Trying to fit functionality into resources based on your database tables? Try using custom resources with standard routes and Active Models instead of tons of custom routes.
Fighting with JavaScript, APIs, and Source Maps? Embrace server-rendered views.
Slow test suite? Don't over test. Controllers don't need a test if you have a system test. Simple validations don't need tests. If your jobs are a single-line delegation to business logic, why test them?
Trying to fit functionality into resources based on your database tables? Try using custom resources with standard routes and Active Models instead of tons of custom routes.
Fighting with JavaScript, APIs, and Source Maps? Embrace server-rendered views.
Slow test suite? Don't over test. Controllers don't need a test if you have a system test. Simple validations don't need tests. If your jobs are a single-line delegation to business logic, why test them?
You'll Learn
Author
David B. Copeland
I’ve most recently been the Chief Software Architect and Director of Engineering at Stitch Fix. I helped grow the engineering team and technology from 3 to 200+, establishing technology and process to help the company grow for years. I’m also an author of several programming books