Discriminated Unions With OneOf


Posted on Monday, 17 June 2024

Before I try and do a very poor job of explaining what a discriminated union is, I can point you to a documentation on it for F#. Discriminated Unions documentation and a quote taken from said documentation.

Read

Keyed Services in .NET 8


Posted on Friday, 14 June 2024

Keyed services allow you to register multiple implementations of a service with a key and resolve the desired implementation at runtime based on that key. This enhances the flexibility and maintainability of your application.

Read

Building distributed applications with MassTransit


Posted on Sunday, 12 May 2024

MassTransit is a mature and feature-rich messaging framework that facilitates communication between distributed components using messaging patterns such as publish/subscribe, request/response, and message routing. Built on top of .NET, MassTransit abstracts away the complexities of message queuing systems like RabbitMQ, Azure Service Bus, and Amazon SQS, enabling developers to focus on application logic rather than infrastructure concerns.

Read

Load testing Event Driven Microservices with NBomber


Posted on Sunday, 28 April 2024

In this blog post I'll be exploring how to load test a event driven microservice. The code I use in this post can also be found in the Regis Pay github repository. I'll also be using this microservice example for running the load tests against.

Read

.NET Event Driven Microservice (Part 3) - Architecture Overview


Posted on Friday, 26 April 2024

This is part of a multi part blog post where I go over an example event-driven microservice project, using a fictional payment processor named Regis Pay as an example. To see the previous blog post click this link on Event Sourcing.

Read

.NET Event Driven Microservice (Part 2) - Event Sourcing


Posted on Monday, 22 April 2024

This is part of a multi part blog post where I go over an example event-driven microservice project, using a fictional payment processor named Regis Pay as an example. To see the previous blog post click this link on the transactional outbox pattern.

Read

.NET Event Driven Microservice (Part 1) - Transactional outbox pattern


Posted on Friday, 12 April 2024

This will be the start of a multi part blog post where I go over an example event-driven microservice project, using a fictional payment processor named Regis Pay as an example.

Read

Creating a CLI tool with dotnet & Spectre.Console.Cli


Posted on Sunday, 17 March 2024

When building CLI tools it can feel like there is a lot of ceremony in creating command line argument parsers and setting up your project just to get to the stage where you start coding your feature/business logic. This is where Spectre.Console.Cli comes in. It's a very opinionated library for paring command line arguments and structuring your project using established industry conventions.

Read

Testing powershell scripts with Pester


Posted on Saturday, 17 February 2024

In the realm of PowerShell scripting, ensuring that your scripts function as expected is crucial. With the introduction of Pester, a testing framework for PowerShell, developers can automate the testing process, ensuring code reliability and reducing the likelihood of bugs in their scripts. In this guide, we'll explore the basics of Pester and demonstrate its usage through a practical example.

Read

Azure Pipelines with Stage Templates


Posted on Saturday, 17 February 2024

Optimizing pipelines for efficiency and scalability is paramount. Azure Pipelines, with its YAML-based configuration, offers a robust framework for orchestrating complex workflows. In this blog post, we'll explore the advantages of harnessing YAML templates specifically for defining stages in Azure Pipelines, using a practical example to illustrate their effectiveness.

Read

Exploring Software Development Techniques & Methodologies


Posted on Friday, 9 February 2024

I was perusing over some of my old blog posts because I was curious what I had written before. The one blog post that stood out most to me was top development books, not because I thought it was great, but because I had mentioned certain books that I knew had a polarizing effect on people, like Clean Code: A Handbook of Agile Software Craftsmanship from "Uncle Bob" although at the time I was unaware.

Read

5 steps for publishing a dotnet tool to nuget.org


Posted on Monday, 5 February 2024

In this blog post I'll go over the steps on how to publish a dotnet tool on NuGet.org. Thanks to NuGet.org, the process of publishing a .NET tool has been streamlined for simplicity and efficiency allowing developers to easily install the dotnet tool using the dotnet tool install command.

Read