タグ

.NET Frameworkに関するblythegirlsのブックマーク (76)

  • .NET Core Runtime (CoreCLR) / .NET Compiler Platform (Roslyn) / .NET Execution Environment (DNX) の役割について理解したい - しばやん雑記

    自分でも最近の .NET Core 5 周りで混乱してきたので、整理するために簡単にまとめました。略称も色々なので、そのあたりと役割も一緒に分かってる範囲で書きます。 .NET Core Runtime (CoreCLR) GitHub でオープンソースになると話題になった部分で、RyuJIT や GC などマネージコードの実行に必要な機能を提供します。.NET Framework を 1 つの DLL にした感じです。 ビルドすると以下のようにバイナリが生成されます。 Windows Linux OS X 共有ライブラリ coreclr.dll libcoreclr.so libcoreclr.dylib エントリポイント corerun.exe corerun corerun 既に Linux / OS X でも x64 であればコンパイルして、実行可能なレベルにまで開発が進んでいるよ

    .NET Core Runtime (CoreCLR) / .NET Compiler Platform (Roslyn) / .NET Execution Environment (DNX) の役割について理解したい - しばやん雑記
  • C#で高精度なテキストファイル文字コード自動判別(2014年版) - hnx8のブログ

    C#(.NET Framework)に限ったことではありませんが、汎用的にテキストファイルを扱うようなアプリケーションを作っていると、よく 特定の文字コードのファイルしか読み出せないのでは困る ⇒文字コードを自動判別し、テキストの内容を取り出したい 読み出したファイルと同じ文字コードでファイルを書き出したい ⇒読み出したファイルの文字コードを知りたい といった場面に出くわします。 ですが、C#(.NET Framework)標準のライブラリではそのような機能は提供されていないため、文字コードを判定するには、 自前で文字コード判定のロジックを実装する 出来合いの外部ライブラリ、Windows版NKF32.dll、ICU4Cなどを利用する IE用の文字コード判別ライブラリ(mlang.dll)を利用する ※COMコンポーネント呼び出し要 のいずれかの方法を取ることになります。 HNXgrepと

    C#で高精度なテキストファイル文字コード自動判別(2014年版) - hnx8のブログ
  • 今から始める、Windows 10&新.NETへの移行戦略

    2014/11/29 第7回 業開中心会議 にて https://itmedia.smartseminar.jp/public/seminar/view/663Read less

    今から始める、Windows 10&新.NETへの移行戦略
  • マイクロソフト、Linux版の.NETをDocker上でデモ。Visual Studioからリモートデバッグ可能

    マイクロソフト、Linux版の.NETDocker上でデモ。Visual Studioからリモートデバッグ可能 マイクロソフトは先週開催した同社のイベントConnect();で、.NETコアランタイムと.NET server frameworkのオープンソース化、およびLinux版とMacOS X版オフィシャルディストリビューションのリリースを発表しました。 [速報]マイクロソフト、サーバサイドの「.NET Core Rutime」と「.NET Framework」のオープンソース化を発表。C#コンパイラやASP.NETなど [速報]マイクロソフト、「.NET server framework」のLinuxMacOS X用オフィシャルディストリビューションを発表。.NETアプリケーションのビルド、実行が可能に これにあわせて同社は、Linux上のDockerコンテナの上でC#で記述され

    マイクロソフト、Linux版の.NETをDocker上でデモ。Visual Studioからリモートデバッグ可能
  • C#/.NETがやっていること 第二版

    2. 今日の内容 • C#や.NET Frameworkがやっていること • どうしてそういう機能がある • (自前で実装するなら)どうやればできる • (自前でやる上で) 気を付ける必要がある点 3. 注意 • ベースは3月にBoost勉強会でやった内容 • 通常の3倍速で1時間で話した • 来、1時間で話す内容じゃない • かなりの前提知識を仮定 • 3時間話します • いくつか追記 • 前提をだいぶ緩めたので背景説明など • .NET vNextがらみ追加 • 5月の非同期勉強会での内容も少しマージ 同じような内容でも回数重ねてこなれてきてたり

    C#/.NETがやっていること 第二版
  • .NET Framework の正規表現とメールアドレス検証に悩まされた件 - しばやん雑記

    今週は .NET Framework の正規表現とメールアドレス検証に目いっぱい悩まされました。事の顛末を説明すると以下のような感じ。 正規表現 Regex クラスはデフォルトでは文字クラスの扱いなどが、ECMAScript の挙動とは異なるので悩みました。 もしかして:.NET の正規表現で \d は全角も通る— しばやん (@shibayan) June 18, 2013 コード例を出して説明すると、電話番号のように数値(とハイフンとか)のみ入力可能にする検証を正規表現で書いていたわけですよ。 public class User { // 03-1234-5678 という電話番号を期待 [RegularExpression(@"\d{2,4}\-\d{1,5}\-\d{4}")] public string PhoneNumber { get; set; } } こう書くと、半角数字し

    .NET Framework の正規表現とメールアドレス検証に悩まされた件 - しばやん雑記
  • neue cc - .NET最先端技術によるハイパフォーマンスウェブアプリケーション FAQ

    Build Insider Offlineにて、「.NET最先端技術によるハイパフォーマンスウェブアプリケーション」と題して、グラニのC#によるウェブアプリケーション作成の仕組みについて話してきました。 一日でViewsが1万、はてブが250と、ドトネト系にしては珍しく多くの人に見てもらえたようでなにより。 今までのC#関連って、MS純正ライブラリを使ったどうのこうの、というのはありましたが、外部ライブラリを組み合わせて、実践的にどうしているかっていうような話ってほとんどなかったんですよね。やってるところがない、ことはないのですが、しかし表にない、見えないものはないに等しいです。 別にC#だって自分達の手でライブラリを選び、作り、組み上げていく。それがこれからの時代のスタンダードです。遅れていたのかもしれません。しかし、遅すぎるなんてことはない。素材は良いし、.NETは死んだのでなく、むし

  • 普通の人は全く知らないでもいい MSIL の基礎知識

    .NET基礎勉強会 http://connpass.com/event/2441/ で ILについてお話させていただく事になったんですが、まぁ 30分枠ぐらいだと、だいぶ話せる事が限られるんで、あらかじめ Blog に記事乗せといた方が良いかなー的に書いておきます。 「手元にございますMSIL命令表をご覧ください」 「えっ、どこよ?」 .NET Framework がインストールされている環境であれば、MSIL命令表は入っています。mscorlibアセンブリ、 System.Refrection.Emit 名前空間配下の OpCodes クラスのOpCode型フィールドをリフレクションで舐めてください。 命令表としての活用の仕方にもよりますが、プレフィックスバイト等も命令表には入っています (Prefix1 etc)、自分の用途でプレフィックスとか要らない場合には、そういう物をフィルタして

    普通の人は全く知らないでもいい MSIL の基礎知識
  • いつWPFをAsyncとReactive Extensionsと一緒に使うべきか

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    いつWPFをAsyncとReactive Extensionsと一緒に使うべきか
  • .NET 4.5 で SmtpClient の挙動が変わっていたらしい - しばやん雑記

    .NET 4.5 で作ってるアプリケーションにメール送信機能があるんですが、どうも特定の環境で件名が文字化けする現象が発生しました。何故か件名の最後の方の文字だけ化けるという嫌な感じな化け方でした。 ちなみに、日語の件名なので以下の記事のように ISO-2022-JP と Base64 でエンコードするような処理を書いていました。 SmtpClientで日語(JIS)が化ける - Neutral Scent しかし、これでも文字化けしていたので疑問に思っていたのですが、メールのソースを見ると明らかにエンコーディングがおかしくなっているようでしたので、それで検索してみるとこんな情報がありました。 .NET Framework 4.5 の System.Net.Mail で日語の件名を ISO-2022-JP の Base64 でエンコードして送信する方法 - Exchange ブログ

    .NET 4.5 で SmtpClient の挙動が変わっていたらしい - しばやん雑記
  • クラスのインターフェースに使うコレクションのinterface使い分け - the sea of fertility

    この記事は C# AdventCalender 2012 の12/17日分の記事です。 タイトルなんのこっちゃ?って思われるかもしれませんが、今年はMVVMとは関係ないC#erらしいタイトルを・・・という事自信がなくなるクラスのインターフェースに使う(プロパティの型として使う)コレクションinterfaceの使いわけを自身の整理のためにも書いてみます。 ようは public class Tweet{ } public class TwitterApplication { public [?(なんかコレクションのインターフェース)] Tweets{get; private set;} } みたいな時にこの「?」に何を使うかという問題ですね。 .NET4.5ではIReadOnlyCollection<T>/IReadOnlyList<T>/IReadOnlyDictionary<T>などの読み

  • .NET Frameworkのバージョンを整理する

    対象ソフトウェア:Windows Vista/Windows 7/Windows 8/Windows 8.1/Windows 10、Windows Server 2008/Windows Server 2008 R2/Windows Server 2012/Windows Server 2012 R2/Windows Server 2016、.NET Framework 1.0/1.1/2.0/3.0/3.5/4/4.5/4.5.1/4.5.2/4.6/4.6.1/4.6.1/4.7/4.7.1 .NET Framework対応アプリケーション(.NETアプリケーション)を利用するには、対象コンピュータに.NET Frameworkを展開(インストール)する必要がある。 この展開作業における厄介な問題の一つは、.NET Frameworkに何種類ものバージョンがあって混乱しやすいことだ。展

    .NET Frameworkのバージョンを整理する
  • Web API よりも HttpClient に注目したい - しばやん雑記

    NuGet で公開されていた System.Net.Http.dll が .NET Framework 4.5 では BCL 入りを果たしました。このアセンブリには HttpClient という全く新しい HTTP のクライアントが入っています。 これって元々は ASP.NET Web API 向けに HTTP を綺麗にラップしたクラスなんですが、正直なところ WebClient とかそんなレベルじゃないぐらい高機能で使い勝手がいいんですよ。 REST 対応 HttpClient に用意されている主な HTTP 通信用のメソッドは以下の通りです。 GetAsync PostAsync PutAsync DeleteAsync はい、見事に HTTP 動詞です。これで RESTful な API でも簡単に叩くことが出来るし、HttpWebRequest で何故か HTTP 動詞を文字列で指

    Web API よりも HttpClient に注目したい - しばやん雑記
  • .NET Framework 4でのString.Joinの実装変更 - kkamegawa's weblog

    昨日書いたStringBuilder遅いよという話(id:kkamegawa:20120814:p1)。会社でちょっとしてみたら、あれ、.NET 3.5ではそんなことなかったのにみたいな話を聞きました。ちょうど今日昨日のblog元ネタのYuanさんがStringBuilderとString.Joinでどのくらい差が出るかという記事を書いていたので、それを.NET 4と.NET 3.5で比べてみました。 Performance Tips: Faster than StringBuilder? - Feng Yuan (袁峰) - Site Home - MSDN Blogs YuanさんのエントリではSystem.Diagnostics.StopWatch.Restart()を使っていますが、Restart()は.NET 4からのメソッドなので、Reset()/Start()に変えています。

    .NET Framework 4でのString.Joinの実装変更 - kkamegawa's weblog
  • .NETのStringBuilder vs String.Concatについて(少し修正) - kkamegawa's weblog

    (コメントをいただいたので、4と10を変更しました) Performance Tips: System.Text.StringBuilder and String.Concat - Feng Yuan (袁峰) - Site Home - MSDN Blogs 文字連結にSystem.Text.StringBuilderを無条件に使うものじゃないよという話です。簡単に翻訳してみます。突っ込みとかあればよろしく。怒られたら消します(^^;。 String.Concat(str1, str2)は二つの文字列連結で最高の性能だよ!StringBuilderなんか使っちゃだめだよ。 String.Concat(str1, str2, str3) と String.Concat(str1, str2, str3, str4)は3つか4つの文字列連結では大体大丈夫。この場合もStringBuilder

    .NETのStringBuilder vs String.Concatについて(少し修正) - kkamegawa's weblog
  • 非同期処理とディスパッチャー

    24日・25日とWDDに行ってたわけですが。 講演者の皆様、UIスレッドとディスパッチャーの話で苦労されてた印象。この辺りの仕組み、どうなんだろうなーとか、少し書いておこうかと。 UIスレッドに紐付いたクラス まず前提。 UIスレッド まず、GUIがらみのクラスは、単一スレッドからしかアクセスできないように作ってあります。スレッド安全に作ろうとするとパフォーマンスが出ないので、いっそのこと、UIスレッド以外からアクセスがあったら例外を出して止まるように作ってあります。 この、GUIコンポーネントと紐付いているスレッドがUIスレッドです。 エンド ユーザーからの入力なんかを受け付けているのもこのUIスレッドで、UIスレッド上で時間がかかる処理をすると、UIがフリーズします。 なので、時間がかかる処理をするときは、一度別スレッドで処理して、結果をUIスレッドに戻すというフローが必要です。 WP

    非同期処理とディスパッチャー
  • Null非許容

    先週、「C#にもNull非許容な型が欲しい」という話をされたものの「うん、欲しいね」としか返せなかったり。要望は昔からあるけども、実際入れようと思うと結構大変。という話、説明しておいた方がいいんだろうなぁと思ったので、ブログにしてみることに。 先に結論の要旨だけ書くと、以下のような感じ。 C#だけで完結する問題じゃなく、.NETレベルで対応するのは今からだときつい Code Contracts使って契約プログラミングするのがいいよ 以下詳細。 公式の見解 Anders Hejlsberg も、「もしもの話」として、1からの再設計が許されるなら C#/.NET をどうしたいかという質問に対して「Null 許容性の見直し」を挙げています。 一時期、結構頻繁にそういっていたと思います。少し検索して出てきたのでいうと、以下の Q&A インタビューの、1:00:00 からのくだり。 今、値型に関して

    Null非許容
  • neue cc - Modern C# Programming Style Guide

    C# Advent Calendar 2011、ということで、C# 4.0時代のプログラミングスタイルについて説明してみます。モダン、というけれど、某書のように変態的なことじゃなくて、むしろ基的な話のほうです。こういったものはナマモノなので、5.0になればまた変わる、6.0になればまた変わる。変わります。古い話を間に受けすぎないこと(歴史を知るのは大事だけど、そのまま信じるのは別の話)、常に知識をリフレッシュするようにすること。そういうのが大事よね。でも、だからってモダンに書けなきゃダメ!なんてことはありません。ただ、知ること、少しずつ変えていくこと、そういうのは大事よね、って。 ところでしかし、私の主観がかなり入っているので、その辺は差っ引いてください。 varを使う C# 3.0から搭載された型推論での宣言。出た当初には散々議論があって、今もたまに否の意見が出てきたりもしますが、va

  • neue cc - Voidインスタンスの作り方、或いはシリアライザとコンストラクタについて

    voidといったら、特別扱いされる構造体です。default(void)なんてない。インスタンスは絶対作れない。作れない。当に? var v = System.Runtime.Serialization.FormatterServices.GetUninitializedObject(typeof(void)); Console.WriteLine(v); // System.Void 作れました。というわけで、GetUninitializedObjectはその名前のとおり、コンストラクタをスルーしてオブジェクトを生成します。そのため、voidですら生成できてしまうわけです、恐ろしい。こないだ.NETの標準シリアライザ(XML/JSON)の使い分けまとめという記事でシリアライザ特集をして少し触れましたが、DataContractSerializerで激しく使われています。よって、シリアラ

  • .NET Framework 4.0.2および、Visual Studio更新プログラム公開 - kkamegawa's weblog

    .NET Framework 4.0は3.5に比べてサイズがものすごく小さくなった(250MB対50MB程度)と言われていましたが、その後何度かのセキュリティパッチが公開されたことに伴い、セキュリティパッチも50MB超えるようになってしまいました。もうそろそろ出るんじゃないかなーと思っていたんですが、やっと.NET Framework 4.0.2が公開されました。ランタイムだけの人は.NET Framework 4.0を入れた後、これを入れればよいようです。 マイクロソフト公式ダウンロード センターから Microsoft .NET Framework 4 更新プログラム 4.0.2 – ランタイム更新プログラム (KB2544514) をダウンロード Update 4.0.2 for Microsoft .NET Framework 4 – Runtime Update ところでランタイ

    .NET Framework 4.0.2および、Visual Studio更新プログラム公開 - kkamegawa's weblog