.NET Tools
Essential productivity kit for .NET and game developers
.NET Annotated Monthly | November 2021
Did you know? There is a difference between a parameter and an argument. Many programmers use them interchangeably, but they have distinct definitions in formal computer science. In short, a parameter is what is in the definition of the function, while the argument is the data that is passed into the function at runtime.
.NET news
October has been busy at Microsoft. Here’s the latest news. 📰
- .NET Hot Reload Support via CLI
- Update on .NET Hot Reload progress and Visual Studio 2022 Highlights
- What’s new in F# 6
- Contributing to .NET MAUI Community Toolkit
- Announcing .NET 6 Release Candidate 2 and ASP.NET Core updates in .NET 6 Release Candidate 2
- Announcing .NET MAUI Preview 9
- ML.NET Updates & Announcing Notebooks in Visual Studio
This Month’s Pick
🧰 My Bespoke JetBrains Toolbox Configuration (compositecode.blog) – This is a great review by Adron Hall detailing what the JetBrains Toolbox app can do for you, as well as some helpful configuration settings.
Tutorials and articles
.NET tutorials
- Building a middleware pipeline with WebApplication – Andrew Lock has created a series describing how to work with .NET 6’s new
WebApplication
object, what it’s all about, and how it is different than previous hosting models. (7 part series so far) - New ASP.NET Minimal Templates – In this video session, the ASP.NET Monsters discuss and show how to use ASP.NET minimal templates.
- The Future of the .NET Foundation and .NET OSS – Aaron Stannard wonders what the future beholds for .NET OSS projects.
- Can we trust Microsoft with Open Source? – Folks have been criticizing Microsoft’s treatment of OSS contributors as well as .NET Foundation members. Here’s a bit more on that by Dustin Morris Gorski.
- Funcaster – Roman Provazník “Serverless .NET solution for hosting your podcasts with (nearly) zero costs using Azure Functions and Azure Storage Account.”
- Binary Data Transfer on Azure Functions via OpenAPI – At some point most programmers need to use binary data. Learn the basics of binary but in Azure Functions with Justin Yoo’s post.
- Sorting large CSV files by multiple columns using C# – Programmers are forever shuffling data around, and sorting is a part of working with data. However, large sorts and sorting multiple items can make for complex algorithms but Josef Ottosson breaks that down for us.
- Everything That Every .NET Developer Needs to Know About Disposable Types: Properly Implementing the IDisposable Interface – Knowing how
IDisposable
works is crucial for those who need to manage memory in their software. Post by Dave McCarter. - Selenium C# MSTest Test Automating Angular, React, VueJS and 20 More – Anton Angelov covers all the technologies that you can use for automated UI testing with Selenium.
- Generate ASP.NET Core OpenAPI Spec At Build Time – A nice tutorial in which Khalid Abuhakmeh demonstrates how to generate OpenAPI specs at built time in ASP.NET.
- Fable – Write Front-End Apps For The Web In F# – Fable is a F# to JavaScript compiler, so that makes web development significantly more appealing for F# developers. Nikos Vaggalis shows what you need to know to start with Fable.
- Pattern Matching in C# for Beginners – Sowmiya V covers the basics of pattern matching in C#.
- Dotnet Format and File Scoped Namespaces – Steve Smith covers some new and cool features in C# 10.
- Immutable C# – Sam Williams demonstrates the value and shows how to write C# in an immutable fashion. This is great for taking advantage of any functional features.
- Making Sense of Common C# Compiler Errors – Most folks in software don’t work on a low level with compilers (no need to) but then error messages sneak through that were written by people who only build compilers and not business software. So catch this nice list by Matt Eland explaining compiler errors.
- C#: Pass by value vs ref vs in vs out… – Paul-Sebastian Manole goes back to basics with this piece on passing parameters.
- Goodbye Android Emulators, the Windows Subsystem for Android is Here! – James Montemagno gives an overview of the new Windows Subsystem for Android so you can throw out one or multiple emulators for testing. Finally!
- Looking inside MauiAppBuilder in .NET 6 – Luis Matos explains problems regarding configuration that the
MauiAppBuilder
solves as well as using its new application model. - Microsoft Says ‘.NET 5/6 Will Not Be Coming to UWP Project Types,’ Developers Sound Off – David Ramel hosts an article with much criticism about UWP’s direction by Microsoft.
- Azure Functions With .Net 5 – Execution On Isolated Process – You may want to run some code in a separate process from that of the original trigger in Azure Functions, for scalability or possibly cost optimization. Jorge Levy is here with a quick set of instructions.
- Deployment Projects with the new AWS .NET Deployment Experience – Norm Johanson ventures over to .NET on AWS to show us how to deploy an app and what deploying app to AWS is like.
- Get Your Head Together With Blazor’s New HeadContent and PageTitle – Niels Swimberghe breaks down a few new Blazor components.
- Blazor’s AOT Compilation Isn’t the Silver Bullet You’re Expecting – Matthew MacDonald has some bad news for those who thought AOT compilation will fix most of their problems.
- Dapr binding building block by simple example – Catch this nice sample demonstrating how to use Dapr building blocks to bind to external services. Post by Laurent Kempé .
Related programming tutorials
- How to Find a Mentor and Get Started in Open Source – Jennifer Riggins mentors us through a blog post, discussing how to get a mentor for OSS.
- The Process of Building a CSS Framework – Claudia Romano built a CSS framework and pens the journey. This post makes for a great template if you want to try to build your own framework.
- Practical tutorials – Project based learning – This repo isn’t recently published like most articles in this newsletter, but nonetheless it’s a treasure trove of samples showcasing dozens of languages, by Norbert Klar.
- 100 Days of TypeScript (Day 1) – Peter O’Hanlon (who published a book on TypeScript) has put in a few days this month of 100 for #100DaysOfCode. Start at Day 1 and follow his tutorials onward into 2022 with 100 Days of TypeScript.
- Introduction to SQL Server sequence objects – Do SQL IDENTITY columns got you down? Then check out Greg Larsen’s post showing SQL Sequence objects and replace old broken IDENTITY columns.
Interesting and cool stuff
- “Spot Me Up” | The Rolling Stones & Boston Dynamics – YouTube – This is pure fun. It’s especially fun for those who are fans of that famous British band, the Rolling Stones. Boston Dynamics had its robots imitate the band playing their hit “Start Me Up”.
- Why flow matters more than passion – This is a good piece by Sarah Drasner that discusses how companies look for employees full of “passion”, which only excludes a lot of people. It’s a highly subjective measurement as well. Instead, we can hire the right people and teach them to get in a state of total immersion of any task and be as productive and often more than those with passion (who tend to have flow when working on their passion).
- 4 Ways To Manage Your Energy And Have A Balanced, Productive Workday – We could all use this post, especially with a pandemic still underway. Post by Sam Milbrath.
- RunAsRadio | The Rise of Ransomware – Ransomware is quickly becoming a concerning problem. So catch this podcast featuring Ann Johnson as she lets us know what is happening in the land of ransomware.
CSS is like that…
They say CSS is easy 🥲#webdev #CSS #javascript #100DaysOfCode #coding pic.twitter.com/kycOIIDp74
— Gourav Kumar (@GouravKumarDev) October 16, 2021
A fun tweet summing up the life of a software tester…
lol so true 😂
— 👾 Irinella Boutsika 👾 (@3Bonobo) October 26, 2021
A software tester walks into a bar …#codingjokes #codinglife #programmingjokes #programminghumor #programmingmeme #testing pic.twitter.com/fkHO8kOl5O
And finally, the latest from JetBrains
Here’s a chance to catch up on JetBrains news that you might have missed:
Check out our 📚 .NET Guide 📚, filled with learning materials, tips, and tricks for .NET development.
Blog posts
- File-Scoped Namespaces – A Look at New Language Features in C# 10
- Hot Reload for .NET 6 in Rider 2021.3
- Updated Debugging Experience, UWP Apps, and Debug Windows Docker containers in Rider 2021.3
- ETW Host Service Installation Changes in 2021.3
- ReSharper 2021.2.2 and Rider 2021.2.2 bug fixes have landed
- Copy Code Reference in ReSharper and Rider 2021.3 EAP
- Testing with Rider for Unreal Engine
Webinars
- Webinar: Free Your Services From Vendor Lock-in with OpenTelemetry
- Profiling and Fixing Common Performance Bottlenecks – Webinar Recording
Check out this fantastic offer! CODE Magazine is offering a free subscription to JetBrains customers!
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 me at rachel.appel@jetbrains.com, or drop me a message via Twitter.