次期「.NET 8」プレビューリリース初公開。ネイティブコンパイラ改善で生成バイナリが約半分に、「Blazor United」登場など マイクロソフトは同社のアプリケーションフレームワーク「.NET」の次期メジャーバージョンアップとなる「.NET 8」の最初のプレビューリリースとなる「.NET 8 Preview Release 1」を公開しました。 マイクロソフトは毎年11月に.NETのメジャーバージョンアップを行っており、そのうち偶数バージョンがLTS(Long Term Support:長期サポート)版となります。そのため「.NET 8」は次のLTS版として11月に正式リリース予定です。 Announcing .NET 8 Preview 1 ... including big improvements to products, libraries, runtime, and too
A year ago, I published Performance Improvements in .NET 6, following on the heels of similar posts for .NET 5, .NET Core 3.0, .NET Core 2.1, and .NET Core 2.0. I enjoy writing these posts and love reading developers’ responses to them. One comment in particular last year resonated with me. The commenter cited the Die Hard movie quote, “‘When Alexander saw the breadth of his domain, he wept for th
マイクロソフトは現在開発中のフレームワーク「.NET 7」で、ソースコードからターゲットプラットフォームに対応したネイティブバイナリをコンパイル時に生成するAOT(Ahead of Time)コンパイラを搭載する見通しだと、「Announcing .NET 7 Preview 3」で明らかにしています。 AOTコンパイラ、すなわち事前コンパイラとは、アプリケーションのビルド時にソースコードをコンパイルしてネイティブバイナリを生成する機能を備えています。 一般に「コンパイラ」とはこのAOTコンパイラのことを指すことが多いですが、アプリケーション実行時にソースコードや中間コードから動的にネイティブバイナリを生成するコンパイラのことをJIT(Just-in-Time)コンパイラと呼ぶのに対比して、あえて「AOTコンパイラ」と呼ぶことも最近では増えてきました。 現在、.NET対応のプログラミング言
[速報」Blazor WebAssemblyが正式リリース。C#/.NETでWebアプリケーションを開発可能に。Microsoft Build 2020 オンラインイベント「Microsoft Build 2020」を開催中のマイクロソフトは、「Blazor WebAssembly 3.2.0」のリリースを発表しました。 Blazor WebAssemblyは、.NETとC#などを用いてWebブラウザ上で実行可能なWebアプリケーションを開発できるフレームワークおよび実行系です。 Blazor WebAssembly 3.2.0はBlazor WebAssemblyとしてフル機能が実装され、本番運用に対応したバージョンです。これによりBlazor WebAssemblyは正式版としてリリースされたことになります。 It's here!!! Blazor WebAssembly 3.2.0
corefx で以下のようなアナウンスが。 .NET Core 3.0 concludes the .NET Framework API porting project buildの時点で .NET を .NET Core ベースに一本化、.NET Framework は 4.8 をもって最後にするという話があったわけですが、 改めてというか、総括的なアナウンスです。 API 数 まず、.NET Framework から .NET Core に移植してきた API 数の総括。 メソッドのオーバーロード1個1個を「1 API」とカウントしてるんだともいますが、以下のような数字が書かれています。 .NET Core 1.0 時点では1.8万個 .NET Standard 2.0 では .NET Framework、.NET Core、Xamarin の共通部分として3.8万個 Windows
マイクロソフトの「Blazor」が正式版に、まずサーバサイドで。C#と.NET Core 3.0に対応したWebアプリケーションフレームワーク マイクロソフトのWebアプリケーションフレームワーク「Blazor」が、.NET Core 3.0のリリースと同時に、本番環境に投入可能な品質に到達したことが明らかになりました。 Blazorは、JavaScriptとReactやAngularなどのフレームワークの代わりに、C#と.NET Coreフレームワークなどを用いてWebアプリケーションの開発を可能にするフレームワークです。 Blazorは、WebAssembly上に.NETフレームワークやランタイムを実装することで、Webブラウザで.NET対応のWebアプリケーションを実現するフレームワークとして登場しました。 この実装は「Blazor WebAssembly」あるいは「Client-s
タイトルの通り、C#のリフレクションのTIPS集です。 これから示すコードは、以下のusingディレクティブが前提のコードとなってます。 using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Reflection; 普段はvarキーワードをよく使ってますが、ここでは変数の型がわかるようにvarキーワードの利用はできるだけ控えています。 それと、いくつかのコードはdynamic使ったほうが簡単に書ける場合もありますが、あくまでもリフレクションのサンプルということでご容赦を。 1. 型名から型情報を得る
Amazon Web Services(AWS)は、米ラスベガスで開催中のイベント「AWS re:Invent 2017」で、サーバレスコンピューティングを提供するAWS Lambdaの機能強化を発表しました。 API GatewayとVPCとの統合機能、3GBメモリサポート、コンカレンシー制御の強化などに加え、.NET Core 2.0のサポートおよびGo言語のサポートが発表されました。 Amazon.com CTOのWerner Vogels氏がGo言語のサポートを発表すると、会場からは大きな拍手があがりました。「たくさんの人から、Go言語はサポートしないのかと聞かれた」(同氏) さらにサーバレスアプリケーションを再利用可能にする公開リポジトリの「AWS Serverless Application Repository」が登場。 AWS コンソールからサーバレスアプリケーションの登録
csharplangに、 C++のビットフィールドみたいなの、C# にもほしい (任意のビット数を表す)bit 型が欲しい みたいなのが投稿されていまして。 「それ、ライブラリとアナライザー、ちょっとしたソースコード生成でできるよ。」という話。 BitFields ライブラリ ということで実装してみたのがこちら。 BitFields ライブラリのソースコード 利用例(double/floatの内部ビット操作とか、RGB555形式とか) 他に、昔実際に仕事で書いたビットフィールドの例 昔、ビットフィールド的なものを手作業実装してた時に、「これはコード生成でやりたい…」とか思ってて、 できる宛まではついてたんですが。 なんだかんだ言ってアナライザーを書くのは結構めんどくさいんで、放置してすでに数年。 まあ、いい機会だから久々に重い腰を上げてアナライザー書いてみるかと思って作ったのが上記のBit
Visual Studio 2017およびVisual Studio Codeで利用可能になったC#言語の新バージョン「7.0」の新機能を、公開されている議論を基に解説。前編として「パフォーマンス向上」と「コード記述の単純化」に関連する6つの新機能を説明する。 ← 前回 連載 INDEX 前編では「データ中心設計」に関連する4つの新機能を説明した。後編である今回は、その続きとして「パフォーマンス向上」と「コード記述の単純化」に関連する6つの新機能を説明する。 本稿ではC# 7.0で追加される機能を10個に分け、さらに「データ中心設計」「パフォーマンス改善」「コードの書きやすさの向上」の3つに分類して紹介する。 【C# 7.0新機能の一覧】 データ中心設計: 1outパラメーター付き引数での変数宣言(Out Var) 2パターンマッチング(Pattern matching) 3タプル(Tup
[速報]Googleが.NET Foundationに加盟、.NETプラットフォームの方向性に関与へ。Connect();//2016 マイクロソフトがニューヨークで開催中のイベント「Connect();//2016」において、Googleが.NET Foundationに加盟することが発表されました。 .NET Foundation welcomes Google, congratulates Samsung https://t.co/vpom8kh3E3 #MSFTConnect pic.twitter.com/HXLgn0m67E — Microsoft News (@MSFTnews) 2016年11月16日 .NET Foundationは2014年4月に設立された団体です。当時マイクロソフトは.NET関連ソフトウェアのオープンソース化を急速に進めているところで、.NET Fou
(現状は)C#専用の、新しいシリアライズフォーマットを作りました。アセットストアには置いてないんですが、GitHubで公開しています。ReadMeが超書きかけですが明日ぐらいには全部書き終わってるはず……。 neuecc/ZeroFormatter 特徴はデシリアライズ速度がゼロなので、真の意味で爆速です。そう、無限大高速。 嘘くせー、って話なんですが、実のところこれは類似品があって、Googleの出してるFlatBuffersと基本的な考えは同じです(他にCap'n Protoというのもあります、こっちも元Googleの人ですね)。デシリアライズ「しない」から速い。つまるところ必要になるときまでパースを先送りするってことです。これは、アプリケーションの作りにもよりますが非常に効果があって、例えばデカいマスタデータをドバッと取得するなんてときに、その場で必要なデータってその巨大データのごく
C# 6からはC#コンパイラーがオープンソース化されたわけですが、 C# 6の言語仕様自体はオープン化前から大筋が決まっていました。 C# 7は、仕様を決めるかなり早い段階からすべてがオープンとなる初めてのバージョンになります。 C# 7以降のC#の大きなテーマとしては以下のようなものがあります。 データ中心の設計 パフォーマンスや信頼性の向上 C# 7にはその最初の一歩となる機能がいろいろと追加されています。 また、この大きなテーマ以外にも、こまごまとして改善が何点かあります。 データ中心の設計 伝統的なオブジェクト指向的な発想は多くの場面で有用ですが、別の発想を持つ方が好ましい場面もあります。 オブジェクト指向では、具体的なデータは隠蔽し、メソッド越しにデータを操作します。 振る舞い中心(behavior-centric)な設計になります。 一方で、関数型言語では、純粋なデータ(C#で
みなさんいかがお過ごしでしょうか、MSPマーケティング職のがりっち( @garicchi )です。 皆さんはExcelを触っているとき、こんなことを思ったことはありませんか? Excelの関数調べるのめんどくさい… C#が使えたらいいのに… Excelの関数(SUM(B3,BC5)とか)に詳しい人なら思わないかもしれませんが、プログラマーがExcelを触るとこのように思ったことがある人はいると思います。 実際にExcel内の関数でif分岐はできますが、1行で書かなければいけなかったり、いろんな条件式が積み重なるとカオスな状態になってしまいます。 カオスな条件式の例 プログラムを経験されている方ならば、「C#っぽい構文で書ければ条件式も見やすくなるのに…」と一度は思ったことがあるはずです。 C#ならば複雑な条件式も(比較的)見やすい 「 ああ…Excel
Model View ViewModelパターン(以下MVVMパターン)が登場して約10年になります。 ここらへんで一度MVVMを実装するうえで必要になる技術要素を振り返ってみたいと思います。 その前にMVVM MVVMは以下のWikipediaあたりでも見てください。 Model View ViewModel - Wikipedia 見た目と、それ以外にクラスを分離して、さらに見た目をXAMLで作りやすいようにViewとViewModelに分離したようなイメージです。 見ていこう ということでMVVMで必要になる技術要素を見ていこうと思います。 INotifyPropertyChangedインターフェース まずは、これが無いと始まりません。MVVMではViewはViewModelを監視して、ViewModelはModelを監視していることが多いです。その時に、クラスのプロパティが変わった
ブログ: What’s New in C# 7.0 Roslynリポジトリ内の話じゃないんですけど、Preview 4でのC# 7の動きについて、Madsがブログ書いてました。 What’s New in C# 7.0 そういや、この文章だと「C# 7.0」。 昔ちょっとブログ書きましたけど、最近って小数点以下のバージョン付けないんですけど。 C# 7はずっと「7」ばっかりみてたけど、久々に「7.0」表記。 この辺り、最近、C#チーム内でも統一してないなぁ… C# 7.0の内容 このブログの内容的には、 先日僕もブログで書いたのとそんなに差がないんで詳細は省略。 Visual Studio "15" Preview 4 差分というか、僕が書いた方で漏れてるのは、以下の内容: out varのwildcard out varと一緒に、*、要するに、受け取る必要のない out 引数を無視するた
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く