Apache Kafka in 1 hour for C# Developers
Are you a Developer curious about Apache Kafka? Have you never had the time to dig into it?
No problem. In this session, we will dig into it. We will go on a journey to unveil how I’ve built an event-driven system to power my Patreon account using Kafka. We will focus on the parts you need to know to build Event-Driven Applications. Explore the basic concepts and recommendations. And learn about how to use C# and KafkaFlow, an Open Source framework for .NET.
.NET gRPC - deep dive
With an increasing need for scalability and performance dictated by the modern web, it becomes harder and harder to choose an API paradigm that is suitable for service-to-service communication.
While the classical models still work and have their own merits, some of them rely heavily on documentation, extensive coordination between teams or code-sharing. We use shared libraries, and over time our projects become intertwined with dependencies. In these cases, we need something to untangle those and reduce coupling. Welcome gRPC.
Optimizing your HttpClient usage
HttpClient is a core class in .NET that developers frequently use, either directly or through proxy libraries. However, do you truly understand the full extent of this powerful tool? Did you know that different types of clients have distinct best practices when it comes to making HTTP calls?
In this deep-dive session, we will explore the best practices, advanced scenarios, and performance optimization techniques to ensure you get the most out of HttpClient in your applications. Beyond HttpClient, we will also discuss libraries that extend its capabilities, such as implementing the circuit breaker pattern.
The 1 Trillion Pixel Maze: My Decade-Long Obsession with C# Optimization
For the past 13 years I’ve been working on what started as a small maze generator, initially planning to give a presentation on it about a decade ago.
Well… here we are… But as they say, better late than never.
Join me on my “way over the top” adventure to be able to create a 1,000,000,000,000 pixel maze. I had to rethink maze generation algorithms, tackle memory optimizations, and relentlessly pursue the most obscure micro-optimizations.
Safety first! Low-level C# without the unsafe keyword
For a side project, I converted DooM from C to C#. Having to deal with strange file types, alternative ways of (re)allocating memory, data structures being passed around as void* pointers and the likes, it’s tempting to use unsafe code in C#. Turns out, that’s not needed!
In this session, let’s look at how C translates to modern C#, and how C# adds safeguards to avoid shooting yourself in the foot.
ASP.NET Core Authentication and Authorization - the Key Concepts
Authentication and authorization are fundamental building blocks of most modern applications, but the number of available options and configuration choices can make them surprisingly easy to get wrong. This session focuses on the core concepts and practical considerations that help you understand what is happening under the hood and make informed choices when building your applications.
Based on the experience of hundreds of customer projects Anders shares his recommendations for authentication and authorization with Asp.Net Core.
Let’s catch up with C#! Exciting new features in C# 9 to C# 14!
With every iteration of C#, we get more and more features that are meant to make our lives as developer a lot easier.
Let’s explore what’s new in C# 9, 10, 11, 12, 13 and 14!
We will look at how the language has changed and why these changes to the language will make us better C# developers, with less bugs in our code.
We will cover the following features:
.NET Testing Techniques You Didn’t Know You Needed
Testing is hard. Testing the right things in the right way is even harder. In this talk, I’ll show techniques that will help you write better, more productive tests.
We’ll explore mutation testing, which checks whether your tests actually catch bugs instead of just always passing. Property-based testing lets your code generate hundreds of input variations automatically, exposing edge cases you wouldn’t have thought of. And for complex data structures or legacy code, snapshot testing can capture outputs and catches unexpected changes over time.
Everything a .NET developer needs to know about configuration & secret management
App configuration. Settings. Secrets. We have all dealt with these things in our code without thinking much about it.
But how does this actually work in .NET and how do you make the most of it? And more importantly, how do you store them correctly and prevent leaking secrets?
This talk will teach you how configuration works in .NET, what you should and shouldn’t do, and how you can use the power of the cloud to keep your secrets safe!