2026-01-21 dotnetdotnet-10dotnet-9 Perfetto + dotnet-trace: .NET 9/.NET 10 のための実践的なプロファイリングループ .NET 9 と .NET 10 のための実践的なプロファイリングループ: dotnet-trace でトレースをキャプチャし、Perfetto で可視化し、CPU、GC、スレッドプールの問題を反復的に解決する。
2026-01-10 grpcdotnetdotnet-10 .NET 9 と .NET 10 でコンテナ上の gRPC が「難しい」と感じる: 修正できる 4 つの落とし穴 .NET 9 と .NET 10 でコンテナに gRPC をホストするときによくある 4 つの落とし穴: HTTP/2 のプロトコル不一致、TLS 終端の混乱、壊れたヘルスチェック、プロキシの設定ミス -- それぞれの修正方法付き。
2026-01-10 dotnetdotnet-10dotnet-9 Hangfire を使わずに .NET 9 と .NET 10 のバックグラウンドジョブを監視する: ヘルス + メトリクス + アラート .NET 9 と .NET 10 で BackgroundService のジョブを Hangfire なしで監視する方法。ハートビートのヘルスチェック、所要時間メトリクス、失敗アラートを実用的なコード例とともに紹介します。
2026-01-10 dotnetdotnet-10dotnet-9 System.CommandLine v2 を、配線済みで使う: `Albatross.CommandLine` v8 Albatross.CommandLine v8 は System.CommandLine v2 をベースに、ソースジェネレーター、DI 統合、ホスティング層を加え、.NET 9 と .NET 10 アプリの CLI ボイラープレートを削減します。
2026-01-04 dotnetdotnet-9 .NET 9 の Task.WhenEach でタスクをストリーミングする .NET 9 は Task.WhenEach を導入し、完了したタスクの IAsyncEnumerable を返します。並列の結果を到着順に処理するのをどう単純化するかを紹介します。
2026-01-02 csharp-13csharpdotnet C# 13: `params` 割り当ての終わり C# 13 はついに params の背後にある隠れた配列割り当てを解消します。Span、ReadOnlySpan、List などのコレクション型と組み合わせて、ゼロ割り当ての可変長メソッドを使えるようになります。
2026-01-02 dotnetdotnet-9 .NET 9: lock(object) の終わり .NET 9 では System.Threading.Lock が登場します。lock(object) を置き換える専用の軽量な同期プリミティブで、より高いパフォーマンスと明確な意図を提供します。
2026-01-01 dotnetdotnet-9 LINQ CountBy で頻度カウントを最適化する .NET 9 で GroupBy を CountBy に置き換え、よりクリーンで効率的な頻度カウントを実現します。中間のグルーピング構造を省くことで、割り当てを O(N) から O(K) に削減します。
2025-01-06 csharpdotnetdotnet-9 .NET のパフォーマンス: ToList vs ToArray .NET 9 は InlineArray を活用して ToArray のパフォーマンスを大幅に改善し、ToList より高速かつメモリ効率の良いものにします。.NET 8 と .NET 9 を比較したベンチマークを参照ください。
2025-01-02 csharp-13csharpdotnet C# 13: 認識される任意のコレクション型で params コレクションを使う C# 13 では params 修飾子が配列を超えて Span、ReadOnlySpan、IEnumerable、その他のコレクション型をサポートするように拡張され、ボイラープレートが減って柔軟性が向上します。