Fetching a list and then a related record for each item individually turns one reasonable query into hundreds, and an…
Read More »Backend
Establishing a database connection is expensive, and opening a fresh one for every request adds that cost to every single…
Read More »Adding a cache is straightforward; the hard part is deciding when cached data is stale and removing it, and most…
Read More »The limits you set on an API communicate what you expect from your clients, and getting them wrong either lets…
Read More »A connection leak does not crash anything immediately. It slowly consumes the pool until an unrelated feature starts timing out…
Read More »




