Getting started with GitHub Actions

In a previous post, we started to prepare the build pipeline for a new library, using NUKE. In this post, we’re going to continue that work, setting up continuous integration, running the build with GitHub Actions when changes arrive.

December 22, 2020 · 6 min · 1122 words · João Antunes

Going all-in with nullable reference types

I know I’m late to the party, but just recently had the opportunity to start using nullable reference types more seriously, so thought of gathering the first steps taken to go all-in with it.

November 28, 2020 · 9 min · 1763 words · João Antunes

.NET Conf 2020 and .NET 5 links

.NET Conf 2020 is done and .NET 5 is finally here! Information about this release is spread across a bunch of blogs, videos and whatnot, so I thought of grabbing a bunch of links and put them in a post for quick reference.

November 15, 2020 · 2 min · 246 words · João Antunes

Setting up a build with NUKE

Let’s take a look at NUKE, a cross-platform build automation system with C# DSL. We’ll use it to define the build for a new library that will eventually make its way to NuGet.

October 24, 2020 · 7 min · 1378 words · João Antunes

Shaking things up a bit - ASPF02O Outro

Almost two years have passed since I started the “ASP.NET Core: From 0 to Overkill” series. It’s time to shake things up a bit 🙂.

September 21, 2020 · 3 min · 541 words · João Antunes

Some comments, tips and rants about my path to Kubernetes certification

Sharing my experience about my path to learn about Kubernetes and prepare for the Certified Kubernetes Application Developer (CKAD) exam.

September 7, 2020 · 13 min · 2589 words · João Antunes

Event-driven integration #6 - Publishing events (feat. Apache Kafka) [ASPF02O|E045]

In this episode, we implement event publishing to Apache Kafka from the auth service, making use of Confluent’s .NET client package.

August 18, 2020 · 11 min · 2264 words · João Antunes

Microservices and correctly built distributed systems

Microservices are all the rage for some time now, but are we using the right foundations to create them? In this post, we’ll look into a common design issue in distributed systems.

July 15, 2020 · 5 min · 1022 words · João Antunes

Event-driven integration #5 - Quick intro to Apache Kafka [ASPF02O|E044]

In this episode, we briefly introduce Apache Kafka, as we’ll use it to implement our event bus. We’ll focus on our specific use case, as Kafka can be used in a variety of scenarios. We’ll keep it in a developer’s perspective, not going much into more infrastructural subjects.

June 9, 2020 · 11 min · 2266 words · João Antunes

Event-driven integration #4 - Outbox publisher (feat. IHostedService & Channels) [ASPF02O|E043]

In this episode, we’ll implement the outbox publisher, or better yet, two versions of it, one better suited for lower latency and another for reliability. As we continue our event-driven path, this will be a good opportunity to introduce a couple of interesting .NET Core features: IHostedService (and BackgroundService) and System.Threading.Channels.

May 7, 2020 · 21 min · 4397 words · João Antunes