並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 137件

新着順 人気順

".NET Core"の検索結果1 - 40 件 / 137件

".NET Core"に関するエントリは137件あります。 .NETC#.NET Core などが関連タグです。 人気エントリには 『【C#】C# の async/await は実際にどうやって動いているか。 - ねののお庭。』などがあります。
  • 【C#】C# の async/await は実際にどうやって動いているか。 - ねののお庭。

    はじめに 登壇版 Taskの本質 C# のイテレータ async/await Compiler Transform ExecutionContext builder.Start() の重要性 IAsyncStateMachine.MoveNext おわりに はじめに C#er は呼吸するように使っている async/await。 そんな async/await について、先日 Stephen Toub 氏 (.NET の中の人。中心人物の一人。) が How Async/Await Really Works in C# という非常に面白い記事を投稿していました。 この記事では Stephen 氏の記事をベースに、C# において async/await は実際どうやって動いてるの?というお話をしていきます。 以前に C#での非同期メソッドの分析。 という翻訳記事を書いたのですが、元になった記

      【C#】C# の async/await は実際にどうやって動いているか。 - ねののお庭。
    • [速報]マイクロソフト「.NET 5」正式リリース。1つのフレームワークでWindows/Mac/Linuxのデスクトップ、サーバアプリ、Webアプリなどが開発可能に

      [速報]マイクロソフト「.NET 5」正式リリース。1つのフレームワークでWindows/Mac/Linuxのデスクトップ、サーバアプリ、Webアプリなどが開発可能に マイクロソフトは、アプリケーションフレームワークの最新版となる「.NET 5」正式版のリリースを発表しました。 .NET 5は「.NET Framework」と「.NET Core」フレームワークを統合し、その後継となるオープンソースのフレームワークです。 これにより長いあいだマイクロソフトのもっとも重要かつプロプライエタリなフレームワークだった「.NET Framework」が、その地位を正式にオープンソースの「.NET 5」へ譲ることになります。 Announcing .NET 5.0 https://t.co/dwjJTZA399 — .NET (@dotnet) November 10, 2020 .NET 5はWi

        [速報]マイクロソフト「.NET 5」正式リリース。1つのフレームワークでWindows/Mac/Linuxのデスクトップ、サーバアプリ、Webアプリなどが開発可能に
      • 【C#】SOLID原則を学ぼう - Annulus Games

        今回の記事はオブジェクト指向プログラミングにおける設計の基本、「SOLID原則」について。 ある程度プログラミングの文法を知っていれば、動作するコードを書くことは可能です。しかし、より良いコードを書きたいのであれば、文法の知識だけではなく、設計に関する知識も必要になってきます。 特にUnityでは、適当にコードを書いていくと目も当てられないようなスパゲッティーコードが容易に出来上がります。「とりあえずシングルトンにすりゃいいや!」みたいなノリで「何とかManager」クラスを作りまくった結果、「あれ?この処理どこに書いたんだっけ?」という状況になったこと、誰しも一度はありますよね…? 今回は、そんなクソk…良くないコードを書かないための設計原則である「SOLID原則」について紹介します。記事内のコードはC#で記述しますが、言語に関わらずSOLID原則は広く応用の効く考え方なので、是非とも覚

        • 「.NET Core 3.0」正式版が登場。Windowsデスクトップアプリ開発可能、exeファイルを生成、マイクロサービス対応など

          マイクロソフトはオープンソースで開発している.NETフレームワークの最新版「.NET Core 3.0」正式版のリリースを、オンラインイベント「.NET Conf 2019」で発表しました。 マイクロソフトが提供するおもなフレームワークには、Windows向けの「.NET Framework」、当初はおもにサーバアプリケーション向けとして登場したオープンソースの「.NET Core」、そしてモバイル向けの「Xamarin」の3つに大別できます。 今回リリースされた「.NET Core 3.0」では、これまで可能だったLinuxやWindows Serverのサーバーアプリケーションの開発に加えて、Windowsデスクトップアプリケーションの開発が可能になったことが最大の特徴です。 以下、.NET Conf 2019で紹介された.NET Core 3.0の特徴を中心に紹介しましょう。 .NE

            「.NET Core 3.0」正式版が登場。Windowsデスクトップアプリ開発可能、exeファイルを生成、マイクロサービス対応など
          • .NET 5 を使いたい理由6選 - Qiita

            速いので使いたい 私の場合、ここ数か月で一番素晴らしいニュースだと感じたブログがこれでした。 https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-5/ .NET5 がどれだけパフォーマンス向上のために努力してきたかという内容です。 ものすごいボリュームで読むのが大変でしたが、満足感のある記事でした。 この記事を読んだだけでも、早く.NET 5 を使いたいという気持ちになりました。 パフォーマンスが良くなったという知らせはいつでもエンジニアの気持ちを高揚させるのだと思います。 使いたい理由1 : GCが高速化した いくつものアプローチを重ねたことが記されていました。 GCが到達可能オブジェクトをマークする処理の情報を他のスレッドでも流用できるようにして、各スレッド内の同処理の作業量を一部省略可能にした G

              .NET 5 を使いたい理由6選 - Qiita
            • 今日からできる!簡単 .NET 高速化 Tips

              Event : Visual Studio Users Community Japan #1 Date : 2019/09/14 ソフトウェア/サービス開発において最も後回しにされるものの代表が「パフォーマンスの向上」です。C#/.NET の最大の武器は開発生産性ですが、C# 7.0 以降はパフォーマンス向上のための機能追加が多数行われています。いくつかのポイントを押さえることで実装時からより高速なコードを書くことができるようになります。 このドキュメントでは、そんなポイントとなる箇所をふんだんにお届けします。

                今日からできる!簡単 .NET 高速化 Tips
              • AWS、Linux対応の.NET Coreへ、Windows用.NET Frameworkアプリの移植支援ツール「Porting Assistant for .NET」発表

                Amazon Web Services(AWS)は、.NET Frameworkを用いて開発されたアプリケーションを、.NET Coreを用いたアプリケーションへ移植するための支援ツール「Porting Assistant for .NET」を発表しました。 .NET FrameworkはWindowsアプリケーションを開発するためのWindows専用フレームワークおよびランタイムとしてマイクロソフトが提供してきたものです。 しかしマイクロソフトは2015年に.NET FrameworkのサブセットとしてWindows、Mac、Linuxに対応したオープンソースの.NET Coreを発表。 2019年には.NET Coreが.NET Frameworkを引き継ぐとして.NET Coreへの開発に注力し、.NET Framworkは現バージョンである4.8以後、新機能の開発は行われなくなるこ

                  AWS、Linux対応の.NET Coreへ、Windows用.NET Frameworkアプリの移植支援ツール「Porting Assistant for .NET」発表
                • .NET Core 3.0 で gRPC がシームレスに統合されて素晴らしい件 - ecbeing labs(イーシービーイング・ラボ)

                  こんにちは、アーキテクトの小林です。 .NET Core 3.0 がついに GA になりました。 .NET Core 3.0 では gRPC の機能サポートが組み込まれています。 今回は .NET Core 3.0 で簡単に gRPC の開発をスタートすることができることを知っていただいきたいと思いまして、gRPC サーバーとクライアントの疎通確認ができるまでの手順を記事にしてみました。 そもそも gRPC とは何? gRPC は、Google によって開発されたスキーマファーストの RPC(リモートプロシージャーコール)フレームワークで、マイクロサービスアーキテクチャにおけるサービス間通信において有力な選択肢として注目されている技術です。 マイクロサービスアーキテクチャでは、大きなシステムを細かいサービスに分割し、各サービスを独立させ、疎結合に保つことが重視されます。細かいサービスに分割

                    .NET Core 3.0 で gRPC がシームレスに統合されて素晴らしい件 - ecbeing labs(イーシービーイング・ラボ)
                  • 私が Azure Functions アプリケーションの開発時に意識していること - しばやん雑記

                    ここ数年は Azure Functions をフルに活用したアプリケーションを実装することが多かったのですが、同時に Azure Functions を失敗しないように使う方法も分かってくるので、ここらでちゃんと言語化しておきます。 最近は特に Azure Light-up というハッカソンを行うことが多いのですが、Azure Functions を使う場合には必ずこの辺りは毎回説明するようにしています。要するに Azure Functions の利点・特性を理解して賢く使いこなそうという話です。 Binding / Trigger で実現出来ないか考える Function の実装は出来る限り小さく保つ リトライのしやすい実装を重視する 最新の .NET での作法に沿ったコードを書く Graceful Shutdown に対応したコードを書く 機能単位で Function App プロジェ

                      私が Azure Functions アプリケーションの開発時に意識していること - しばやん雑記
                    • .NET Core/C#なら“どこでも”動く ~そう、「Windows 3.11」でもね!/Microsoftのなかの人が“Twitter”でやり方を解説【やじうまの杜】

                        .NET Core/C#なら“どこでも”動く ~そう、「Windows 3.11」でもね!/Microsoftのなかの人が“Twitter”でやり方を解説【やじうまの杜】
                      • ZString - Unity/.NET CoreにおけるゼロアロケーションのC#文字列生成

                        Cy#の河合です。今回、文字列生成におけるメモリアロケーションをゼロにする「ZString」というライブラリを公開しました。そこで、この記事ではZStringの紹介の他に、あらためてC#の文字列についてを深く分解して解説し、Stringの複雑さと落とし穴、そしてZStringの必要性について解説します。 [GitHub – Cysharp/ZString] 以下の表は `”x:” + x + ” y:” + y + ” z:” + z` という単純な文字列連結においてのパフォーマンス計測です。 それぞれ “x:” + x + ” y:” + y + ” z:” + z ZString.Concat(“x:”, x, ” y:”, y, ” z:”, z) string.Format(“x:{0} y:{1} z:{2}”, x, y, z) ZString.Format(“x:{0} y:

                          ZString - Unity/.NET CoreにおけるゼロアロケーションのC#文字列生成
                        • HttpClient よりも HttpClientFactory を利用したほうが良いかも - 世界のやまさ

                          .NET において REST API を呼び出す際、多くの方が HttpClient を使用すると思いますが、その時の注意点が帝国兵さんの Qiita で書かれています。 qiita.com この記事に書いてある通りで、 HTTP Client インスタンスをいちいち破棄して作成を繰り返していると、CLOSE_WAIT または TIME_WAIT 状態の SNAT ポートが増えてしまい、ポートが枯渇して通信ができなくなります。 具体的には hping3 で繰り返しリクエストを行っているのと同じ状態であると思います。 hping3 の使い方の具体例は宇田さんのサイトをご覧ください。 www.syuheiuda.com さて、 private static readonly HttpClient HttpClient; を使うのも良いと思いますが、 .NET Core 2.1 以降 であれば

                            HttpClient よりも HttpClientFactory を利用したほうが良いかも - 世界のやまさ
                          • .NET Core 3.0 + Windows 10 で WPF 開発 というタイトルで .NET Conf 2019 で登壇してきました - かずきのBlog@hatena

                            登壇資料アップロードしました。 .NET Core 3.0 + Windows 10 で WPF 開発 from 一希 大田 www.slideshare.net 関連記事 基本的に、過去のブログで結構書いてた内容のまとめになります。 WPF 関連 MSIX での自動更新 XAML Islands その 1 XAML Islands その 2 XAML Islands その 3 同じやるなた新しい技術使えたほうが楽しいので、是非デスクトップアプリ開発する機会がある人は虎視眈々と導入機会を伺ってください!

                              .NET Core 3.0 + Windows 10 で WPF 開発 というタイトルで .NET Conf 2019 で登壇してきました - かずきのBlog@hatena
                            • .NET Core 3.0 で WinForms / WPF を使う場合は実行ファイルのパスに注意 - しばやん雑記

                              .NET Core 3.0 では WPF や WinForms が使えるようになっていて、配布時には大体 Self-contained かつ Single-file executables としてパッケージングするのが一般的になるはずです。 Desktop Bridge を使って APPX / MSIX を作るのに近い形ですが、よりカジュアルに扱えます。 単体の exe ファイルだけ配布すれば、実行環境に .NET Core がインストールされていなくても動作するので便利ですが、以下のように自分自身のパスを取ると挙動が .NET Framework の時と異なっています。 using System.Windows.Forms; namespace WindowsFormsApp1 { public partial class Form1 : Form { public Form1() {

                                .NET Core 3.0 で WinForms / WPF を使う場合は実行ファイルのパスに注意 - しばやん雑記
                              • Introducing C# Source Generators - .NET Blog

                                We’re pleased to introduce the first preview of Source Generators, a new C# compiler feature that lets C# developers inspect user code and generate new C# source files that can be added to a compilation. This is done via a new kind of component that we’re calling a Source Generator. To get started with Source Generators, you’ll need to install the latest .NET 5 preview and the latest Visual Studio

                                  Introducing C# Source Generators - .NET Blog
                                • BlazorでiOS/Androidネイティブアプリケーションを開発可能にする「Mobile Blazor Bindings」、マイクロソフトが発表

                                  BlazorでiOS/Androidネイティブアプリケーションを開発可能にする「Mobile Blazor Bindings」、マイクロソフトが発表 マイクロソフトはWebアプリケーションフレームワーク「Blazor」を用いてiOSとAndroidに対応したネイティブアプリケーションを開発可能にする実験的なプロジェクト「Mobile Blazor Bindings」を、1月14日(日本時間1月15日未明)に開催されたオンラインインベント「.NET Conf Focus on Blazor」で発表しました。 Blazorは、C#と.NET Coreを用いてWebアプリケーションの開発を可能にするフレームワークです。JavaScriptを用いず、C#によるプログラミングだけでSPA(Single Page Application)のWebアプリケーションなどを開発できるため、.NETの知識や経

                                    BlazorでiOS/Androidネイティブアプリケーションを開発可能にする「Mobile Blazor Bindings」、マイクロソフトが発表
                                  • ZLogger - .NET CoreとUnityのためのゼロアロケーション構造化ロガー

                                    Cy#の河合です。今回、.NET CoreアプリケーションとUnityのために新しく「ZLogger」というロガーを公開しました。非常に高速、かつ、以前に紹介したZStringをバックエンドに持つことにより、文字列整形時のアロケーションをなくしています。主に .NET Core 向けに開発したものですが、Unity(IL2CPPやモバイル環境を含む)でも動くように調整してあります。 GitHub – Cysharp/ZLogger 特にコンテナ化において、標準出力は重要です。例えばDatadog LogsやStackdriver Loggingは、コンテナの標準出力から直接ログを収集します。Thw Twelve-Factor App – XI. Logsの項でも、標準出力への書き出しが推奨されています。そのような中で、ローカル環境用の装飾過多なログや、低速なConsole.WriteLin

                                      ZLogger - .NET CoreとUnityのためのゼロアロケーション構造化ロガー
                                    • neue cc - ProcessX - C#でProcessを C# 8.0非同期ストリームで簡単に扱うライブラリ

                                      C#使う人って全然外部プロセス呼び出して処理ってしないよね。というのは、Windowsがなんかそういうのを避ける雰囲気だから、というのもあるのですが、ともあれ実際、可能な限り避けるどころか絶対避ける、ぐらいの勢いがあります。ライブラリになってないと嫌だ、断固拒否、みたいな。しかし最近はLinuxでもばっちし動くのでそういう傾向もどうかなー、と思いつつ。 避けるというのはOSの違いというのもありそうですが、もう一つはそもそも外部プロセスの呼び出しが死ぬほど面倒くさい。ProcessとProcessStartInfoを使ってどうこうするのですが、異常に面倒くさい。理想的にはシェルで書くように一行でコマンドと引数繋げたstringを投げておしまい、と行きたいのですが、全然そうなってない。呼び出すだけでも面倒くさいうぇに、StdOutのリダイレクトとかをやると更に面倒くさい。非同期でStdOutを

                                      • .NET Core の設定情報の仕組みをしっかり理解したい方向け基本のキ【その2】 - ecbeing labs(イーシービーイング・ラボ)

                                        こんにちは、アーキテクトの小林です。 前回の記事では、さまざまなプロバイダから提供される情報がフラットな KeyValue データ構造に変換され、後勝ち方式でカスケーディングされていることをご紹介しました。 今回の記事では、フラットな設定情報から階層構造を持ったクラスのプロパティに値をバインドする方法と、設定ファイルが更新されたときに自動的に設定情報を再読み込みさせる方法を紹介します。 まだ前回の記事をお読みでない方は以下をお読みください。 blog.ecbeing.tech 最初から用意されている appsettings.json 設定をバインドする さて、ASP.NET Core Web アプリケーションを新たに作成すると、appsettings.json に最初から以下の設定が用意されています。 appsettings.json { "Logging": { "LogLevel":

                                          .NET Core の設定情報の仕組みをしっかり理解したい方向け基本のキ【その2】 - ecbeing labs(イーシービーイング・ラボ)
                                        • neue cc - C#のasync/await再考, タイムアウト処理のベストプラクティス, UniTask v2.2.0

                                          お題を3つ並べましたが、記事は逆順で書いていきます!というわけで、UniTask v2.2.0を出しました。改めてUniTask v2とはUnityのためのゼロアロケーションasync/awaitと非同期LINQを実現するライブラリで、とv2リリース時の解説記事を貼っつけましたが、ちょいちょい細かい改善を続けてまして、今回v2.2.0になります。 PlayerLoopへのループ挿入のカスタマイズ対応 現状のUnityはPlayerLoop上で動いていて、Unity 2020.1のリストをここに置いておきましたが、デフォルトでは120個ぐらいのループがエンジンから駆動されています。UpdateループだけでもScriptRunBehaviourUpdate, ScriptRunDelayedDynamicFrameRate, ScriptRunDelayedTasks, DirectorUpd

                                          • .NET Core の設定情報の仕組みをしっかり理解したい方向け基本のキ - ecbeing labs(イーシービーイング・ラボ)

                                            こんにちは、アーキテクトの小林です。 .NET Framework は長年に渡って多くの Windows ベースのアプリケーションの開発現場で採用されてきたものですから、.NET Core への移行は「まだまだこれから」という状態ではないかと思います。 .NET Framework のアプリケーションを .NET Core に移行しようと思ったとき、違いが大きすぎて最初に困惑するポイントが設定情報の管理方法の違いであろうかと思っています。 当社の主力製品である ecbeing も .NET Framework でつくられていますが、ecbeing は EC のパッケージ製品ですのでお客様のニーズに合わせて設定による機能のオンオフや、機能の挙動の変更が可能になっており、非常に多くの設定項目が存在します。 したがって設定情報の管理の柔軟さは ecbeing 社のエンジニアにとっては、とてもとて

                                              .NET Core の設定情報の仕組みをしっかり理解したい方向け基本のキ - ecbeing labs(イーシービーイング・ラボ)
                                            • .NET Core上で実数演算すると結果がズレる - Qiita

                                              TL;DR .NET Core(2.2)上で倍精度浮動小数点を使った演算を行うと、同じ順序で計算させても環境によって計算結果がズレるから、比較するときとか注意すべきではないかと考える1。 実際やったこと 実行したテストの内容は以下の通り [-90°,+90°]の区間を1°につき128分割してその弧度を計算した。 予め計算されている上記に対応した弧度を元にして、sin,cos,tan及び、sin/cosを標準のSystem.Mathを使い計算した。 弧度の計算方法 弧度の計算は、以下の二種類を利用した。以下、対応するDegreesをdとする。 単純にd*(Math.Pi/180)を計算させた。 jglmを参考に倍精度浮動小数点の上位32bitを分割した上で、仮数域を拡張して、高精度計算を行った2。 実行環境一覧 今回も多数のご協力を得る事が出来た。 また、この検証を進めるに当たり、多くの方か

                                                .NET Core上で実数演算すると結果がズレる - Qiita
                                              • マイクロソフト、次世代.NETフレームワーク「.NET 5」最初のプレビューリリース。.NET Framework、.NET Core、Xamarinの3つを統合

                                                マイクロソフト、次世代.NETフレームワーク「.NET 5」最初のプレビューリリース。.NET Framework、.NET Core、Xamarinの3つを統合 マイクロソフトは、次世代.NETフレームワークとなる「.NET 5」の最初のプレビューリリースを公開しました。 Announcing .NET 5.0 Preview 1 https://t.co/OE4tYoAEl9 — .NET Team (@dotnet) March 16, 2020 .NET 5は、2019年5月に開催されたイベント「Microsoft Build 2019」で次世代フレームワークとして発表されました。 [速報]オープンソースの「.NET 5」がすべての.NETを引き継ぐ。.NET Frameworkと.NET CoreとXamarinは「.NET 5」に。Microsoft Build 2019 マイ

                                                  マイクロソフト、次世代.NETフレームワーク「.NET 5」最初のプレビューリリース。.NET Framework、.NET Core、Xamarinの3つを統合
                                                • neue cc - ConsoleAppFramework - .NET Coreコンソールアプリ作成のためのマイクロフレームワーク(旧MicroBatchFramework)

                                                  以前にMicroBatchFramework - クラウドネイティブ時代のC#バッチフレームワークという名前でリリースしていたライブラリですが、リブランディング、ということかでConsoleAppFrameworkに変更しました。それに伴い名前変更による多数の破壊的変更と、全体の挙動の調整を行っています。 github/ConsoleAppFramework 当初の想定ではバッチ、特に機能紹介にあるMulti Batchをメイン機能と捉えて作っていたのですが、最終的には汎用的なコンソールアプリケーション用のフレームワークとして出来上がっていたので、より適正な名前にすることで、多くの人に正しく捉えてもらって、届けられるのではないかと思い、今回の変更に至りました。 といったように、 Microsoft.Extensions の仕組みに乗ってLogging, Configuration, DIな

                                                  • File IO improvements in .NET 6 - .NET Blog

                                                    For the table presented above, we can see that the GetLength benchmark was taking 1932 ns to execute on average with .NET 5, and only 58.52 ns with .NET 6. The ratio column tells us that .NET 6 was on average taking 3% of .NET 5 total time execution. We can also say that .NET 6 is 33 (1.00 / 0.03) times faster than .NET 5 for this particular benchmark and environment. With that in mind, let’s take

                                                      File IO improvements in .NET 6 - .NET Blog
                                                    • System.CommandLine 入門 | Yucchiy's Note

                                                      コマンドラインアプリケーションを作りたかったのでSystem.CommandLineを利用してみた。その備忘録としてこの記事を記載します。 System.CommandLine とは System.ConmmandLineは.NETでコンソールアプリケーション(CLI)を作るための.NET公式のライブラリです。 触った印象ではライブラリというよりかはフレームワークの立ち位置の印象です。 主にCLIのコマンドライン引数のパースしその結果をCLIアプリケーションの引数などにマッピングしたり、 CLIアプリのエントリーポイントの呼び出し、そしてヘルプなどCLIでよく実装される出力(System.CommandLineではレンダリングと呼んでいる)を自動で行ったりしてくれます。 サンプルアプリを実装してみる command-line-api/Your-first-app-with-System-C

                                                        System.CommandLine 入門 | Yucchiy's Note
                                                      • Real World .NET Core on Kubernetes

                                                        AWS .NET Developer User Group 勉強会 #2 https://jaws-dotnet.connpass.com/event/146583/ フォローアップ: https://www.misuzilla.org/Blog/2019/10/21/RealWorld.NETCoreOnKubernetes ----- MicroBatchFramework https://github.com/Cysharp/MicroBatchFramework JsonStreamLogger https://github.com/mayuki/JsonStreamLogger Pripod https://github.com/mayuki/Pripod Gist: mayuki/BuildConfigurationLog.cs https://gist.github.com/

                                                          Real World .NET Core on Kubernetes
                                                        • [C#].NET6でnullチェックからおさらば! - Qiita

                                                          if ( result?.list?.Length > 0 ) { // result?.list?.Any() の方が見やすいが、後々の説明の為にLengthを使用 // 処理 }

                                                            [C#].NET6でnullチェックからおさらば! - Qiita
                                                          • ARM64 Performance in .NET 5 - .NET Blog

                                                            The .NET team has significantly improved performance with .NET 5, both generally and for ARM64. You can check out the general improvements in the excellent and detailed Performance Improvements in .NET 5 blog by Stephen. In this post, I will describe the performance improvements we made specifically for ARM64 and show the positive impact on the benchmarks we use. I will also share some of the addi

                                                              ARM64 Performance in .NET 5 - .NET Blog
                                                            • neue cc - 2022年(2024年)のC# Incremental Source Generator開発手法

                                                              このブログでもSource GeneratorやAnalyzerの開発手法に関しては定期的に触れてきていて、新しめだと 2020/12/15 - UnitGenerator - C# 9.0 SourceGeneratorによるValueObjectパターンの自動実装とSourceGenerator実装Tips 2021/05/07 - 2021年のC# Roslyn Analyzerの開発手法、或いはUnityでの利用法 という記事を出していますが、今回 MemoryPack の実装で比較的大規模にSource Generatorを使ってみたことで、より実践的なノウハウが手に入りました。また、開発環境も年々良くなっていることや、Unityのサポート状況も強化されているので、状況を一通りまとめてみようと思いました。Source Generatorは非常に強力で、今後必須の開発技法になるので

                                                              • neue cc - MessagePack for C# v2によるC#における最新のI/Oパイプライン最適化

                                                                MessagePack for C#のVersion 2を本日リリースしました。出る出る詐欺で、一年がかりでリリースまで漕ぎ着けました!とにかくめっちゃ時間かかった、死ぬほど私のリソースが取られていた、ので本当にリリースまで持ってこれてよかった……。めでたし。 今回はとてもOSSっぽく開発していて、メインの開発はMicrosoftのVisual StudioチームのPrincipal Software EngineerであるAndrew Arnottさんが書いています。私はそれに対してひたすら、APIデザインが好きじゃないだの、パフォーマンスが私の基準に満たしてないだの、文句つけまくる仕事をしていました。しかしコードのクオリティはさすがに非常に高くて、私だけだったらここには至れなかっただろうことを考えると、いい感じの共同開発ができたんじゃないかなあと思います。その結果として、一年前に掲示さ

                                                                • Microsoft、「.NET Core 3.0」を正式リリース ~オープンソース化されたWPF/WinForms開発をサポート - 窓の杜

                                                                    Microsoft、「.NET Core 3.0」を正式リリース ~オープンソース化されたWPF/WinForms開発をサポート - 窓の杜
                                                                  • Announcing .NET 5.0 - .NET Blog

                                                                    We’re excited to release .NET 5.0 today and for you to start using it. It’s a major release — including C# 9 and F# 5 — with a broad set of new features and compelling improvements. It’s already in active use by teams at Microsoft and other companies, in production and for performance testing. Those teams are showing us great results that demonstrate performance gains and/or opportunities to reduc

                                                                      Announcing .NET 5.0 - .NET Blog
                                                                    • C#でもラズパイIoTができる! .Net Coreで環境構築しよう

                                                                      対象読者 IoTに興味があり、C#とRaspberry Pi(Linux環境)の基本的な知識がある方を対象とします。Linuxや電子工作の初歩的な説明は割愛しているので、「ラズベリーパイをつかったセンサープログラミング超入門」の記事なども併せて参照してください。 はじめに アプリケーションのコーディングは、Windows環境にインストールしたVisual Studioで行います。Raspberry Piには、.Net CoreのSDKをインストールし、実行に必要なファイルを転送することにします。 第1回の今回は、WindowsとRaspberry Pi環境の準備を解説します。 .Net Coreの歴史 .Net Coreにふれる前に、少し.NETの歴史をふりかえってみましょう。 Microsoftは、アプリケーションの開発・実行環境となる.NET Frameworkを開発し、2002年にバ

                                                                        C#でもラズパイIoTができる! .Net Coreで環境構築しよう
                                                                      • Announcing .NET Jupyter Notebooks

                                                                        Jupyter Notebooks has been the significant player in the interactive development space for many years, and Notebooks have played a vital role in the continued popularity of languages like Python, R, Julia, and Scala. Interactive experiences like this give users with a lightweight tool (I like to say "interactive paper") for learning, iterative development, and data science and data manipulation. T

                                                                          Announcing .NET Jupyter Notebooks
                                                                        • dotnet-5.0のシングルファイルアプリについて - Qiita

                                                                          <ItemGroup> <!-- 新しく指定する場合 --> <アイテム種別 Include="[globパターン]" プロパティ名1="プロパティ値1"> <プロパティ名2>プロパティ値2</プロパティ名2> </アイテム種別> <!-- 既存のアイテムに追加したい場合 --> <アイテム種別 Update="[globパターン]" プロパティ名1="プロパティ値1> <プロパティ名2>プロパティ値2</プロパティ名2> </アイテム種別> </ItemGroup> PublishSingleFile この件について、まず挙げられるのがPublishSingleFileフラグだろう。 dotnet publishの実行時、PublishSingleFile=trueプロパティを追加すれば、付随するアセンブリファイルが全て一つの実行可能ファイルにまとめられる。 また、必ずネイティブバイナリ

                                                                            dotnet-5.0のシングルファイルアプリについて - Qiita
                                                                          • Performance Improvements in .NET 5 - .NET Blog

                                                                            In previous releases of .NET Core, I’ve blogged about the significant performance improvements that found their way into the release. For each post, from .NET Core 2.0 to .NET Core 2.1 to .NET Core 3.0, I found myself having more and more to talk about. Yet interestingly, after each I also found myself wondering whether there’d be enough meaningful improvements next time to warrant another post. N

                                                                              Performance Improvements in .NET 5 - .NET Blog
                                                                            • [C#] もはや我々はnew ArgumentNullException(...)する必要はない - Qiita

                                                                              null許容参照型が導入された現在でも、引数のnullチェックに事欠かくことのない皆様、いかがお過ごしでしょうか。 今日もnew ArgumentNullException(...)していますか。 しかし、もうこんなことをする必要はないんです。 .NET6以降の世界には ArgumentNullException.ThrowIfNull(object? argument, string? paramName = default) が存在します。 これによって我々は、 public void AMethod(string str) { if (str is null) throw new ArgumentNullException(nameof(str)); ... }

                                                                                [C#] もはや我々はnew ArgumentNullException(...)する必要はない - Qiita
                                                                              • Announcing .NET Core 3.0 - .NET Blog

                                                                                .NET Conf 2023 The biggest .NET virtual event is back, November 14-16! Announcing .NET Core 3.0 We’re excited to announce the release of .NET Core 3.0. It includes many improvements, including adding Windows Forms and WPF, adding new JSON APIs, support for ARM64 and improving performance across the board. C# 8 is also part of this release, which includes nullable, async streams, and more patterns.

                                                                                  Announcing .NET Core 3.0 - .NET Blog
                                                                                • Get started with ChatGPT in .NET - .NET Blog

                                                                                  Welcome back to this blog series on OpenAI and .NET! If you’re new here, check out our first post where we introduce the series and show you how to get started using OpenAI in .NET. The focus of this post is on ChatGPT and how you can use OpenAI models in conversational interfaces using .NET. Let’s get started! What is ChatGPT? The ChatGPT is a language model optimized for conversational interface

                                                                                    Get started with ChatGPT in .NET - .NET Blog

                                                                                  新着記事