David Guida David Guida

David Guida

my personal thoughts about life, coding, the universe and everything.

  • About me
  • Talks
  • Store

Contact me

Do you need coaching, advising or 1:1 consultations? Let's talk!

Get a copy of my last Booklet!

Building Resilient Systems Made Easy

Pluralsight IQ C# Expert
Pluralsight IQ ASP.NET Core Expert
.NET (4) .NET Core (59) .NET How Tos (1) 2D (2) API (1) ASP.NET Core (35) Actor Model (2) Aggregates (1) Azure (17) Azure DevOps (2) Azure Functions (6) Azure Service Bus (1) Blazor (33) C# (3) CQRS (2) Cloud (2) CosmosDB (2) D&D (2) DDD (8) Design Patterns (7) Docker (3) Emulation (3) Event Store (3) Gamedev (15) GitHub Pages (1) Google Cloud Platform (1) Grafana (2) Healthchecks (1) Kafka (6) Loki (2) MediatR (1) Messaging (1) Microservices (2) MongoDB (5) OpenSleigh (8) Polly (1) RabbitMQ (1) Ramblings (2) Reliability (2) Retrogaming (3) Sagas (4) Security (1) Serilog (1) Serverless (1) SignalR (2) Software Architecture (6) TDD (1) WordPress (1) authentication (1) ci/cd (1) databases (2) design patterns (28) dotnetcore (8) entityframework (1) event sourcing (5) kubernetes (1) logging (1) message queues (10) microservices (14) nservicebus (2) programming (25) rabbitmq (7) refactoring (1) software architecture (23) testing (8) tips (1) video (1) web api (1)

2025 © David Guida

How to implement Producer/Consumer with System.Threading.Channels

How to implement Producer/Consumer with System.Threading.Channels

What’s this “Producer/Consumer” thing? It’s around us, everywhere. Every time you see some kind of workflow with multiple serial steps, that’s an example. A production line in a car factory, a fast-food kitchen, even the postal service. So why do we care about it? Well that’s easy: in almost every...

2020, Feb 12   —  4 minute read
# design patterns # dotnetcore # programming

Back to the ’74 with a 8080 emulator – part 3: running on OSX

This is probably going to be one of my shortest posts. Just a quick update on the 8080 emulator I started writing a while ago. When I started the project I was working on a Windows machine. These days however I went back to my lovely Macbook pro. I still...

2020, Feb 05   —  2 minute read
# dotnetcore # programming
Improving microservices reliability – part 3: Outbox Pattern in action

Improving microservices reliability – part 3: Outbox Pattern in action

And here we are for the third and last part of the Series! Last time we talked about the Outbox Pattern and it’s now time to see it in action. The main idea is to persist in the same transaction the Entity data plus the Messages that will be eventually...

2020, Jan 20   —  3 minute read
# design patterns # dotnetcore # entityframework # microservices # software architecture
Improving microservices reliability - part 2: Outbox Pattern

Improving microservices reliability - part 2: Outbox Pattern

Welcome back to the second part of the Series. Today we’ll talk about the Outbox Pattern. Just to recap, last time we discussed how the 2-Phase-Commit technique can help us with distributed transactions. However, it may lead to unwanted side effects and performance issues. So is there any other approach...

2020, Jan 13   —  3 minute read
# design patterns # nservicebus # programming # rabbitmq # software architecture

    Page 27 of 65