C# Records have been out for a while now and I purposely avoided jumping on the band wagon as all the other bloggers out there in proclaiming how amazing they are. In my opinion, C# Records have been out just long enough for developers to start using them and unfortunately also misusing them. I am encountering a number of situations where Records are being used and it makes no sense why and none of the functionality they provide is being used.
GitHub Actions enables the user to create custom Software Development Life Cycle (SDLC) workflows in their GitHub repositories. Enabling the repository owner to write individual actions and then combine them to create a custom workflows of their choice for their project. These workflows could be anything that software developers would want to typically automate in their day to day processes.
exploring how to make use of MediatR Pipeline Behaviors to address cross-cutting concerns like caching, logging, validation, security and transactions
Different types of data structures are suited to different applications and some are suited to to highly specific types of tasks. The most commonly found data structures most software developers will be familiar with are Queues and Stacks.
CQRS (*Command Query Responsibility Segregation*) specifies that
different data models should be used to for updating the database and read
from the database. Command and Query are two operations which infer read and
MediatR Pipeline behaviours were introduced in Version 3, enabling you execute validation or logging logic before and after your Command or Query Handlers execute, resulting in your handlers only having to deal with Valid requests in your CQRS implementation
JetBrains Rider provides Docker support using the Docker plugin. The plugin is bundled and enabled by default. For more information. In this post we’ll walk through the process of running a docker compose files in Rider.
Mediator pattern is used to reduce communication complexity between multiple objects or classes. The pattern provides a mediator class which handles all the communications between different classes and supports easy maintenance of the code by loose coupling.
Converts the interface of a class into another interface this client expects.
we are going to take a look at installing Seq and configuring our application to use Serilog to send our logs and use Seq to review our log details
how to implement services and invoke them from other applications, which can be either aware of Dapr as they rely on its SDK or unaware of the presence of Dapr as they just invoke a local HTTP endpoint
The simplicity of the .net core packing and publishing tool, enables you simply use what you’re already doing to make doing what you’re already doing faster. No need to learn a new complex template language.
ASP.NET Core includes some basic logging providers, but to get the most out of it you’ll need to plug in a full logging framework like Serilog – simple .NET logging with fully-structured events.
Dapr is an event-driven, portable runtime created by Microsoft as an open source initiative. Due to the fact that Dapr is event-driven it plays an important role in microservices as the applications can be designed to efficiently react to events from external systems or other parts of the solution, and also produce events in order to inform other services of new facts to continue their processing.
Logging and monitoring is an essential strategy when developing Microservices, it will help your team to resolve issues and bugs quicker. The issue is that developers generally don’t like polluting their code base with logging statements. Find out how to achieve a great balance by making use of Attributes and Middleware.
Cake is a build automation system for .NET Developers to script their build processes using a C# Domain Specific Language (DSL). In this post, we’ll explore the benefits of Cake and its major features with a concrete working example to achieve a flexible, maintainable, automated build process.
MVC Controllers are essentially an anti-pattern. They’re dinosaurs. They are collections of methods that never call one another and rarely operate on the same state. They’re not cohesive.
How to guide to enable EF Core to auto generate UUID/GUID for postgreSQL databases
developing software and working with a build or integration server, there are certain conventions that one should follow when making updates to the shared codebase
The singleton pattern is a design pattern that restricts the instantiation of a class to one object.