2022-09-06: Performance Improvements in .NET 7

Published on Tuesday, 06 September 2022

トピックス

Performance Improvements in .NET 7 - .NET Blog

https://devblogs.microsoft.com/dotnet/performance_improvements_in_net_7/

.NET 7 での様々なパフォーマンス改善についてコードを交えて解説している記事。

TL;DR: .NET 7 is fast. Really fast. A thousand performance-impacting PRs went into runtime and core libraries this release, never mind all the improvements in ASP.NET Core and Windows Forms and Entity Framework and beyond. It’s the fastest .NET ever. If your manager asks you why your project should upgrade to .NET 7, you can say “in addition to all the new functionality in the release, .NET 7 is super fast.”

また PDF 版も記事中のリンクよりダウンロードできる。

アーティクル、スライドなど

Twelve C# 11 Features

https://blog.okyrylchuk.dev/twelve-csharp-11-features

C# 11 の11個の特徴をまとめて紹介している記事。

Troubleshooting .NET Blazor WASM Debugging | Khalid Abuhakmeh

https://khalidabuhakmeh.com/troubleshooting-dotnet-blazor-wasm-debugging

Blazor WebAssembly のデバッグ時のトラブルシューティングについての記事。

起動設定やミドルウェア、パッケージのインストールといった点について。

Microsoft.Data.SqlClient 4.0 以降で SQL Server に接続する際の暗号化オプション at SE の雑記

https://blog.engineer-memo.com/2022/08/31/microsoft-data-sqlclient-4-0-%E4%BB%A5%E9%99%8D%E3%81%A7-sql-server-%E3%81%AB%E6%8E%A5%E7%B6%9A%E3%81%99%E3%82%8B%E9%9A%9B%E3%81%AE%E6%9A%97%E5%8F%B7%E5%8C%96%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7/

Microsoft.Data.SqlClient 4.0 以降の接続で使用する暗号化オプションの挙動についての記事。

記事ではデフォルトの設定についてや TDS 8.0 との組み合わせといった点について触れている。

Refactor code to use new C# language features | The .NET Tools Blog

https://blog.jetbrains.com/dotnet/2022/08/30/refactor-code-to-use-new-c-language-features/

ReSharper や Rider の CodeFix を使用して C# のコードを新しい機能でモダナイズ/リファクタリングしようという記事。

Writing a .NET profiler in C# - Part 1 | by Kevin Gosse | Aug, 2022 | Medium

https://minidump.net/writing-a-net-profiler-in-c-part-1-d3978aae9b12

C# で .NET のプロファイラーを実装する方法についての記事。

.NET のプロファイラーを実装するにはそれが .NET ランタイムで動いていない必要があったため C# での実装は難しかったが、.NET 7 の NativeAOT でネイティブライブラリーの形にすることで実装しようという試みのシリーズ。

.NETのGitHub Actionsワークフローでエラーが2回表示される問題の解決

https://zenn.dev/shimat/articles/e6af698fca3fba

GitHub Actions で dotnet build を行い、エラーが発生した時に GitHub 上でエラーが二重にレポートされてしまう問題を対処する方法についての記事。

Grouping By Calendar Week Using Entity Framework Core And PostgreSQL

https://medium.com/@christian.johann.eder/grouping-by-calendar-week-using-entity-framework-core-and-postgresql-49d24412e0e5

Entity Framework Core と PostgreSQL でカスタムデータベース関数マッピングを使用してカレンダー週でグルーピングする方法についての記事。

Deploying a .NET gRPC Server on Azure App Service

https://dev.to/sahan/deploying-a-net-grpc-server-on-azure-app-service-3877

Azure App Service に ASP.NET Core gRPC アプリケーションをデプロイする方法についての記事。

Understanding the Visual Studio Docker FastMode integration

https://itnext.io/understanding-the-visual-studio-docker-fastmode-integration-c0bccc08b8f9

Visual Studio でデバッグ実行に Docker を使用する際の素早い起動 (FastMode) のための挙動について解説している記事。

Async/Await — What Happens Under The Hood

https://itnext.io/async-await-what-happens-under-the-hood-eef1de0dd881

async/await は見えないところでどのように動いているのかを解説している記事。

.NETの汎用ホストの公式Docをやさしくしました - Qiita

https://qiita.com/matsumon-development/items/d66058f742a464ff0971

汎用ホスト (Generic Host) について、公式ドキュメントをかみ砕いて使い方を解説している記事。

ライブラリ、リポジトリ、ツールなど

Rainbow Braces - Visual Studio Marketplace

https://marketplace.visualstudio.com/items?itemName=MadsKristensen.RainbowBraces

コードエディターでかっこやブラケットに色を付けることでペアをわかりやすくする Visual Studio 拡張。

FortuneN/FineCodeCoverage: Visualize unit test code coverage easily for free in Visual Studio Community Edition (and other editions too)

https://github.com/FortuneN/FineCodeCoverage

コードカバレッジを Visual Studio に表示できるようにする拡張。

ullmark/hashids.net: A small .NET package to generate YouTube-like hashes from one or many numbers. Use hashids when you do not want to expose your database ids to the user.

https://github.com/ullmark/hashids.net

ID (数値) を YouTube のようなハッシュ化された文字列 (Hashid) にするライブラリー。

IkuzakIkuzok/ReadonlyLocalVariables: Prohibits reassignment of local variables.

https://github.com/IkuzakIkuzok/ReadonlyLocalVariables

ローカル変数への再代入をエラーにするという Roslyn Analyzer。