InfoQ ホームページ Microsoft に関するすべてのコンテンツ
-
F# 5のnull許容参照型
C# においてnull許容参照型が導入されれば、.NET開発者によるコードの書き方がasync/await以来最も大きく変化することになる。null許容参照型が正式に利用可能になったなら、この機能を正しく動作させるために、null許容の注釈を付けて更新しなければならないライブラリーが無数にある。そして相互運用性を保証するため、F# も同じように対応する必要がある。
-
F# 4.6がリリース、匿名レコード型と性能向上
.NET Core 2.2の最新リリースで利用可能になったF# 4.6の最も重要な変更は匿名レコード型の導入である。さらに、Visual Studio 2019のF# コンパイラーチェーンは、中~大規模プロジェクトのパフォーマンスがいくつかの面で向上した。
-
C# の機能: Defer
GoとSwiftでよく知られるものなのであるが、C#でも提案#1398にてDeferステートメントの希望がされている。概念について把握していない方のために解説をすると、これはfinallyブロックがコードの最後でなく最初に現れるものと説明できる。
-
C#の機能 - ポインタ演算
ネイティ���プラットフォームと相互運用する場合、ポインタ操作に関して極めて特殊なコーディングパターンが必要となることがよくある。Cで記述したシム(shim)を経由すれば可能だが、 "Operators should be exposed for System.IntPtr and System.UIntPtr"と題した提案では,C#から直接提供する方法について論じている。
-
C#機能: 静的デリゲートと関数ポインター
C#のリリースごとに低レベルの機能が追加される。ほとんどのビジネスアプリケーション開発者には不要だが、グラフィック処理、機械学習、数学的パッケージに適したハイパフォーマンスのコードを可能にする。この2つの提案で、新しく関数への参照と呼び出し方法が提供される。
-
MicrosoftがSurfaceやHyper-Vで使用しているUEFI Coreをオープンソースとして公開
Project Muは、デバイスファームウェアの短期間での開発と頻繁なアップデートを可能にし、Project Mu デバイスへの"ファームウェア・アズ・ア・サービス(FaaS)"進化モデルの適用を実現することを目的とする。Microsoftによると、Project Muには、Microsoft SurfaceやHyper-Vなど、いくつかの製品で利用されているものと同じコードが含まれている。
-
.NET Core 3.0 での Systems.Collections
.NET 3.0 の Systems.Collections でタグ付けされた issue リストに目を通すと、受理された提案と却下された提案がそれぞれあることがわかる。このレポートでは、その主要なものをいくつか取り上げる。
-
MicrosoftがAzure FunctionsでのPythonサポートの公開プレビューを発表
先日のConnect()イベントでMicrosoftは,Azure FunctionsのPythonサポートの公開プレビューを発表した。これにより,オープンソースのFunction 2.0ランタイムに基づいてPython 3.6で構築した関数のConsumption Planへのパブリッシュが可能になる。
-
C#機能: ラムダ属性
属性は.NETのメタデータ処理機能の重要な部分である。属性は、コンパイラ、スタティックアナライザ、ランタイムライブラリによってさまざまな目的で使用される。通常の関数/メソッドは属性を持つことができるが、この提案以前はラムダと無名関数は持つことができなかった。
-
.NET CoreにVisual BasicのFile IOを追加
Visual BasicのFile IOライブラリは.NET Core 3.0に移植中である。これには、1回の関数呼び出しでディレクトリをコピーまたは削除する機能、Windowsのごみ箱(p/invokeコードなしで)のサポート、固定幅ファイルも処理できるRFC準拠のCSVパーサなどの便利な機能が含まれる。
-
MicrosoftがAzure Pipelinesの新機能と機能統合について発表
先日のConnect()イベントで、Microsoftは、Azure Pipelinesに関する新機能とインテグレーションについて発表した。その中には、Visual Studio Code用Azure Pipelinesエクステンション、GitHubリリースの管理、IoTプロジェクトのサポート、ServiceNowインテグレーションなどが含まれている。
-
IAsyncDisposableとIAsyncEnumeratorの更新
InfoQが非同期ストリーム提案をカバーしてから、いくつかのデザインに変更があった。もっとも注意すべきなのが軽量のValueTaskオブジェクトを使うことだ。
-
.NET CoreのPure属性
Pure属性が.NETのバージョン4に追加された。これは開発者が他のコードからの副作用のないコードを区別するのに役立つCode Contractsイニシアチブの一部である。Code Contractsプロジェクトが終了した後も、Pure属性は.NET Coreで活躍し続けている。
-
.NET Core 3.0のSystem.Data
あまり注目されていないが、System.Dataは.NETのリレーショナルデータベースアクセスに極めて重要である。System.Dataは前進のActiveX Data Objectsに敬意を表してADO.NETとも呼ばれ、.NETデータベースドライバを構築できる汎用フレームワークを提供する。.NET Core 3.0ではそれほど多くの変更はないが、数年ぶりに基本クラスに新しいメソッドが追加された。
-
C# 8:ジェネリック属性
属性は初期から.NETの一部であった。そういうものとして、ジェネリクスが導入される前に始まり、全く触れられることはなかった。CLRによってサポートされているが、この提案まではC#はジェネリック属性を使用する機能を提供していなかった。