or subscribe with
Join 20,400+ readers for one email each week.
Digests » 363
Open Source Uno Platform lets you build single-codebase applications for Windows, WebAssembly, Linux, macOS, iOS and Android. Fluent, Material and Cupertino design included in-the-box. Try now via 3 min step-by-step tutorial.
this week's favorite
This is the first article in a series about building a .NET application using a modular monolith architecture. The aim of this architecture is to keep the simplicity of a monolith design while providing a better structure so that as your application grows it doesn’t turn into what is known as “a big ball of mud” (see the original article which describes a big ball of mud as “haphazardly structured, sprawling, sloppy, duct-tape-and-baling-wire, spaghetti-code jungle”).
Writing code is hard. Writing asynchronous code is even harder. Luckily C# provides us with the `async` and `await` keywords to make asynchronous programming a little easier. This is the first of a series of posts in which I'll be going over writing asynchronous code in C# as well as a bit into the internals of how it works under the hood.
In my previous post I showed how to create a Simple Moving Average calculator. The implementation was very simple, so it was conceptually easy to follow, but had a few limitations. In this post, I address some of those limitations to make the implementation thread-safe and to separate the updating of the average from the fetching of the current value.
ASP.NET Core MVC uses number of built-in filters like Authorization, Resource, Action, Exception, and Result filters. Filters help you to remove repetitive code by injecting them at certain stages of the request pipeline.
In this article, we are going to discuss pattern matching, introduced in C# 7.0 and improved in C#8.0 and C# 9.0. This article can be very useful for beginners, intermediates, and professionals.
Stream is hiring in Boulder and Amsterdam. Apply now!