トピックス
Five is for 5X productivity. Announcing Uno Platform 5.0
https://platform.uno/blog/uno-platform-5-0/
Uno Platform 5.0 がリリースされた。
このリリースでは C# Markup (XAML に代わる Fluent スタイルの UI 記述)、Figma to C# Markup プラグイン、改善されたホットリロード、MVUX (Model-View-Update eXtended) の改善、Xamarin および .NET 6 のサポート削除など様々な改善や変更が含まれている。
Release 2.7.4 · StackExchange/StackExchange.Redis
https://github.com/StackExchange/StackExchange.Redis/releases/tag/2.7.4
StackExchange.Redis 2.7.4 がリリースされた。
このリリースでは RESP3 プロトコルのサポートが追加されている。RESP3 では結果の形式に一部違いがあるため利用にはコードや接続文字列で明示的に指定する必要があり、直接コマンドを扱っている場合などには対応が必要となる。
Release 8.1.0 · App-vNext/Polly
https://github.com/App-vNext/Polly/releases/tag/8.1.0
Polly 8.1.0 がリリースされた。
このリリースでは AOT での互換性の向上、ResilienceContextPool の DI からの設定といった改善が行われている。
BenchmarkDotNet v0.13.10 · dotnet/BenchmarkDotNet · Discussion #2457
https://github.com/dotnet/BenchmarkDotNet/discussions/2457
BenchmarkDotNet v0.13.10 がリリースされた。
このリリースでは .NET 9 のサポートが追加されている。
BenchmarkDotNet v0.13.10 has been released!
— BenchmarkDotNet (@BenchmarkDotNet) November 1, 2023
While .NET 8 is still on the way, we already provide the initial support of .NET 9!https://t.co/PB0q3xJ8SN
.NET 8 Performance Improvements in .NET MAUI - .NET Blog
https://devblogs.microsoft.com/dotnet/dotnet-8-performance-improvements-in-dotnet-maui/
.NET 8 での .NET MAUI のパフォーマンス改善について。
- 新機能
- ビルド、インナーループパフォーマンス
- パフォーマンスやアプリサイズの改善
- メモリーリーク
- ツールとドキュメント
Release WinUI 3 in WinAppSDK 1.4.2 · microsoft/microsoft-ui-xaml · GitHub
https://github.com/microsoft/microsoft-ui-xaml/releases/tag/winui3/release/1.4.2
Windows App SDK 1.4.2 がリリースされた。
このリリースは主にクラッシュなど不具合等の修正が行われている。ソースコードも利用可能となっている。
Today, WinAppSDK has completed the trifecta: Ship File Explorer on WinAppSDK/WinUI3, release the same libraries for all applications to use, and now the source for that WinUI 3 release is available!https://t.co/P1nCqMfbWY pic.twitter.com/LrPGXOSHkC
— Windows UI (@WindowsUI) October 24, 2023
Release Diagnostics Release - v8.0.452401 · dotnet/diagnostics
https://github.com/dotnet/diagnostics/releases/tag/v8.0.452401
.NET 診断ツール 8.0.452401 がリリースされた。
このリリースでは dotnet-monitor と counters の統合や dotnet-dump/SOS のいくつかの改善などが含まれている。
.NET Framework October 2023 Cumulative Update Preview - .NET Blog
https://devblogs.microsoft.com/dotnet/net-framework-october-2023-cumulative-update-preview/
.NET Framework 2023年10月の累積アップデートのプレビューリリース。
このリリースでは XAML/XPS の解析時に関する問題の修正が含まれている。
アーティクル、スライドなど
Microsoft Ignite 2023 is around the corner! (Nov 14-17) - Visual Studio Blog
https://devblogs.microsoft.com/visualstudio/microsoft-ignite-2023-is-around-the-corner-nov-14-17/
Microsoft Ignite 2023 (11月14日から17日まで) とそのイベントでの Visual Studio に関するセッションについての紹介。
Copy-on-Write in Win32 API Early Access - Engineering@Microsoft
https://devblogs.microsoft.com/engineering-at-microsoft/copy-on-write-in-win32-api-early-access/
Windows 11 Insider Canary Channel で CopyFile API が ReFS (DevDrive) で Copy-on-Write に対応したことについて。
これによりビルドエンジンやツールといったものを CoW のために対応する必要がなくなる。
A new F# compiler feature: graph-based type-checking - .NET Blog
https://devblogs.microsoft.com/dotnet/a-new-fsharp-compiler-feature-graphbased-typechecking/
F# コンパイラーでの新しいグラフベースでの型チェックの仕組みについて。
Trying out MongoDB with EF Core using Testcontainers - .NET Blog
https://devblogs.microsoft.com/dotnet/efcore-mongodb/
Testcontainers を使用して Entity Framework Core でサポートされた MongoDB の操作を試してみる方法について。
OmniSharp-Vim と fzf を連携させる - Qiita
https://qiita.com/lx-sasabo/items/b2226eb3594a2acaeafb
Vim で C# を記述するための OmniSharp-Vim と fzf を連携させて Find Usages を実現する方法について。
Entity Framework Coreで特定の具象型に依存せずオブジェクトを保存・復元する
https://zenn.dev/oyasumi731/articles/4a9e30385d0736
Entity Framework Core で抽象型と継承を使用したマッピングを行う方法 (able-Per-Hierarchy (TPH) パターン) について。
【C#】AES を使用した暗号化と復号の手順
https://zenn.dev/nekojoker/articles/670824eeaa1ba8
AES でデータを暗号化と復号する実践的な手順についての解説。
Avoiding flaky tests with TimeProvider and ITimer: Exploring the .NET 8 preview - Part 12
.NET 8 で導入される時刻とタイマーの抽象化である TimeProvider
と ITimer
を使用方法とそれによりユニットテストを安定的に行えるようにすることについて。
Developers’ Guide to Generate .NET API Client with Kiota
OpenAPI で定義された REST API のクライアントを生成する Kiota を使用する方法について。
Organizing ASP.NET Core Minimal APIs
https://www.tessferrandez.com/blog/2023/10/31/organizing-minimal-apis.html
ASP.NET Core Minimal APIs で API を定義、実装する際のコードを整理する手法の紹介。拡張メソッドによる集約や MapGroup でのグルーピングなど。
.NET 8 makes you faster. Everyday.
https://medium.com/medialesson/net-8-makes-you-faster-everyday-233f9740379d
.NET 8 とそれ以前でのいくつかの基本的なクラスでのパフォーマンスの比較。
Porting Unity to CoreCLR | Unity Blog
https://blog.unity.com/engine-platform/porting-unity-to-coreclr
Unity の CoreCLR への移植についての解説。記事では Unity を CoreCLR での GC で動かすために行っていることについて解説している。
Global Endpoint Filters with ASP.NET Core Minimal APIs
https://khalidabuhakmeh.com/global-endpoint-filters-with-aspnet-core-minimal-apis
.MapGroup(string.Empty)
で空のグループを作成し、それに対してエンドポイントフィルターを指定することでグローバルなフィルターとして定義できるというテクニックの紹介。
.NET 8 で既定で有効になった Dynamic PGO について - ねののお庭。
https://blog.neno.dev/entry/2023/10/29/131336
.NET 8 で規定で有効となった Dynamic PGO について、PGO の仕組みやその最適化に至るまでの挙動といった部分の解説。
What’s new in F# 8
https://amplifying-fsharp.github.io/files/sessions/amplify-fsharp-october-2023.pdf
F# 8 での変更点についてのまとめスライド。
How to use Testcontainers with .NET Unit Tests | The .NET Tools Blog
https://blog.jetbrains.com/dotnet/2023/10/24/how-to-use-testcontainers-with-dotnet-unit-tests/
Testcontainers を使用してコンテナーで一時的なデータベースを使用したユニットテストを記述する方法について。
記事ではコレクションごとやクラスごとにコンテナーを使う方法や ASP.NET Core アプリケーションのテストなどについても触れている。
Short-circuit routing in .NET 8: Exploring the .NET 8 preview - Part 11
https://andrewlock.net/exploring-the-dotnet-8-preview-short-circuit-routing/
.NET 8 の ASP.NET Core で導入されたショートサーキットルーティングについての解説。
ショートサーキットルーティングはエンドポイントの処理に関してミドルウェアをスキップできる仕組み。
コレクション式 | ++C++; // 未確認飛行 C ブログ
https://ufcpp.net/study/csharp/datatype/collection-expression/
C# 12 で導入されるコレクション式についての解説。
.NET6 から TLS=true で Amazon DocumentDB に接続する - Qiita
https://qiita.com/ishiyama0530/items/0c5dd19ab4df548c2c5f
.NET 6 のコンテナーから Amazon DocumentDB に TLS を有効にして接続する際に証明書の問題が発生する県について。
.NET 8 の Blazor の新機能 「AddCascadingValue メソッド」
https://zenn.dev/microsoft/articles/dotnet8-blazor-01
.NET 8 の Blazor に追加された AddCascadingValue について。カスケードされる値を提供する方法としてコンポーネントからではなくサービスに登録する方法が提供される。
Rider 2023.3 EAP 4: Improved Experience for Running Multiple Projects, Type Dependency Diagrams, and More | The .NET Tools Blog
https://blog.jetbrains.com/dotnet/2023/10/23/rider-2023-3-eap-4/
Rider 2023.3 EAP 4 がリリースされた。
このリリースでは複数のプロジェクトの実行やソリューションフィルターの保存、型の依存ダイアグラム、Central Package Management でのコード補完、パフォーマンスプロファイリングの改善といったものが含まれている。
neue cc - 他言語がメインの場合のRustの活用法 - csbindgenによるC# x Rust FFI実践事例
https://neue.cc/2023/10/23_rusttokyo.html
Rust の C# バインディングライブラリー csbindgen での経験をもとにした Rust の活用方法についてのセッションとそのフォローアップ。
Using FluentScheduler with C#
https://dev.to/karenpayneoregon/using-fluentscheduler-with-c-29ck
ライブラリ、リポジトリ、ツールなど
jsakamoto/Toolbelt.Blazor.ViewTransition: A router component and a service that makes your Blazor apps have pretty animated transition effects between pages with the View Transitions API.
https://github.com/jsakamoto/Toolbelt.Blazor.ViewTransition
Blazor 上でページ間トランジションを提供する Router コンポーネント。
The "Blazor View Transion" was rolled out!🎉https://t.co/vZwC7ZnBNj
— @jsakamoto (@jsakamoto) October 28, 2023
This package includes a router component and a service both make your Blazor apps have pretty animated transition effects between pages with the View Transitions API!🚀
Live Demo:https://t.co/JQh5hIYE3S #Blazor pic.twitter.com/JnbPSCDJAg
サイト、ドキュメントなど
.NET Conf Calendar
https://dotnetconf-calendar.azurewebsites.net/
.NET Conf 2023 のスケジュールを iCalender 形式で提供するサイト。
ツイート
That is: pic.twitter.com/7AhmBgwsie
— Eric Lippert (@ericlippert@hachyderm.io) (@ericlippert) October 25, 2023
At AWS re:Invent, you’ll find sessions for the .NET developer on everything from artificial intelligence (AI) to serverless to modernization. In this post, learn about the .NET sessions at re:Invent 2023 and opportunities to network.#dotnet #AWShttps://t.co/XKi8i9kzmP
— .NET on AWS (@dotnetonAWS) October 18, 2023
Released version 0.2.0 of Blazor.SVGEditor today. This version brings support for pinch-and-zoom on touch devices. The Blazor Web Audio Playground demo and Blazor Graph Editor depend on this package, so they now also support this.#blazor #dotnet
— Kristoffer Strube (@KStrubeG) October 22, 2023
Project: https://t.co/Dg9GSE8GHt pic.twitter.com/dFED5fDsr5