トピックス
Introducing Temporal .NET – Deterministic Workflow Authoring in .NET
https://temporal.io/blog/introducing-temporal-dotnet
Temporal ワークフローエンジンで .NET のサポート追加のアナウンス。
記事では C# でのワークフローの実装と呼び出し例のコードや仕組みについてなどを紹介している。
現在 .NET SDK はアルファーリリースであり、API は変更の可能性があるが機能はすべて実装され、ベータと GA が近く公開予定とのこと。
Introducing Bob’s Used Books—a New, Real-World, .NET Sample Application | Amazon Web Services
AWS が .NET 6 で構築した Bob’s Used Books と呼ばれる架空の中古書店のコマースサイトのサンプルアプリケーションを公開した。
このアプリケーションはコマースサイトの一連の機能を実装し、Amazon Web Service の各種サービスを利用するサンプルとして作られている。
今後 App Runner や Amazon EKS などにデプロイするコンテンツなどを用意する予定であるとしている。
Announcing .NET mobile Debugging in VS Code. Mobile development in VS Code with Uno Platform or .NET MAUI.
Uno Platform の Visual Studio Code 向けの拡張機能でモバイル開発がサポートされた。
このサポートにより Windows, macOS, Linux での Visual Studio Code を利用した Uno Platform および .NET MAUI のビルドとデバッグが行えるようになる。
Release 2.2.6 · mysql-net/MySqlConnector
https://github.com/mysql-net/MySqlConnector/releases/tag/2.2.6
Async MySQL Connector 2.2.6 がリリースされた。
TransactionScope 内でロールバック時に発生したデッドロックの例外によってメモリーリークする問題などいくつかの修正が含まれている。
Release 2.6.111 · StackExchange/StackExchange.Redis
https://github.com/StackExchange/StackExchange.Redis/releases/tag/2.6.111
StackExchange.Redis 2.6.111 がリリースされた。
Envoy プロキシーを使用した際のマルチスロットコマンドの対応やいくつかの不具合と改善が含まれている。
Release Release v2.53.0 · grpc/grpc-dotnet
https://github.com/grpc/grpc-dotnet/releases/tag/v2.53.0
gRPC (grpc-dotnet) v2.53.0 がリリースされた。
エラーメッセージの改善や .NET 6 でのトリミング有効時の例外の修正などいくつかの修正が含まれている。
C# Support in Fleet: Solution View, Unit Testing, and More! | The .NET Tools Blog
JetBrains Fleet の C# サポートにソリューションビューやユニットテストが追加された。
記事ではソリューションビューとユニットテスト関連の機能についてのほか、マルチターゲットフレームワークプロジェクトのサポートの向上やソリューションプロパティー、ショートカットキーマップの追加、実行構成の変更対応の必要について触れている。
Rider 2023.2 Roadmap | The .NET Tools Blog
https://blog.jetbrains.com/dotnet/2023/05/03/rider-2023-2-roadmap/
JetBrains Rider 2023.2 のロードマップについて。
- 言語サポートと改善
- ビルドツールウィンドウの再構築
- 新しい UI
- 新しいソリューションウィザード
- ゲーム開発
- Unity
- DOTS サポートの継続
- UI Toolkit
- シェーダー
- Unreal Engine
- パフォーマンスの改善
- デバッグ
- Unity
- 設定の同期
- その他改善
ReSharper 2023.2 Roadmap | The .NET Tools Blog
https://blog.jetbrains.com/dotnet/2023/05/03/resharper-2023-2-roadmap/
JetBrains ReSharper 2023.2 のロードマップについて。
- 言語サポートと改善
- パフォーマンス
- プレディクティブ デバッガー
- コードスタイル
Announcing a new version of the .NET Upgrade Assistant with support for .NET MAUI and Azure Functions! - .NET Blog
https://devblogs.microsoft.com/dotnet/upgrade-assistant-general-availability/
.NET Upgrade Assistant の新しいバージョンがリリースされた。
このバージョンでは .NET MAUI や Azure Functions のアップグレードに対応している。
- .NET 8 のサポート
- Xamarin.Forms から .NET MAUI へのアップグレード
- Azure Functions のアップグレード
- UWP から WinUI へのアップグレード
- ARM64 のサポート
記事では機能の強化についてのほか、.NET MAUI と Azure Functions のアップグレードについて解説している。
Announcing Copilot Chat | Semantic Kernel
https://devblogs.microsoft.com/semantic-kernel/announcing-copilot-chat/
Semantic Kernel に Copilot Chat という仕組みが追加された。
Copilot Chat を使用することで LLM ベースのカスタムのチャットボットをアプリケーションに組み込むことができるようになる。
アーティクル、スライドなど
Real-time charts with Blazor, SignalR and ApexCharts
https://blog.genezini.com/p/real-time-charts-with-blazor-signalr-and-apexcharts/
Blazor WebAssembly と SignalR、ApexCharts を使用したリアルタイムなチャートのアプリケーションの実装について。
Unlock the Power of NuGet: Essential Packages for .NET REST API or Microservices
.NET サーバーアプリケーションで定番の NuGet パッケージの紹介まとめ。
Running Vite with ASP.NET Core Web Applications
https://khalidabuhakmeh.com/running-vite-with-aspnet-core-web-applications
ASP.NET Core Web アプリケーションでフロントエンドに Vite (TypeScript など) を使用して開発するための手順について。
Uploading Large Files in ASP.NET Core - Code Maze
https://code-maze.com/aspnetcore-upload-large-files/
ASP.NET Core での巨大なファイルのアップロードの取り扱いについて。
Moving .NET Apps to the Cloud
https://www.infoq.com/presentations/net-apps-cloud/
.NET アプリケーションをクラウドに移行することについてのセッションの書き起こし。
リフトアンドシフトやコンテナープラットフォーム、クラウドネイティブで注意すべき点、サーバーレスについてやポータビリティなど。
JetBrains .NET Day Online 2023 – Call for Speakers | The .NET Tools Blog
https://blog.jetbrains.com/dotnet/2023/05/04/jetbrains-net-day-online-2023-call-for-speakers/
9月26日に開催される JetBrains .NET Day Online 2023 のスピーカー募集について。(英語)
Semantic KernelでGTP-4でのチャットアプリを実装する
https://zenn.dev/tomokusaba/articles/4fcc3f865036ad
Blazor Server と Semantic Kernel で Azure OpenAI Services の GPT-4 を使用してチャットアプリを実装する方法について。
カスタムコントロールで自由に描画する(C# / WinUI 3)
https://zenn.dev/shinta0806/articles/custom-control-draw
WinUI 3 で自由な描画を行うカスタムコントロールを実装する方法について。
SignalRをPostmanでデバッグする
https://zenn.dev/satoppepper/articles/8bdcff559d6c86
Postman を使用して SignalR で通信するアプリケーションとメッセージをやり取りしてデバッグする手順について。
Web API development in Visual Studio 2022 - Visual Studio Blog
https://devblogs.microsoft.com/visualstudio/web-api-development-in-visual-studio-2022/
Visual Studio 2022 version 17.6 のプレビューで強化された Web API 開発についての紹介
- クライアントが統合された HTTP エディター
- API エンドポイントエクスプローラー
- スキャフォールディング
- Visual Studio での Entity Framework ツール
日本マイクロソフトの大田さん (@okazuki) による Semantic Kernel の記事
- Semantic Kernel でトークンの限界を超えるような長い文章を分割してスキルに渡して結果を結合したい
- Semantic Kernel のテンプレートをプログラムでレンダリングする方法とテンプレートの文法
- Semantic Kernel で Open AI の Embeddings を使う (あいまい検索出来てすげーやつ)
- Semantic Kernel でプランナーを使って自発的に解決策を考えて実行する AI を作ってみよう
- Semantic Kernel で自作スキルをクラスライブラリ形式で共有したい
- Semantic Kernel のネイティブ スキルを試してみよう
- Semantic Kernel でトークンを数える
- Semantic Kernel のスキルを好きにカスタマイズしよう (余談です)
JWT Authentication with C# .NET
https://dev.to/rmaurodev/jwt-authentication-with-c-net-1h4c
ASP.NET Core で JWT を使用した Bearer 認証を実装する手順の紹介。
.NET Annotated Monthly | May 2023 | The .NET Tools Blog
https://blog.jetbrains.com/dotnet/2023/05/02/net-annotated-monthly-may-2023/
JetBrains による3月の .NET 関連情報まとめ。
How to lock orientation at runtime on iOS 16 with .NET MAUI and Xamarin.Forms
https://msicc.net/how-to-lock-orientation-at-runtime-on-ios-16-with-net-maui-and-xamarin-forms/
iOS 16 上での .NET MAUI および Xamarin.Forms アプリケーションで実行時に回転ロックを行う方法について。
VerificationException in .NET Framework when using structs
https://minidump.net/verificationexception-in-net-framework-when-using-structs-6269eb3df448
.NET Framework では値型を readonly フィールドにした上で部分信頼状態で実行すると VerificationException をスローするという問題の原因とその回避方法。
Calling internal ctors in your unit tests
https://haacked.com/archive/2023/05/01/calling-internal-ctors/
ユニットテストで主に外部のライブラリーなどの型を使う場合に非公開なコンストラクターを呼び出すという手段について。
.netstandardなアセンブリの中で.NET Frameworkや.NETのAPIをフルに使用する
https://zenn.dev/benutomo/articles/3365c3dc61a9d3
.NET Standard 向けにビルドされたアセンブリーから .NET Framework や .NET (Core) の API を使用する方法について。
入り口となる .NET Standard 向けのビルドを用意して、それぞれのランタイム向けのアセンブリーを読み込み呼び出すという手法。
Uno Platform for Figma Preview 5: Enhanced Features for Designers and Developers
https://www.infoq.com/news/2023/04/uno-platform-figma-plugin-5/
Uno Platform の Figma 向けプラグインの Preview 5 での機能強化された点についての紹介。
Deep Dive
Constant folding for SIMD comparisons by EgorBo · Pull Request #85584 · dotnet/runtime
https://github.com/dotnet/runtime/pull/85584
SIMD 比較での定数畳み込みの PR。
In .NET 8.0 JIT is able to perform constant folding for SIMD operations, example: (https://t.co/CHwfC8CZ79) pic.twitter.com/ZcWkp29jJf
— Egor Bogatov (@EgorBo) May 1, 2023
Allocate Array.Empty on a frozen segment (NonGC heap) by EgorBo · Pull Request #85559 · dotnet/runtime
https://github.com/dotnet/runtime/pull/85559
Array.Empty<T>
のオブジェクトは GC 対象とは別のセグメントに確保されるようになる、という話。
Merged today a PR to make Array<T>.Empty cheaper than it used to be (basically a direct address to a frozen heap object) 🙂https://t.co/mgA5kzZA4S
— Egor Bogatov (@EgorBo) May 3, 2023
Introducing Time abstraction - What's new in .NET 8 Preview 4 [WIP] · Issue #8234 · dotnet/core
https://github.com/dotnet/core/issues/8234#issuecomment-1530525108
時間に関する抽象化 API である TimeProvider が .NET 8 Preview 4 に。
https://t.co/mAHs5VkwZm
— ++C++; // 管理人: 岩永 (@ufcpp) May 2, 2023
TimeProviderもPreview 4で。