Treating a TCP socket as a separate message queue is one of the riskiest assumptions an engineer can make. TCP is an ongoing byte stream. It disregards the logical limits of your application. The trust barrier breaks down when a backend parser correctly separates several commands from a single TCP buffer but neglects to isolate…
Author: Pablo Francesco
ASP.NET Tutorial: How to Use an Example of a Custom Model Binder in ASP.NET Core?
The process of converting incoming HTTP request data (such as query string, route values, or request body) to action method parameters in the ASP.NET Core Web API is known as model binding. By default, ASP.NET Core offers robust built-in model binding that functions effectively in the majority of situations. However, default model binding may not…
How to Use xUnit to Implement Unit Testing in.NET with an Example?
Writing code is only half of the work involved in modern software development. It’s equally crucial to make sure the code functions properly in many situations. This is where xUnit-based unit testing in.NET is essential. Developers can test individual components (methods, classes, or functions) separately via unit testing. It enhances code quality, increases confidence when…
SOLID Principles in Object-Oriented Programming: An Overview with Actual Examples
Writing clear, scalable, and maintainable code is crucial to modern software development. Unstructured code becomes challenging to maintain, debug, and expand as applications get larger. This results in more errors, slower development, and technological debt. Developers use a set of design guidelines known as SOLID principles in object-oriented programming (OOP) to address this issue. SOLID…
Using Keycloak as a Unified IAM Broker to Address Federation and SAML Issues with Duende IdentityServer
Modern enterprise applications rarely rely on a single identity provider. Organizations often integrate with multiple external systems such as partners, SAML providers, and OIDC providers. Managing these integrations directly within an application or a single IAM system can quickly become complex, brittle, and difficult to scale. In our implementation, we initially used Duende IdentityServer as…
