Optimized for Change
Explores the importance of designing APIs that are not just readable but also optimized for how code evolves and changes over time.
Explores the importance of designing APIs that are not just readable but also optimized for how code evolves and changes over time.
A tutorial on building a GraphQL server with Node.js, comparing it to REST APIs and demonstrating how to reduce over-fetching.
A developer shares ten essential principles for building and managing scalable software platforms, based on lessons from running platforms at scale.
Argues that method chaining should be a core language operator, analyzing its problems in JavaScript/jQuery and proposing a built-in solution.
A quick guide to implementing the Facade design pattern in Swift, demonstrating how to simplify complex subsystems with a clean API.
A Swift developer shares a better approach to naming protocols for testability, focusing on behavior over types.
A guide to implementing custom model binders in ASP.NET Core to handle multipart requests containing both JSON data and file uploads.
Explains the software design principle 'Make impossible states impossible' to improve UI component APIs and state management.
Explores the modular architecture of JUnit 5, detailing its Jupiter, Vintage, and Platform sub-projects and the design rationale.
Explores the advantages of using RPC over HTTP for communication between microservices, focusing on simplicity and avoiding RESTful complexity.
A developer explores a hacky React solution for handling errors in a custom i18n library's 'sorta-curried' API.
Argues against using nested routes in RESTful API design, advocating for simpler, single-resource endpoints with query parameters.
A developer's critique of the complexities and frustrations in implementing and standardizing HTTP clients for microservice communication in Java/Scala ecosystems.
A discussion on the architectural and communication challenges in distributed systems and microservices, focusing on contracts, APIs, and team dynamics.
Explores how hypermedia APIs reduce coupling in distributed systems by minimizing client assumptions, using RESTBucks as an example.
Explains how to customize ASP.NET Core's model-binding conventions for API commands, moving beyond default query string binding.
A critique of pragmatic Java 8 Optional usage, advocating for a stricter approach than the common library design recommendations.
Explores the design decision behind Java's Optional class not implementing the Serializable interface and the reasoning of its creators.
Explores Java's Optional type as a tool for writing intention-revealing code and avoiding null references, part of a detailed series.
A guide to implementing a custom Observable property wrapper in Swift, covering API design, type conversion, and current language limitations.