トピックス
Announcing .NET 8 Preview 3 - .NET Blog
https://devblogs.microsoft.com/dotnet/announcing-dotnet-8-preview-3/
.NET 8 Preview 3 がリリースされた。
記事では次の機能や改善点について紹介している。
- SDK
- 簡略化された出力先パス
- dotnet workload clean コマンド
- ランタイム
- ValidateOptionsResultBuilder
- 構成バインディングソースジェネレーター
- ネイティブコード生成の改善
- コンテナー
- 複数のプラットフォームのイメージのビルド
- 非 root ユーザー UID 値の環境変数
ASP.NET Core updates in .NET 8 Preview 3 - .NET Blog
https://devblogs.microsoft.com/dotnet/asp-net-core-updates-in-dotnet-8-preview-3/
.NET 8 Preview 3 での ASP.NET Core のアップデートについての紹介。
このリリースでは ASP.NET Core の Native AOT でのサポートとサポート範囲/互換性、テンプレートなどについてをはじめとして、様々な新機能を紹介している。
- Native AOT での ASP.NET Core サポート
- Blazor でのサーバーサイドレンダリング
- ASP.NET Core の外で Razor コンポーネントのレンダリング
- Blazor でのセクションのサポート
- Blazor Server の回線アクティビティのモニター
- Blazor WebAssembly アプリケーションでの SIMD のデフォルト有効化
- リクエストタイムアウト
- ショートサーキットルート
Announcing .NET MAUI in .NET 8 Preview 3 - .NET Blog
https://devblogs.microsoft.com/dotnet/announcing-dotnet-maui-in-dotnet-8-preview-3/
.NET 8 Preview 3 での .NET MAUI のアップデートについての紹介。
このリリースでは品質の向上やメモリー管理の改善などが行われている。
Check out new C# 12 preview features! - .NET Blog
https://devblogs.microsoft.com/dotnet/check-out-csharp-12-preview/
C# 12 のプレビュー機能の紹介。
- 非レコードなクラスと構造体でのプライマリーコンストラクター
- あらゆる型に対する using エイリアス
- ラムダ式のパラメーターのデフォルト値
.NET April 2023 Updates – .NET 7.0.5, .NET 6.0.16 - .NET Blog
https://devblogs.microsoft.com/dotnet/april-2023-updates/
.NET 7.0.5 および 6.0.16 がリリースされた。
このリリースにはセキュリティー修正は含まれず、不具合の修正や小さな改善が含まれている。
v1.3.0 - Stable channel release notes for the Windows App SDK - Windows apps
https://learn.microsoft.com/en-us/windows/apps/windows-app-sdk/stable-channel#version-13
Windows App SDK v1.3.0 がリリースされた。
このリリースでは XAML Backdrop API (ウィンドウ背景への Mica の適用など)、アプリウィンドウにアクセスするための Window.AppWindow API などいくつかの新機能が導入されている。
Release 2.3.0 Beta 2 · mysql-net/MySqlConnector
https://github.com/mysql-net/MySqlConnector/releases/tag/2.3.0-beta.2
Async MySQL Connector 2.3.0 Beat 2 がリリースされた。
このリリースでは MariaDB でのメタデータスキップによるパフォーマンスの改善や MySqlDataReader のリサイクルなどの改善が含まれている。
NuGet.org Terms of Service Update on Unexpected Behavior and Hate Speech - The NuGet Blog
NuGet.org の利用規約のアップデートについて。
利用規約が更新され、不正行為に関する二つのルールが追加された。一つはパッケージの説明や README にない予期しない動作(悪意あるバックドアなど)についてのルール、もう一つはヘイトスピーチについてのルールについて追加となっている。
アーティクル、スライドなど
Debugging native memory issues in a C# application
https://ayende.com/blog/199265-A/debugging-native-memory-issues-in-a-c-application
C# アプリケーションでアクセス違反でクラッシュする問題を調査した話。
Avx2 でメモリーを読み取るときに無効なメモリーも読み取ってしまうことによって発生した問題。
Data validation with Fluent Validation for ASP NET Core
ASP.NET Core で Fluent Validation を使用した入力検証の導入方法について。
.NET + AvaloniaUI 制作日誌①
https://zenn.dev/jun_murakami/articles/87c79a3c622b6f
Avalonia UI v11 プレビューを使用しての変更点などのメモ。
Improving Visual Studio performance with the new Instrumentation Tool - Visual Studio Blog
Visual Studio の新しいインストルメンテーションツールの紹介として Visual Studio のパフォーマンスを改善する記事。
📈 Boost Your Integration Testing for REST APIs with Snapshot Testing in .NET
https://dev.to/kamilbaczek/boost-your-integration-testing-for-rest-apis-with-snapshot-testing-g2b
データを比較して検証する Verify を使用してユニットテストを行う方法について。
[C#11] Generic Mathで桁あふれしないように足し算を実装する
https://zenn.dev/shimat/articles/c4b5b05dcd85c7
Generic Math で独自の Vector 構造体を定義し、足し算を行うときに桁あふれしないような実装を行う。
What’s New in .NET 8 🧐 ? Discover ALL .NET 8 Features⚡🚀
https://medium.com/abp-community/whats-new-in-net-8-discover-all-net-8-features-bf98bc9cf68c
.NET 8 の新機能や Random.GetItems など API を紹介している。
Looking at C# 12 Proposals and Beyond
https://michaelscodingspot.com/csharp-12-proposals/
C# 12 での提案やその先にある C# の機能を紹介している。
- プライマリーコンストラクター
- 半自動プロパティー
- リストパターンマッチングの IEnumerable への拡張
- Pure Union と Discriminating Union
Normalize and compare URLs with C#
https://blog.elmah.io/normalize-and-compare-urls-with-csharp/
URL に含まれる ID などをつぶして正規化して比較する方法について。
ExternalFinalizer: Adding a finalizer to 3rd party objects
https://ravendb.net/articles/externalfinalizer-adding-a-finalizer-to-3rd-party-objects
ファイナライザーを持たないオブジェクトを外部からファイナライザーを使用して破棄するというテクニック。
LINQ on steroids with SIMD
https://steven-giesel.com/blogPost/faf06188-bae9-484d-804d-a42d58d18cad
SIMD を使用して LINQ の高速化を試み、ライブラリーを実装したことについて。
The Journey with multi-tenancy accesses continues with some issues
https://danielwertheim.se/the-journey-with-multi-tenancy-accesses-continues-with-some-issues/
マルチテナントアクセスを行う際の実装と注意すべき取り扱いについて。
Working With Nested Tasks
https://itnext.io/working-with-nested-tasks-9acd700c0e86
ネストされた Task の挙動とその制御について。
GitHub、ソフトウェア部品表の作成機能を無償公開--脆弱性管理を容易に
https://japan.zdnet.com/article/35202341/
GitHub で SBOM のエクスポートがサポートされたことについての紹介。
WASM, WASI, WTF? WebAssembly 101 – for .NET developers
https://speakerdeck.com/christianweyer/wasm-wasi-wtf-webassembly-101-for-net-developers
.NET 開発者向けの WebAssembly や WASI、Blazor の現状と今後についてのスライド。
C#によるクライアント/サーバーの開発言語統一がもたらす高効率な開発体制 ~プリコネ!グランドマスターズ開発事例~
プリコネ!グランドマスターズでの C# を用いたクライアントとサーバーでの言語統一環境での開発事例についてのスライド。
.NETラボ 勉強会 2023年4月 - connpass
https://dotnetlab.connpass.com/event/279139/
- Azure OpenAI Service 概要とサンプルアプリ等のご紹介
- Microsoft PowerToysを使ってみよう
- Windows 365 Frontline すべての働く人にクラウド PC を!
- Azure OpenAIサービスでChatGPTをC#で使ってみる
- モノレポなライブラリ群をCICDでデプロイした話
ライブラリ、リポジトリ、ツールなど
HoloLabInc/IwasmUnity: Unity C# wrapper of iwasm
https://github.com/HoloLabInc/IwasmUnity
Unity 向けの WebAssembly Micro Runtime の iwasm のバインディング。
Unity で Wasm を動かせる Unity C# 向けライブラリを作りました。iOS を含め、各種プラットフォームで動作できます。(Apple チップの Mac は私が所持していないため現状非対応)
— いこり (@ikorin24) April 14, 2023
UPM でインポート可能ですhttps://t.co/UchqnicsoE pic.twitter.com/FT2UZwDxrJ
サイト、ドキュメントなど
ツイート
AVX-512 サポートの話。
.NET 8.0 teaser: AVX-512 https://t.co/Ch2Nl0a4do (PR is based on a huge work done by contributors from Intel, @tannergooding, @BruceForstall and other members) pic.twitter.com/Z2dMvAwBS3
— Egor Bogatov (@EgorBo) April 10, 2023
アラインの有無によるメモリーアクセスのパフォーマンスの差の話。
Unaligned data access penalty 😒 pic.twitter.com/T5rIkkrUdQ
— Egor Bogatov (@EgorBo) April 14, 2023
ネイティブビルドをしたコード (SeeSharpSnake) を 486 の MS-DOS で動かすという話。最終的にリアルな PC の上で動かしている。
It actually works in DOSBox and in DOSBox-X's 486 mode! I'll try it on a real PC with 120Mhz AMD Am486 with 32MB of RAM, but that will have to wait until Tuesday because I keep the old machine in my office as a museum piece :-) pic.twitter.com/BkEx8kETVI
— shakul (@lukaaash) April 8, 2023