2022-12-31: BenchmarkDotNet 0.13.3

Published on Saturday, 31 December 2022

トピックス

BenchmarkDotNet v0.13.3 | BenchmarkDotNet

https://benchmarkdotnet.org/changelog/v0.13.3.html

BenchmarkDotNet 0.13.3 がリリースされた。

このリリースでは ARM64 逆アセンブラー、.NET 8 の初期サポート、.NET 6/7 の Mono VM サポート、armv6 と ppc64le のサポートといったプラットフォーム技術への対応が追加された。 その他 WASM や NativeAOT、 Android でのさまざまな改善や ExceptionDiagnoser や PerfCollectProfiler といった機能の追加が行われている。

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

Practicing algorithms using Polyglot Notebooks - part 1 (setup)

https://dev.to/kkoziarski/practicing-algorithms-using-polyglot-notebooks-part-1-setup-1fp3

Polyglot Notebooks (.NET Interactive) を使用したアルゴリズムの勉強記事シリーズ。セットアップやヘルパーなどを紹介している。

JSON とかの中身確認ツール | ++C++; // 未確認飛行 C ブログ

https://ufcpp.net/blog/2022/12/binarytool/

MessagePack や JSON などのデータをパースして表示、再シリアライズするといったツールを Blazor WebAssembly で作成したという記事。

How to Use Change Tokens in .NET 7?

https://medium.com/@gokerakce/how-to-use-change-tokens-in-net-7-3db9cc43910f

IOptionsMonitor などで使用される ChangeToken の使い方を紹介している記事。

Semgrep で SQL Injection と戦う #1

https://zenn.dev/masakura/articles/3e65ba04401256

静的コード解析ツールの Semgrep で C# のコードを解析し、SQL インジェクションを検出する方法についての記事。 記事では Dapper での対応と、いくつかの C# のコードパターンに対応させる方法を紹介している。

UDPでパケットが失われたり入れ替わることを検証 - Qiita

https://qiita.com/diontools/items/822772f8f2d54be8260a

UDP で送受信した際にどこ程度ドロップや並び替えが発生するのかを検証してみたという記事。

A Heavy Lift: Bringing Kestrel + YARP to Azure App Services をピックアップして訳しつつ補足する - Qiita

https://qiita.com/nt-7/items/786ec694b17d8816c2c9

Azure App Service のフロントエンドを Kestrel + YARP へ移行したことについての公式ブログ記事を訳して紹介している記事。

Fun with NanoFramework, running .Net C# on ESP32

https://sandervandevelde.wordpress.com/2022/12/15/fun-with-nanoframework-running-net-charp-on-esp32/

ESP32 で .NET nanoFramework 使用して C# のコードを動かす方法を解説している記事。

記事では MP3 の再生や Wi-Fi への接続方法なども紹介している。

Visual Studioから利用できるプロジェクトテンプレートを作成する - Qiita

https://qiita.com/kamikawa_m/items/75c337f101d9d2f6080e

Visual Studio で使用できるプロジェクトテンプレートを作成する手順を紹介している記事。

ASP.NET Core Identity の拡張性を探る - Qiita

https://qiita.com/MugeSo/items/7ada1f2713b8917970c3

ASP.NET Core Identity のユーザーデータやパスワード関連など細かく拡張するためのインターフェースを紹介している記事。

Top .NET Blog Posts of 2022 - .NET Blog

https://devblogs.microsoft.com/dotnet/top-dotnet-blog-posts-of-2022/

.NET Blog の2022年のトップ投稿を改めて紹介している記事。

Top .NET Videos & Live Streams of 2022 - .NET Blog

https://devblogs.microsoft.com/dotnet/top-dotnet-videos-live-streams-of-2022/

.NET チームによる2022年のトップ動画とライブストリーミングを紹介している記事。

C#のソースコードから差分のあるメソッドだけを抜き出す - Qiita

https://qiita.com/myosotis/items/fa48b8aa940f53405218

Roslyn を使用してソースコードを解析して、二つのソースコード間のメソッドを比較して追加、削除、変更を抽出を試みるという記事。

ASP.NET Core 7.0 Blazor の新機能のカスタム エレメントを使ってみよう

https://zenn.dev/okazuki/articles/blazor-customtag

.NET 7 の Blazor で対応した、コンポーネントを一般的な HTML の要素のように使用できる仕組みであるカスタムエレメントを使用する方法についての記事。

Better assertions for your unit tests

https://www.johansmarius.dev/2022/12/better-assertions-for-your-unit-tests.html?m=1

ユニットテストでアサーションを Fluent な形で記述する FluentAssertions の紹介をしている記事。

Keycloak as Authorization Server in .NET

https://dev.to/nikiforovall/keycloak-as-authorization-server-in-net-91m

Keycloak をASP.NET Core の認証サーバーとして使用する方法について紹介している記事。

Accelerate ML.NET training with Intel oneDAL

https://devblogs.microsoft.com/dotnet/accelerate-ml-net-training-with-intel-onedal/

ML.NET 3.0 のプレビューリリースで Intel oneDAL バックエンドを利用できるようになったというアナウンス。

【VB.NET】拡張コンパイラModVBの紹介(インストール編) - Qiita

https://qiita.com/yaju/items/2c154a939b9896c855e2

VB.NET を拡張したコンパイラー ModVB の導入方法を紹介している記事。

Blazor から JavaScript のクラスのコンストラクタを呼びたい

https://zenn.dev/okazuki/articles/call-js-constructor-from-blazor

Blazor の C# 側から JavaScript のクラスのインスタンスを作る方法についての記事。 .NET 8 では直接インスタンスを作ることができるが、.NET 7 では生成用の関数を呼び出すといった形をとる必要がある。

【.NET MAUI 】EntityFrameworkCore のマイグレーションができない時の対処法

https://zenn.dev/tomori_k/articles/9cb07c31a1fdca

.NET MAUI プロジェクトでは Entity Framework Core のマイグレーションを実行できない問題とその対処についての記事。

[C#] メモtip:UDPマルチキャストを受信する(送受信同一ホスト対応) - Qiita

https://qiita.com/Yothuba3/items/ae6d7822b6b3cfe63be7

UDP マルチキャストを同一ホストでの送信も含めて受信する方法についての記事。

【C#】Dapper忘備録【基本編】 - Qiita

https://qiita.com/YuMo_tea/items/ee4182260a0e3216237e

Dapper の基本的なメソッドと使い方を紹介している記事。

C#でTencent TRTC SDK使ってみた! - Qiita

https://qiita.com/SoeAtsu/items/6085c647b2c61feed5cb

Tencent Real-Time Communication の SDK を使用して WPF アプリケーションにビデオ通話を組み込んでみるという記事。

種類を分けて流量制限をする(System.Threading.RateLimiting) - Qiita

https://qiita.com/skitoy4321/items/265111dd440041e66e5a

.NET 7 で導入されたレートリミットの API でURLやリソースといった種類ごとに流量制限を行うための PartitionedRateLimiter クラスの解説記事。

Ix.NETのMaxBy、.NET 6から加わった標準メソッドと名称が衝突したので、MaxByWithTiesになってた - Qiita

https://qiita.com/RyotaMurohoshi/items/9072987415bcab80b703

.NET 6 で LINQ に MaxBy などが追加された影響で Ix.NET の同名のメソッドが変わったことについての記事。

Azure App Service に配置した ASP.NET Core アプリで、App Service 上に設定した接続文字列を GetConnectionString で取得できない? | @jsakamoto

https://devadjust.exblog.jp/29454749/

Azure App Service の接続文字列設定 (Configuration の Connection strings) で PostgreSQL のみ正しく取得できない問題について。

App Service で設定した接続文字列には各データベース種類ごとのプレフィックスがついており、M.E.Configuration は環境変数から読み取る際にそれらを考慮しているが PostgreSQL のみ考慮されていない問題がある。

GeneratedRegexで遊ぶ - Qiita

https://qiita.com/kurema/items/068385ba2f8bbe3858e1

.NET 7 で導入された正規表現の処理をあらかじめソースジェネレーターで生成する GeneratedRegex について解説している記事。

記事では使用方法のほか、実装についての解説、パフォーマンスの比較といったことに触れている。

Hybrid Blazor + NativeAOT = ❤️

https://codevision.medium.com/hybrid-blazor-nativeaot-%EF%B8%8F-a6c93de6ede3

Blazor Hybrid を Windows Forms 上の WebView2 で表示し、NativeAOT で動作させる方法についての記事。

.NET Conf 2022 Recap Event 福岡で .NET 7 時代の Windows アプリケーション開発について話しました - しばやん雑記

https://blog.shibayan.jp/entry/20221226/1671991195

.NET Conf 2022 Recap Event 福岡での .NET 7 時代の Windows アプリケーション開発についてのセッションの振り返りとスライドの記事。

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

Kareadita/Kavita: Kavita is a fast, feature rich, cross platform reading server. Built with a focus for manga and the goal of being a full solution for all your reading needs. Setup your own server and share your reading collection with your friends and family.

https://github.com/Kareadita/Kavita

Web ベースの書籍リーダーアプリケーション。

ZIP ファイルなどを取り扱えるいわゆる自炊などのマンガビューアー。

mkaring/ConfuserEx: An open-source, free protector for .NET applications

https://github.com/mkaring/ConfuserEx

.NET アプリケーションの難読化を行うツール。

コマンドラインツールや MSBuild タスクといった形での利用が可能。

MrDave1999/dotenv.core: dotenv.core is a class library for read and parsing .env files in .NET Core

https://github.com/MrDave1999/dotenv.core?hss_channel=tw-2384354214

.env (環境変数を記述したファイル) を .NET から取り扱うライブラリー。

サイト、ドキュメントなど

SoySign | シンプルな電子契約サービス

https://soysign.com/

Blazor で実装された電子サインサービス。