.NET Annotated Monthly | December 2021
We’re wrapping up 2021 and heading into a brand new year. Many peoples around the world celebrate one holiday or another very soon, so to those celebrating we wish the happiest of holidays and extend the warmest of greetings for 2022! 🎉
Did you know? The term “WiFi” stands for “Wireless Fidelity”, and while the concept of WiFi is older than the 1970’s, the first implementation was in Hawaii in 1971. Nonetheless, most companies and homes would remain entangled in wires for the next few decades until wireless technologies have become affordable to the masses.
- Welcome to C# 10
- Announcing .NET 6 — The Fastest .NET Yet
- Announcing .NET MAUI Preview 10
- Announcing YARP 1.0 Release
- F# 6 is officially here!
- Announcing dotnet monitor in .NET 6
- What’s new in Windows Forms in .NET 6.0
- What’s new in ASP.NET Core 6.0
Tutorials and articles
- Securing ASP.NET Minimal Web APIs with Auth0 – Time to learn how to secure that hot new ASP.NET tech, minimal APIs. Post by Pablo Cibraro.
- ASP.NET Web API: Benefits and Why to Choose It – Nice post by Rahul Panchal reviewing the features of ASP.NET Web API and when they may fit your scenario.
- Learn Live – Build a web app with Blazor – Video by Jeff Fritz & Jon Galloway where they build a web app in Blazor and you can follow along.
- Difference Between “throw” vs “throw ex” in C# – Code Maze distinguishes between the two. There’s a better way to throw exceptions (shown here) and a lot of devs aren’t aware of it.
- How to write “smarter” enums in C# and 40% faster JSON serialization with Source Generators in .NET 6 – Nick Chapsas produces a lot of top-notch learning materials on his YouTube channel. Do watch these and the many others that has published. You’ll be glad you did. You’ll learn so much.
- What’s New in C# 10: Easier Lambda Expressions – Yay! Lambdas just got easier and Jason Roberts explains how.
- What Was Added To C# 10 – Read this post by Joseph Guadagno and see what’s new in C#.
- Dependency Injection in Minimal APIs in .Net 6 – Yes, you will likely need DI in minimal APIs, as it is a core tenet for making software loosely coupled. Paul Michaels shows you how.
- A .NET 5.0 Guide: From Idea To NuGet Package – Khalid Abuhakmeh walks you through the lifecycle of software when publishing to NuGet.
- .NET Development on the M1 Mac – Maarten Merken reviews .NET on the M1 Mac.
- Simple Steps to Upload Files to Azure Blob Storage in Blazor App – This is a nice walk through by S. Gobalakrishnan demonstrating a common activity with Azure Blobs: uploading stuff.
- Theme an ASP.NET MVC website with custom views – Steve Fenton shows a nice way to apply themes to a website that is built on MVC.
- Running a .NET 6 Service on a Specific Port – This is super handy and the kind of post you bookmark if you don’t often change the defaults from your IDE. Post by Jeremy Clark.
- Discovering new C# String Pattern Matching Features – Rick Strahl blogs about the latest and greatest in C#. This is good everyone can use.
- A journey towards SpeakerTravel – Building a service from scratch – Maarten Balliauw built a complete travel system and wrote down how it all happened. Learn what works and doesn’t from those who’ve been there.
- Could .NET Source Generator Attacks Be A Danger To Your Code? – Good security means looking anywhere that there is a possible opening for a hacking attempt. Steve Collins reflects on this question and how it applies to source generators.
Related programming tutorials
- Is SOLID Still Relevant in Modern Software Architecture? – Great question! Is it? I’ve often wondered that myself. Software evolves and changes so fast that Vasco Veloso’s question is timely. Does SOLID need an update?
- Tailwind CSS Explained, and How to Install Version – Many folks are migrating over to Tailwind, for obvious reasons as it’s a great CSS library that makes CSS more straightforward to use. David Morales explains it all in his post.
- An Introduction to Event Driven Microservices – It’s true that most companies don’t have all their systems converted to microservices. But if you’re considering it, then check out this post by Joydip Kanjilal. It’ll help guide you.
- Microservices — the Letter and the Spirit – A bit more on microservices and how they are used and abused. Post by Alaa Tadmori.
- SQL SERVER – List Databases Where User Has DB Access – Pinal Dave shows some useful SQL to have when you need to see what’s going on with DB Access.
Read through the entire thread for some good career advice.
This week marked 7 years since getting my first dev job at 28 🎉— Sam Julien (@samjulien) November 19, 2021
Looking back, years 2-3 were the hardest because I wasn’t quite a beginner anymore but lost on how to improve.
🧵 Here are some lessons I learned that helped:
Interesting and cool stuff
- Software development pushes us to get better as people – Jessica Kerr makes a great case that “There is an alignment between writing really good software and being good people together”. It’s true. Software is more about people than it is about code.
- Push Back: How Women in Tech Overcome Imposter Syndrome – Jennifer Riggins
- Discover Your Most Productive Hours With The Biological Prime Time Method – Kat Boogard writes up a science-backed how-to demonstrating how you can maximize your time to be the most productive you can.
- Let’s Talk Design – How to Speak to a Designer as a Developer – This is a skill every developer absolutely, positively needs, yet few seek out. So do yourself a favor and check out this post by Ania Kubow on the topic.
- Complexity is killing software developers – Yes, indeed. Scott Carey explains the complexity phenomenon in software. This is especially poignant for those of use who have been in the business for decades and started with languages such as COBOL, RPG, or another mainframe language.
- Easy Parse – This may come in handy for many. Check out this new cool “Grammar-based Plaintext Parser with Fluent Builder” by Zoran Horvath.
Oh yeah. We all feel this way about some legacy code bases.
And finally, the latest from JetBrains
Here’s a chance to catch up on JetBrains news that you might have missed:
- ReSharper 2021.3 released! Visual Studio 2022 support, more C# 10 features, improved support for nullable reference types, new gutter marks, and other updates.
- dotCover, dotMemory, dotPeek, and dotTrace 2021.3 releases!
- Rider 2021.3 released! Support for .NET 6 SDK, redesigned main toolbar and Debug tab, and new Problems View tool window.
Blog posts & Webinars
- How Rider Hot Reload Works Under the Hood
- Meet Rider 2021.3’s new Problems View
- Global Usings – A Look at New Language Features in C# 10
- Rider 2021.3 Brand New Main Toolbar
- Wargaming Uses Rider for Unreal Engine to Develop Its New Game
- Caller Argument Expressions – A Look at New Language Features in C# 10
- Free Your Services From Vendor Lock-in with OpenTelemetry – Webinar Recording
Sharing is caring! So share your content with other readers. Don’t keep it to yourself! Send a Tweet or email with tips or content for publication in future newsletters! Share with a comment here, email the .NET Advocates at firstname.lastname@example.org, or drop me a message via Twitter.
Subscribe to Blog updates
Thanks, we've got you!
A Second Set of Bug Fixes: ReSharper 2023.2.2 and Rider 2023.2.2 Are Here!
ReSharper and Rider have just received their second set of bug-fix updates for the 2023.2 release! Let’s take a look at the most important issues that have been resolved in this update. ReSharper For the full list of resolved issues, please refer to our issue tracker. …
ReSharper 2023.3 Early Access Program Begins!
Hello everyone, The Early Access Program for ReSharper 2023.3 has started! Before you download the first EAP build, let’s take a look at what is in store for you. Working with aliases With this first EAP build, we are introducing support for C# 12’s ability for alias directives to refer…
Rider Kicks Off the Early Access Program for the 2023.3 Release!
The Early Access Program for Rider 2023.3 has just begun with the release of the Rider 2023.3 EAP 1 build. There are several ways to get your hands on it: Download and install them from our website. Use the Toolbox App. Install this snap package from the SnapCraft store if you’re using a c…
Eager, Lazy and Explicit Loading with Entity Framework Core
Entity Framework Core (EF Core) supports a number of ways to load related data. There’s eager loading, lazy loading, and explicit loading. Each of these approaches have their own advantages and drawbacks. In this post, let’s have a quick look at each of these ways to load data for navigational prope…