All Books! All Books

Sustainable Web Development

Learn how to manage carrying costs in your app by strategically incurring opportunity costs.

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?