Fixing 404/403 Errors in Cloudfront and S3
A technical guide on fixing S3 bucket 403 errors to show proper 404 pages in Cloudfront without making the bucket public.
A technical guide on fixing S3 bucket 403 errors to show proper 404 pages in Cloudfront without making the bucket public.
A developer discusses key considerations for releasing new features in a B2B SaaS environment, including logs, feature flags, and observability.
The article argues that focusing on fixing 'Unhappy Paths'—user experience hurdles and errors—is crucial for product adoption, often more than optimizing the ideal 'Happy Path'.
A technique for future-proofing SQL code by intentionally adding errors to catch unexpected changes in data or logic.
A guide to deleting an Azure tenant, troubleshooting the 'Unable to delete tenant' error by removing hidden enterprise applications.
Explores Node.js coding patterns, anti-patterns, and best practices for scalable applications, covering variables, error handling, and testing.
A guide to improving the reliability of Express.js applications through logging, error handling, automatic restarts, input validation, and TypeScript.
A guide on using async/await syntax for handling asynchronous operations in Express.js request handlers, including error handling.
Explores the three key components of effective error messages for developers: context, the error itself, and mitigation steps.
A guide to crafting effective error messages for developers, focusing on context, the error itself, and mitigation steps.
Common mistakes to avoid when learning TypeScript, especially for developers with JavaScript or other language backgrounds.
Explores strategies for handling Kafka producer failures, focusing on trade-offs between consistency and availability in messaging systems.
Explores strategies for handling Kafka message delivery failures in applications, discussing trade-offs between consistency and availability.
Explains how to properly handle and type error messages in TypeScript catch blocks, which default to the 'unknown' type.
A guide to implementing robust error handling in React Query applications, covering standard patterns and best practices for failed data fetches.
A guide on using Rust enums to wrap and handle multiple error types, avoiding dynamic dispatch for more compile-time safety.
An in-depth guide to error handling in Rust, focusing on the Result<T, E> enum and best practices for managing operations that can fail.
Explores the technical differences between 'return await promise' and 'return promise' in JavaScript async functions, focusing on error handling.
Explains the technical difference between using two callbacks in .then() versus chaining .then() with .catch() for error handling in JavaScript Promises.
Explains JavaScript Promises, why they simplify asynchronous coding, and how to use them with async/await.