タグ

.netに関するnaga_sawaのブックマーク (20)

  • System.Threading.Channelsのメモ-01 (基本的な使い方) - いろいろ備忘録日記

    概要 インストール サンプル 概要 最近、Goでよく遊んでいるのでGoのチャネルみたいなものが C#で無いかなーって探してみたら、以下がありました。 www.nuget.org そのものスバリの名前のライブラリがあるじゃないですか。知らなかったです。 で、.NET Blog の方にも紹介記事がありました。 devblogs.microsoft.com 上の記事とかまだちゃんと読めていないのですが、後で読む。 また、以下のようなめっちゃ丁寧に書いてくださっているシリーズ記事もありました。 deniskyashif.com deniskyashif.com deniskyashif.com これも後できっちり読む。 とりあえず、今回は基的な使い方の勉強です。 インストール インストールは NuGet で インストールすれば終わりでした。 プレリリースで、5.0.0 preview が出ている

    System.Threading.Channelsのメモ-01 (基本的な使い方) - いろいろ備忘録日記
    naga_sawa
    naga_sawa 2020/06/07
    awaitable な Producer-Consumer Queue System.Threading.Channels.Channel<T> /Net Framework 4.6以降が必要
  • System.Threading.Channelsを使う - Qiita

    はじめに マルチスレッドでの非同期データ受け渡しライブラリのSystem.Threading.Channels(corefxlabにあったころはSystem.Threading.Tasks.Channels)が、corefxに統合され、この度4.5.0-rc1としてリリースされたので、 さすがに大きな変更はないだろうと踏んで使い方などを書く。 参考: corefxlabにあったころの記事 何ができるようになるか 非同期でのプロデューサー・コンシューマーパターンを作るのがより容易になる。 特徴としては以下のようになる 順序は必ずFIFO(先入れ先出し) 読み:書き=M:1、1:N、M:Nのパターンに対応 asyncと親和的な設計 パフォーマンスに配慮 netcoreapp2.1では更に特化実装で速い 注意: 現在netcoreapp2.1で、ConcurrentQueueが特定のケースでne

    System.Threading.Channelsを使う - Qiita
    naga_sawa
    naga_sawa 2020/06/07
    awaitable な Producer-Consumer Queue System.Threading.Channels.Channel<T> /Net Framework 4.6以降が必要
  • 技術解説 – 非同期

    .NETの世界での「非同期」とは、非同期処理(主に非同期I/O)を効率よく、しかも最小のプログラミングコストで実現するため、コンパイラとライブラリの補助で実現する機能の事です。C#やVB.netにおいて、「async-await」キーワードを使って、ほぼ従来通りのフローコーデイングを実現可能で、コンパイラが自動的に複雑なステート管理に展開してくれるため、人的なエラーを起こしにくく、コード量も飛躍的に削減出来ます。 これまでの非同期処理のセオリーは、プロセスレベルやスレッドレベルで、いわゆる「ワーカープロセス・スレッド」を使ってオフロード処理する方法が主流でした。この方法の問題点は、メインの処理とワーカーとの間で行わなければならない同期処理や、ワーカー処理がI/Oのブロッキングを保持するためだけにCPUリソースを消費(プロセスやスレッドを使う)してしまう事でした。.NETの非同期処理は、非同

    技術解説 – 非同期
    naga_sawa
    naga_sawa 2017/07/18
    await 時点で元メソッドはリターン(仮)する/非UIな一般的な非同期処理とする場合はConfigureAwait(false)
  • [速報]Googleが.NET Foundationに加盟、.NETプラットフォームの方向性に関与へ。Connect();//2016

    [速報]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

    [速報]Googleが.NET Foundationに加盟、.NETプラットフォームの方向性に関与へ。Connect();//2016
    naga_sawa
    naga_sawa 2016/11/17
    ライセンス訴訟の件もあるし Android の開発言語が Java -> C# に切り替わったりしちゃう?
  • 次期C#とパフォーマンス向上(前編)―― 必要となった背景と改善内容

    機能や構文ばかりが注目されるが、プログラミング言語ではパフォーマンスも重要だ。パフォーマンス向上に対する要求が高まってきた背景と、向上のための改善方法を説明。C# 7以降で追加が検討されている新機能にも言及する。 ← 前回 連載 INDEX 次回 → 近年、さまざまなプログラミング言語では、ソフトウェア開発の生産性を向上するべく便利な機能が実装されてきた。その一方で、書かれたプログラムのパフォーマンスへの配慮も重要である。「確かに書きやすいが、出来上がったものが遅くてつらい」ということになっては言語の魅力は半減する。 C#では、これまでも、パフォーマンスに配慮した言語機能をいくつか提供してきている。例えば、値型(構造体)がその代表例だ。ジェネリックが型消去ではない実装になっているのもパフォーマンス上の理由である。利用場面によってはイテレーターや非同期メソッドなどもパフォーマンス向上に寄与す

    naga_sawa
    naga_sawa 2016/05/12
    メモリ確保解放のオーバヘッド削減してパフォーマンスを上げていく方向性
  • Pro相当のVisual Studioが無償になった! - きよくらの備忘録

    時間深夜にUSで開催されているイベントConnect();にて、『Visual Studio Community 2013 with Update 4』が発表されました! http://www.visualstudio.com/en-us/downloads/download-visual-studio-vs#d-community 無償でVisual Studio 2013のPro相当の機能が利用できる素敵なエディションです。今までの無償版のExpressと異なり、拡張機能もすべて利用できるのが魅力です。もちろん、Visual Studio Tools for UnityUnity VS)も使えます。 気になるライセンスですが、個人の場合は作ったアプリを販売するのもOKの模様!! 営利組織でもごく少人数の場合や、教育目的では利用OKの模様です。あと、OSS開発に使用する場合もOK!

    Pro相当のVisual Studioが無償になった! - きよくらの備忘録
    naga_sawa
    naga_sawa 2014/11/13
    VisualStudio2010を塩漬けにしてる身としてはありがたい?
  • C#/.NETがやっていること 第二版

    Master Canary Forging: 新しいスタックカナリア回避手法の提案 by 小池 悠生 - CODE BLUE 2015CODE BLUE

    C#/.NETがやっていること 第二版
    naga_sawa
    naga_sawa 2014/06/30
    今の C# がどうなってるのかわかりやすい
  • C#や.NET Frameworkがやっていること

    2014/3/1 Boost勉強会 #14 東京 にて https://sites.google.com/site/boostjp/study_meeting/study14 Boost勉強会なのに.NETの話で、1人だけ1時間(他の人は30分)。 来、自分のペースでは4時間くらいかかってもおかしくない分量を1時間で。

    C#や.NET Frameworkがやっていること
  • NHK紅白の Android/iPhone アプリが .NET/Xamarin 製だったということ - Qiita

    新年あけましておめでとうございます。 今年も Xamarin 推しで参ります、よろしくお願いします。 2013年大晦日の紅白歌合戦NHKiPhone/Android 用のアプリを配信していました。 紅白アプリ|第64回NHK紅白歌合戦 紅白で「イェーガー!」と叫ぶために曲を見逃さないiPhoneアプリNHK紅白 なんとこのアプリ、Xamarin 製だったとのこと。 紅白あんまり興味なかったのでノーチェックでしたわー。 紅白アプリXamarinなんか — ゆたか (@tmyt) 2013, 12月 17 iPhoneの紅白アプリ、MvvmCross使ってるってことは、Xamarinで作ってるってこと?! pic.twitter.com/cTWPz2cp9E — 菊池紘 (@kikuchy) 2013, 12月 31 このツイートを RT した後、ソッコーで Android 版を入れ

    NHK紅白の Android/iPhone アプリが .NET/Xamarin 製だったということ - Qiita
    naga_sawa
    naga_sawa 2014/01/05
    Xamarin もさることながら利用ライブラリのまとめが助かる
  • いまさら聞けない .NET Micro Framework入門

    いまさら聞けない .NET Micro Framework入門:組み込みソフトウェア開発 技術解説(1/2 ページ) 超小型機器向けファームウェア「.NET Micro Framework」をご存じですか? 概要から事例、今後の展開までを分かりやすく紹介します! 「組み込みソフトウェア開発」と聞くと、テキストエディタとコマンドラインのコンパイラ、限定的なデバッガによる昔ながらの“しんどい開発”を思い浮かべる読者は多いと思います。 一方で、「Windows PC上のアプリケーション開発」はというと、「Visual Studio」という高性能な統合開発環境を使い、「C#」や「Visual Basic」といった抽象度の高い言語で、高品質のアプリケーションを高い生産性で開発できます。 ただ一口に「組み込み機器」といっても、Windows XPやWindows 7をベースにした「Windows Em

    いまさら聞けない .NET Micro Framework入門
    naga_sawa
    naga_sawa 2012/10/15
    .NET Micro Framework
  • "SDock" docking window controls for .NET

    すべての Microsoft 製品 Global Microsoft 365 Teams Copilot Windows Surface Xbox セール 法人向け サポート ソフトウェア Windows アプリ AI OneDrive Outlook Skype OneNote Microsoft Teams PC とデバイス Xbox を購入する アクセサリ VR & 複合現実 エンタメ Xbox Game Pass Ultimate Xbox Live Gold Xbox とゲーム PC ゲーム Windows ゲーム 映画テレビ番組 法人向け Microsoft Cloud Microsoft Security Azure Dynamics 365 一般法人向け Microsoft 365 Microsoft Industry Microsoft Power Platform W

    "SDock" docking window controls for .NET
    naga_sawa
    naga_sawa 2012/08/10
    ドッキングウィンドウライブラリ
  • log4netでデバッグや障害解析に役立つログを出力する

    はじめに 稿では、開発から運用まで一貫して利用できるロギングライブラリの「log4net」を紹介します。 読者の皆さんは、アプリケーションの挙動を確かめるために、メッセージボックスを表示(MessageBox.Show)させたり、デバッグウィンドウにメッセージを出力(Console.WriteLine)していませんでしょうか。これらの方法は手軽な反面、リリース前にMessageBox.Showをコメントアウトしなければいけない、Console.WriteLineの出力メッセージを実行形式のモジュールから見ることができないなど、番運用には適しているとはいえません。しかし、log4netを使用すると簡単に効果的なログ出力が可能になります。 対象読者 .NETにて開発を行っている方を対象としています。 必要な環境 サンプルはVisual Studio .NET 2003で作成され、.NET

    log4netでデバッグや障害解析に役立つログを出力する
  • .NET開発の新標準「NuGet」入門(前編)(1/4) - @IT

    特集:.NET開発の新標準「NuGet」入門(前編) .NETで開発モジュール導入が楽々に! NuGet入門 芝村 達郎 2011/09/15 ●NuGetとは何か ASP.NET MVC 3ベータ版が公開されたときに、「NuPack」と呼ばれるアプリケーションも同時に公開されたことをご存じだろうか。 .NET開発者にはなじみがないかと思うが、RubyPerlにはRubyGemsやCPANといった、公開されているモジュールを簡単にダウンロード、インストールするパッケージ・マネージャ機能が提供されている。NuPackはそれらパッケージ・マネージャの.NET版と考えていただければいいだろう。 その後、「NuPack」は「NuGet」と名前を変え、ASP.NET MVC 3と同時にリリースされた。当初はASP.NET MVC専用といっても過言ではない状況だったが、バージョン・アップを重ねた今で

    naga_sawa
    naga_sawa 2011/11/01
    .NETのパッケージマネージャ
  • Windows 10 Mobile (Preview) の入れ方 for build 10512 - 高橋 忍のブログ- MSDN Blogs

    In Visual Studio 2022 17.10 Preview 2, we’ve introduced some UX updates and usability improvements to the Connection Manager. With these updates we provide a more seamless experience when connecting to remote systems and/or debugging failed connections. Please install the latest Preview to try it out. Read on to learn what the Connection ...

    Windows 10 Mobile (Preview) の入れ方 for build 10512 - 高橋 忍のブログ- MSDN Blogs
    naga_sawa
    naga_sawa 2010/07/14
    .NET の 2.0 3.0 3.5 の関係/2.0をベースにライブラリ機能拡張をしたのが 3.0 と 3.5
  • 【ハウツー】C#でZIPファイルを扱えるDotNetZip (1) .NETで書庫を作成、圧縮 | エンタープライズ | マイコミジャーナル

    はじめに サイズが大きいファイルを扱うアプリケーションでは、ZIP形式にてファイルを圧縮できると便利です。そこで稿ではDotNetZipというライブラリを紹介します。 DotNetZipを利用すると、.NET環境でZIPファイルを容易に作成し、解凍できるようになります。DotNetZipには高度な機能(パスワード設定、自己解凍書庫、圧縮レベル設定、ZIP64、AES-256bit暗号化等)が備わっているため、ZIPファイルに対する様々な操作を行えるようになります。 DotNetZipとは DotNetZipはCodePlexにて、オープンソース(Ms-PLライセンス)として開発されています。.NET (Compact) Framework2.0以上の環境で動作するため、ASP.NETWindowsフォーム、スマートデバイス等の開発で使用できます。 DotNetZipのWebサイト Do

    naga_sawa
    naga_sawa 2010/02/04
    .net 用 ZIP ファイルの圧縮・展開・操作ライブラリ/ライセンスは Microsoft Public License(Ms-PL)
  • 【ハウツー】コンソールアプリの引数を簡単に扱える「Command Line Parser Library」 (1) コマンドラインパーサーとは | エンタープライズ | マイコミジャーナル

    はじめに オプション数が多いコンソールアプリケーションを開発していると、引数を制御するコードが複雑になってしまいがちです。そこで稿ではCommand Line Parser Libraryというオープンソースを紹介します。このライブラリを使うとフィールドに属性を宣言するだけで引数を簡単に扱うことができます。 Command Line Parser Libraryとは Command Line Parser Libraryは.NET向けのコマンドラインパーサーです。CodePlexにて開発(MIT License)されており、.NET Framework2.0以上の環境で動作します。 稿では最新バージョンの「libcmdline-1.7.10.5-beta-bin.zip」を入手し「CommandLine.dll(libcmdline-bin-Releaseフォルダ)」を使用しています。

    naga_sawa
    naga_sawa 2010/01/05
    コマンドライン引数処理ライブラリ/アノテーション付けたクラスにパース結果を流し込んでくれる
  • 【ハウツー】.NET向けHTMLパーサー「Html Agility Pack」で簡単スクレイピング (1) Html Agility Packとは | エンタープライズ | マイコミジャーナル

    はじめに アプリケーション開発をしていると、他のWebサイトの情報を活用したくなる場合があります。そのサイトがWebサービスを提供していれば問題ありませんが、大抵のWebサイトはHTMLを公開しているだけです。正規表現などを使ってHTMLを解析することも可能ですが、思いのほか手間がかかってしまいがちです。 そこで、稿ではHtml Agility Packと呼ばれるHTMLパーサーを紹介します。Html Agility Packを利用することで、C#やVB.NETからHTML内の情報を簡単に取り出すことができます。 Html Agility Packの概要 Html Agility Pack(以下、HAP)は、CodePlexで開発されている.NET2.0以上向けのオープンソースライブラリです。HAPはHTMLをDOMに展開して、XPathによる抽出やXSLTによる変換を行うことができます

    naga_sawa
    naga_sawa 2009/12/16
    HTML String から DOM に落としてくれるパーサー/XPath も使えるっぽい/ライセンスは Microsoft Public License/ http://htmlagilitypack.codeplex.com/
  • C#と諸々 オブジェクトの型を破壊的に変換

    C#がメインで他もまぁ諸々なブログです おかしなこと書いてたら指摘してくれると嬉しいです(´・∀・`) つーかコメント欲しい(´・ω・`) オブジェクトは型をインスタンス化したものです。オブジェクトは必ず一つの型と結びついています。オブジェクトに結びついている型は、Object.GetType メソッドにて取得することができます。 通常、オブジェクトに結びついている型を変更することはできません。例えば String オブジェクトを Object クラスにキャストしても、オブジェクト自体は String オブジェクトのままです。 オブジェクトはメモリ上のデータです。このデータには、オブジェクトヘッダーと各フィールドの値が含まれます。オブジェクトヘッダーには、同期ブロックインデックスと型ハンドルが含まれます。 この型ハンドルが、オブジェクトと結びついている型を示します。型ハンドルは、ローダーヒ

    naga_sawa
    naga_sawa 2009/01/22
    メモリ上にあるオブジェクトの型情報を無理矢理書き換える方法/無論でんじゃらす
  • C# 3.0 の新機能

    2005年9月、C# 2.0 の正式出荷を目前にして、 C# の次世代拡張 C# 3.0 の言語仕様が公開されました。 C# 3.0(そして、同時に発表された VB 9.0)の目玉となる機能は、 Language Integrated Query、略して LINQ と呼ばれるもので、 リレーショナルデータベースや XML に対する操作をプログラミング言語に統合するものです。 (データベースや XML 操作用のライブラリと、 プログラミング言語中にSQL 風の問い合わせ構文を埋め込めるようにする言語拡張から成ります。) C# 3.0 に追加された機能の多くは、基的にこの LINQ を使うために必要な機能、 あるいは、より便利に LINQ を使うための機能になります。 ちなみに、詳しくは「小さな機能の組み合わせ」で説明していますが、 LINQという大きな目的を、小さな機能の組み合わせで実現し

    C# 3.0 の新機能
  • Firefoxの描画エンジン(Geckoエンジン)でWebページを表示するには?[C#、VB] ― @IT

    *2 XULは「XMLユーザー・インターフェイス言語」を意味し、Mozillaによりデスクトップ・アプリケーション開発のために提供されている。XULRunnerは、Geckoエンジンを利用するランタイム環境のため、「(新)GRE(=Gecko Runtime Environment)」とも呼ばれる(ちなみ、新GREに対して「Mozilla Application Suite」の一部が「旧GRE」と呼ばれている)。 つまり、例えばXULRunnerをクライアント環境にインストールすれば、そのActiveXコントロールを利用してGeckoエンジンによるWebページ・レンダリングが実現できるというわけだ。以下では、この方法について説明する。 ●XULRunnerのインストール まずは最新のXULRunnerをインストールしよう。これには、次のFTPサイトに行き、 XULRunnerのNightl

    naga_sawa
    naga_sawa 2008/09/04
    .net に Gecko を乗せる方法
  • 1