.NET Annotated Monthly | January 2022
Did you know? Microsoft used the name C# in 1988. This language had nothing in common with the C# of today as it was a variant of the C language, and was discontinued. It wasn’t until 2002 that Microsoft released the language named C# that we know today, with the release of the .NET Framework 1.0.
December is a slow news month on most years, but here are a few highlights to check out.
- Announcing the Plan for EF7
- .NET 6 Networking Improvements
- What’s new for gRPC in .NET 6
- .NET Conf 2021 Recap – Videos, Slides, Demos, and More
Tutorials and articles
Goodies from the month of December.
- Component Disposal in Blazor – Golda at CodeMurals demonstrates why and how to manage resources properly in Blazor apps.
- Some little tips to start studying .NET MAUI and Horizontal & VerticalStackLayout in .NET MAUI – Catch these blog posts and more by Leomaris Reyes on all things MAUI, from tips to layout to all sorts of good things.
- Improving the UX when loading data in Xamarin Forms – XamGirl – Developers often overlook the UX, leaving it to the designers. But we can make better products by paying more attention. Read Charlin Agramonte article to learn how.
- ASP.NET MVC: How to Create Multiple Radio Buttons with CRUD Operations – Asma Kahlid demonstrates this very common activity in MVC apps.
- Astrophotography with Windows, Tiny PCs, and WPF – This is a “far out” post by Pete Brown which integrates astrophotography and programming.
- Cleaner C# code with “smart” using statements and How type deconstruction keeps your C# code clean – Do you want clean code? Then check out Nick Chapsas’ posts discussing the lesser realized ways to keep your code clean.
- Custom JSON Serialisation with System.Text.Json Converters – Steve Gordon shares this insightful post on how to tailor JSON (de)serialization to your needs, with custom JsonConverters.
- What’s the Difference Anyway?! Class, Struct, Record, oh my! – The more recent versions of C# bring some new ways of working with data structures. It’s more than just classes, and the occasional Struct. Calvin A. Allen describes these differences..
- Concurrent Pipeline with .NET Channels – Do you need high performing thread-safe data synchronization in a multi-threaded program? In F#? Then make this post by Riccardo Terrell your go-to post.
- Building a Flexible Deployment System for Grammarly for Windows using F# and AWS Lambda – How does Grammarly build its complex systems? Vitalii Braslavskyi notes the details on their deployment with F# and AWS.
- Use Azure Cache For Redis In AspNetCore Application Using Distributed Cache Technique[.NET6] – When you need caching, you really need it. So head over to Naveen Bommidi’s post demonstrating how to cache ASP.NET Core apps for better performance (and lower costs).
- When to Use Static Classes in C# – For those who wonder when to use a static class, here you go. Post by Code Maze.
- Calling the Microsoft Graph API from WinUI – Alvin Ashcraft teaches how to call the Graph API from WinUI. For WinUI developers, Alvin has recently published a book on the subject. Also be on the lookout for yet another upcoming book from him on WinUI.
- HTMX and ASP.NET Core Swapping Techniques – Our own Khalid Abuhakmeh blogs about HTML and ASP.NET Core.
- Creating an incremental generator and Testing an incremental generator with snapshot testing and Integration testing and NuGet packaging – Catch this excellent 3 part series by Andrew Lock on creating an incremental generator, from start to end.
- C# – Deserializing JSON with quoted numbers – This is a helpful article by Mak about a common activity that gives some developers a lot of grief – particularly JSON with with quotes.
- .NET6 Web API CRUD Operation With Entity Framework Core – Bommidi Naveen goes into depth in this how-to that’s all about WebAPI and CRUD ops. A staple for any ASP.NET developer.
- Create A .NET 5 App To Perform CRUD Operations On Azure Cosmos DB (SQL API) Using EF Core – Another goodie on ASP.NET CRUD ops by Tanuj Gyan, specifically focusing on SQL and EF Core.
- Deep C# – Inheritance – This is closer to a book than blog post! Buckle up and get super deep into inheritance in this post by Mike James.
- Extended Property Patterns in C# – Pattern matching is a feature of the more recent versions of C#, and Bartosz Jarmuż demonstrates how to use these wisely.
- How to Create a BinaryTreeViewer using C#, CSS, & HTML (Code & Algorithm Walkthrough) – Gilad Bar Ilan shows how to build a classic algorithm in this post.
- What can you do in ML.NET with C#? – Many developers haven’t yet looked into ML. So Matt Eland answers this question for us.
- Use calendar, mailbox settings and Teams presence in ASP.NET Core hosted Blazor WASM with Microsoft Graph – This is great for remote teams. Learn how to integrate personal information management and communications apps into Blazor apps with Damien Bowden.
- Document your .NET code with DocFX and GitHub Actions – We all need to do documentation. Dave Murray shows you a great way to automate this.
Related programming tutorials
- Why Do You Need to Move From CRUD to Event Sourcing Architecture? – Do you need event sourcing? Should you convert your CRUD apps over? Savan Kharod answers these questions. Do you agree with the answers?
- How to Transition Your Team from Waterfall to Agile – Yes, indeed. There are still waterfall teams out there since legacy apps still exist. Erica Jamison demonstrates how to go Agile for those who need it.
- How To Get Started With Automated Browser Testing? – Himanshu Sheth gives some nice pointers on ABT, which is often left to Devops or a specialized team member.
- Accessibility for Mobile Developers – Accessibility is important so check out this post on accessibility for mobile devs by Mihir Patel.
- Customize User Registration Experience with Auth0 Actions – Andrea Chiarelli teaches how to use Auth0 to create a smooth experience for users.
Here’s some great advice from a JetBrains coworker to start the new year.
No matter how much preparation you make, it’s not going to be perfect on your first try.— Ebenezer Don (@ebenezerDN) December 3, 2021
The idea is that you do it anyway. Because you can’t improve on something that doesn’t exist. pic.twitter.com/cg7hxh6cif
Some advice for those who are job seeking. Danny says it’s his opinion but this is standard, solid advice.
How to land a job in tech IN MY OPINION— Danny Thompson (@DThompsonDev) November 27, 2021
– Good programming skills
– Strong Linkedin profile
– Your Portfolio site needs to look good.
– Your Portfolio items/GitHub projects should show off your technical abilities.
– Resume that talks about quantifiable achievements and wins
Interesting and cool stuff
- How Disrupting Your Daily Routine Can Actually Make You More Productive – Who would have thought that such a counterintuitive thing could help? Daniel Kenitz did and wrote about it so we can benefit. Check it out.
- Reclaim Tons of Disk Space by Compacting Your Docker Desktop WSL 2 VM – Get that same great feeling as when you delete a large block of code with these quick cleanup commands by Nick Janetakis.
And finally, the latest from JetBrains
Here’s a chance to catch up on JetBrains news that you might have missed:
- ReSharper and Rider 2021.2.3 have landed
- Cross-platform Development for Unreal Engine With Rider, Now Also on Linux
- How Rider Hot Reload Works Under the Hood
- Rider 2021.3: Support for .NET 6 SDK, Redesigned Main Toolbar and Debug Tab, and New Problems View Tab
- ReSharper 2021.3 Brings Visual Studio 2022 Support, More C# 10 Features, and Improved Support for Nullable Reference Types and C#!
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 or email firstname.lastname@example.org.
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…