dotnetSolving the Advent of Code 2020 with F#Each year I participate in the Advent of Code challenge. Yes, it's an advent calendar for geeks! I also give myself the challenge to complete it in F#
dotnet.NET 5 & C# 9 with me in the VisualStudio TalkShow Podcast (FR)Retrouvez-moi dans le VisualStudio Talk Show où on discutera de .NET 5 et C# 9! Nous ferons aussi un survol de l'histoire de .NET depuis ses débuts jusqu'à aujourd'hui.
dotnet.NET 5 - The breaking changes you need to know about.NET 5 is here, and there's also some breaking changes coming with it that you need to be aware of.
ConferenceMy full recap of Microsoft Ignite 2020 for devsAll you need to know about Microsoft Ignite 2020, must-watch sessions, announcements, and more
CSharpC# 9.0: Target-typed expressionLearn all about the new target-typed capabilities in C# 9.0. It helps simplify your code and make it more readable.
CSharpC# 9.0: Init-only propertiesObject initializer is one of the most loved features of C#. However, it comes with some annoying limitations. Fortunately, it's getting fixed in C# 9.0 with init-only properties.
CSharpC# 9.0: RecordsImmutability as always been challenging to implement properly in C#, or at least was very painful. C# 9.0 introduces the concept of records which will greatly simplify all of that.
dotnetC# 9.0 PreviewMicrosoft is doubling down in the evolution of the C# language. They released C# 8.0 last year with many new features, and there's already a preview of C# 9.0 in the making.
dotnetA big thank you for my MVP awardI'm thrilled and humbled to receive my first MVP award in the Developer Technologies category.
dotnetC# 9.0 Top-Level programsLearn all about the new simplified way to write top-level program statements.
dotnetThe code smell every project suffers fromDiscover how to fix a code smell (primitive obsession) that plague almost every project.
DockerIntroduction to network communication between Docker containersLearn the basics of Docker virtual networks, how to diagnose connections issues and how to fix them.
TestNo padding for input letter row | Solving the diamond kata with property-based testingDiscover a new kind of property that will reinforce our test suite and help us get to a working implementation of the diamond kata
dotnetSymmetry around the horizontal axis | Solving the diamond kata with property-based testingIn this article, we'll inspect our diamond to find some symmetry and make it a property based test.
dotnetSymmetry around the vertical axis | Solving the diamond kata with property-based testingIn this article, we'll inspect our diamond to find some symmetry and make it a property based test.
dotnetOutside space symmetry | Solving the diamond kata with property-based testingIn this article, we'll try to find some patterns in the global shape of our diamond, specifically with the spaces surrounding each row.
dotnetHeight equals Width | Solving the diamond kata with property-based testingIn this article will try to find some patterns in the global shape of our diamond.
dotnetMy full MS Build 2020 recapDiscover my notes on MS Build 2020 in this exhaustive recap of everything I was able to watch.
TestInput generators in property-based tests with FsCheckDiscover how to write your first property-based test using FsCheck
dotnetHow to get started with Property-based Testing in C#Discover how to apply TDD with Property-Based testing while solving the Diamond Kata
TestHow many unit tests are good enoughOne of the biggest problems with unit testing is to know for sure when we have enough tests to be confident to release in production.
dotnetEverything Wrong With The State of Unit Testing TodayExample-based testing is simple but tends to fall short in some scenarios. Discover an alternative approach: Property-based testing.
dotnet5 tips to improve your productivity in C# 8.0Microsoft added a lot of new syntax goodies in their latest release of C#, namely: index from the end, range operator, null coalescing operator, using variables, verbatim string with interpolation.
dotnetWhat are default interface methods in C# 8.0?In this post, we'll explain what are Default interface methods, show a few examples and provide guidance to avoid common pitfalls.
dotnetC# 8.0 Indices and rangesCompared to other languages, C# was way behind in capabilities to handle data efficiently. Well, those days are over now. Microsoft just improved the C# syntax, making it easier for developers to manage data in arrays.
dotnetAsynchronous streams in C# 8.0Asynchronous streams are a new way to iterate over a stream of data. It was previously possible to do this synchronously in C#. Now you can do it even if the stream producer is asynchronous! Woot, woot!
dotnetWhat's pattern matching in C# 8.0?Is it me or Functional programming (FP) seems to be trending lately? FP languages like Haskell, Elixir and F# are stronger than ever and large frameworks try to adopt a more functional approach. Even C# tries to include functional constructs in the language.
dotnetC# 8.0 Nullable Reference types are here!C# 8.0 just rolled out with a lot a new features. One of the most important one is the support of nullable reference types (NRT). Lot of words that doesn't seem to explain what it does. I mean aren't all types (except value types) already nullable?
dotnetBounded-Context | Our Journey to World class DevOpsIf microservices are the foundation of our DevOps practices, Bounded-Contexts are probably the glue that holds it all together.
dotnetDeploy Ghost blog with Azure DevOps - Part 2Let's build an Azure DevOps pipeline that will automatically deploy Ghost Blog
dotnetWhy null in C# is so badIn my career, more than half of the bugs I encountered were related in a way or another to a null value being propagated where it shouldn't have been—therefore resulting in unexpected behaviors or a nasty NullReferenceException. The problem Why is null such a problem in C#? Well... the null problem (a.k.a the billion-dollar mistake) breaks many assumptions you can make about the programming language. In more theoretical terms, it breaks the Liskov substitution principle. (One of the famous SOL
dotnetSimplified approach to the Decorator pattern with AutofacThe Decorator pattern is an elegant way to compose behavior without changing existing code. It makes the separation of concerns very clear between each class. Everything is then very easy to test and reuse.
dotnetYou need these tools to be more efficient at Testing with AutoFixture and FakeItEasyDiscover a simplified approach to write unit tests to be more efficient.
SecurityHow to mix Security and Productivity with Service FabricService Fabric is a great framework, but yet a complicated one. Often, when we try to improve the security of the cluster, we end up adding a lot of complexity in our development pipeline. The local development experience become a nightmare and there's a big lost in productivity for team. But! It doesn't have to be that way. Productivity and security could play well together if you think about them from the start. Let's take a look at how we can improve our cluster security following all the in
AzureAzure Application Gateway for Micro ServicesApplication Gateway is a level 7 load balancer which means it understands HTTP and can route traffic according to a specific URL pattern
dotnetSemantic Logging with .net EventSourceApplication logging is the kind of software problem that has been solved so many times, in so many ways. It makes it really hard to choose THE right framework to use when starting a new project. Sometimes it almost feel like coding your own framework will be a good idea (Please don’t do that). The first thing you should ask yourself is what are your requirements. Try to think about what will the development, testing, and debugging experience be like. How will you search through your logs to find