タグ

.netに関するtoriaezuのブックマーク (61)

  • Stack Overflowの裏側は、Webサーバ9台、SQL Serverが4台など。月間5億6000万PVをさばくシステムの状況を公開中

    ITエンジニアのコミュニティサイトStackOverflowなどを運営するStackExchangeが、同社のサービスを支えているシステム構成の状況を知らせるWebサイトを公開しています。 同社のサービスは各国版のStack Overflowのほかにも、サーバ管理者のためのServer Fault、数学関係者のためのMathematicsなど多岐にわたっています。 これらを合わせた同社のサービスは月間5億6000万ページビュー。このページビューを、48GBのメモリを搭載した9台のWebサーバ。384GBのメモリを搭載しライブ/ホットスタンバイ構成にクラスタ化した2台のSQL Serverと、288GBのメモリを搭載した2台のSQL Serverによるもう1つのクラスタの合計4台のSQL Server。96GBのメモリを搭載し、マスター/スレーブ構成にした2台のRedis Serverなどで

    Stack Overflowの裏側は、Webサーバ9台、SQL Serverが4台など。月間5億6000万PVをさばくシステムの状況を公開中
  • 働くプログラマ - .NET のコレクション: C5 入門

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 .NET のコレクション: C5 入門 Ted Neward 告白があります。 日中、私はコンサルティング会社の Neudesic LLC でおとなしい .NET 開発者として働いています。しかし夜、と息子が眠った後、ノート PC を持って家をこっそり抜け出し、秘密の隠れ家 (148 番通りのデニーズ) へ行って、Java コードを書いているのです。 そう、私は .NET 開発者と Java (より正確には Java 仮想マシン (JVM)) 開発者の二重生活を送っています。このような二重生活で得られる面白い恩恵の 1 つは、Microsoft .NET Framework のさまざまな分野の中に JVM

    働くプログラマ - .NET のコレクション: C5 入門
  • CodeDOM クイック リファレンス

    更新 : 2007 年 11 月 Code Document Object Model (CodeDOM) を使用する開発者が CodeDOM の要素を種類および機能で検索するためのクイック リファレンスの表を次に示します。この表は、CodeDOM の種類またはソース コード要素の順に並べられています。また、各要素の説明の他に、参照へのリンクが含まれています。CodeDOM でソース コードを表し、プログラミング言語の拡張可能セット内にソース コードを生成する方法の詳細については、「動的なソース コードの生成とコンパイル」を参照してください。 コード グラフ コンテナ ソース コード要素の種類 代表的な CodeDOM 要素

    CodeDOM クイック リファレンス
    toriaezu
    toriaezu 2012/03/22
    MSDNでのCodeDomクイックリファレンス。非常に使える。
  • CodeDom で遊んでみた。

    奥様 と プログラム と お犬様 の 楽しい日常 目次 ホーム 連絡をする RSS Login Blog 利用状況 投稿数 - 193 記事 - 1 コメント - 19845 トラックバック - 27 ニュース なおこ(・∀・)@わんくま同盟 お世話になっている方のリンク お犬様同盟 pu2pu2(ぷにぷに) share-ride ナツの日々 鈴りんRing 黒柴ブログ 不二子ちゃ~ん ひまひまシリーズその 3。 今更ながら、System.CodeDom 名前空間の下のいくつかのクラスを使って プログラムを組んでみました。 これ、慣れるまでには何回か組まないとコツがつかめないっぽい。 脳内でジェネレートされるプログラムを組み立てながらやったので(こんなお粗末なプログラムだが...)そのせいかも。 でも簡単な奴だったら Text ファイルなんかにテンプレート書いておいて String.For

    toriaezu
    toriaezu 2012/03/22
    CodeDom.
  • [雑記] 動的コード生成のパフォーマンス(C# によるプログラミング入門)

    概要 .NET Framework のバージョンが上がるたびに色々と追加され、 今や、動的コード生成にもさまざまなやり方が。 ということで、並べて比較してみたいと思います。 「動的 = リフレクション = むちゃくちゃ遅い」というイメージをもたれる方も多いと思いますが、 実際のところ、1度生成したコードをキャッシュしておくなどの工夫をすれば、意外と許容範囲なパフォーマンスが得られます。 (GUI の描画部分やネットワーク通信部分の遅延と比べれば、演算部分の数倍程度の差は取るに足らない場合が多く、 過剰に気にする必要はありません(もちろん、状況次第)。) 比較コード含めたソースコード一式: DynamicPerformance.zip ポイント 毎回リフレクションを呼び出すのはやっぱりかなり(2~3桁)遅い。 キャッシュ機構を使えば、静的なコードの数倍程度までは速くできる。 C# 4.0 の

    [雑記] 動的コード生成のパフォーマンス(C# によるプログラミング入門)
    toriaezu
    toriaezu 2012/03/22
    CodeDom、式木、dynamic。.net frameworkのverによる機能追加に伴い、パフォーマンスも向上している。
  • CodeDomによる実行時コード生成術

    はじめに CodeDomは、.NET Frameworkが提供する高度な実行時コード生成ライブラリです。CodeDomを利用することで、開発者は容易に実行時にコードを生成するアプリケーションを開発することができ、動的に実行コードを管理することができます。System.Reflection名前空間によるリフレクションもまた、実行時レベルでのコード制御を行う強力なライブラリですが、CodeDomはリフレクションとは異なり、.NETのプログラム構造を論理的に表現できるという特徴を持ちます。 既存の実行可能コードを実行時に解析する場合、リフレクションが大きな威力を発揮します。これに対し、CodeDomは、特定のプログラミング言語に依存しない形で、抽象的にプログラムの構造を表現するデータを構築したいときに大きな威力を発揮します。.NETアプリケーションはVisual Basic .NET、C#、C+

    CodeDomによる実行時コード生成術
    toriaezu
    toriaezu 2012/03/22
    CodeDom
  • Viausl Studio 2010で自作コードジェネレータ - かずきのBlog@hatena

    コードの自動生成は、色々なところでされていると思います。Excelのマクロで作ったり、自分でせっせとコードを書いたり、LLな言語を使ってさくっと作ったり、OSSのテンプレートエンジンで作ったり etc... そんな中で、1つコードジェネレータを作るときの選択肢として追加しても良さそうな機能がVisual Studio 2010にあります。その名も「前処理されたテキストテンプレート」です。正直、この名前から何をするものかってさっぱりわかりませんが、コードジェネレータとかを作るときにもってこいの、デキル奴だったりします。 とりあえず、Hello worldから始めてみましょう。HelloCodeGeneratorという名前でコンソールアプリケーションを作成します。そこに「HelloPreTextTemplate.tt」という名前で「前処理されたテキストテンプレート」を作成します。 HelloP

    Viausl Studio 2010で自作コードジェネレータ - かずきのBlog@hatena
  • [.NET][C#]T4 Templateがアツイ

    Text Templating Transformatin Toolkitというものがある。T4Templateとか呼ばれてるらしい。 このBlogでごちゃごちゃ書くよりも、ここでスクリーンキャストを見るのがいいと思う。 個人的に、テンプレートエンジンとしてRubyのerbかJavaのvelocityを使ってたけど、T4Templateも道具箱の1つとしてとっといていいかもしれないと思った。 とりあえず、家のVisual Studio 2008には最初から入っているということなので、早速簡単なものを試してみようと思う。 便利ツール入れよう T4 Editorというものがある。こいつを入れるとT4Templateを編集するときにシンタックスハイライトしてくれるようだ。素敵なので入れた。 Pro版とCommunity版があってPro版は買わないといけないらしい。ということでCommunity

  • 自作コードジェネレータを作ろう - かずきのBlog@hatena

    先日、ViewModelのコード生成を行うT4 Templateを作りました。そこで使ったテクニックを説明したいと思います。 前処理されたテキストテンプレート 以前にも紹介した前処理されたテキストテンプレートを使用しています。これはT4 Templateで書いたものを生成してくれるC#のコードを書いてくれるものです。 以前にも紹介してます。 Viausl Studio 2010で自作コードジェネレータ T4 Template自体は、ここらへんで紹介しています。 T4 Templateがアツイ この前処理されたテキストテンプレートは、普通にT4 Templateを書くよりも単体テストがしやすいというのがメリットだと思ってます。先日作成したViewModelのコード生成では、プロパティを生成する前処理されたテキストテンプレート、コマンドを生成する前処理されたテキストテンプレート、ViewMod

    自作コードジェネレータを作ろう - かずきのBlog@hatena
  • C# Boxingのパフォーマンス上の影響について - s-kita’s blog

    Boxingなしの場合のコード using System; class Program { public static void Main() { DateTime start = DateTime.Now; for (Int32 i = 0; i < Int32.MaxValue; i++) { Int32 i32 = i;//Boxingなし } TimeSpan span = DateTime.Now - start; Console.WriteLine("Time : {0}", span); } } Boxingありの場合のコード using System; class Program { public static void Main() { DateTime start = DateTime.Now; for (Int32 i = 0; i < Int32.MaxValue;

    C# Boxingのパフォーマンス上の影響について - s-kita’s blog
  • IEnumerator<T> を実装していれば必ず IDisposable である理由 - NyaRuRuが地球にいたころ

    書こうと思ってタイミングを逃していた話があったのを,『パイプラインパターンとリソース管理』を読んでいて思い出しました.ので,今度こそ書いてみます. 皆様,IEnumerator<T> の基底インターフェイスに IDisposable が紛れ込んでいるのをご存じでしょうか? public interface IEnumerator<T> : IDisposable, IEnumerator つまり,IEnumerator は IDisposable であるとは限りませんが,IEnumerator<T> は必ず IDisposable ということになります. Microsoft は何故このような設計にしたのでしょうか? Enumerator が IDisposable を実装しているという可能性について,C# の foreach ステートメントが想定しているのはまあ割と有名な話かと思います.

    IEnumerator<T> を実装していれば必ず IDisposable である理由 - NyaRuRuが地球にいたころ
  • C#で始めるテスト駆動開発 ~TDDBC横浜の課題をやってみよう

    はじめに 各地でTDD Boot Camp(TDDBC)が開催されるようになり、このところTDD(テスト駆動開発)が注目を浴びています。ただ、自分でも試してみようと思った時に目につく書籍や記事などは、JavaRubyPHPといった、いわゆるオープンソース系の言語ばかり。.NET Framework(Windows)で開発の仕事をしているとTDDは関係ないんだろうか、…とさえ思えてくるかもしれません。 しかし、そんなことはありません。.NET FrameworkでのTDDに必須のユニットテストフレームワークとして有名なNUnitの最初のバージョンは、Visual Studio .NET 2002がリリースされる以前の2001年に公開されています。.NET Frameworkは、生まれたときからTDDと共にあると言っても過言ではないでしょう。 この記事では、TDDとTDDBCについて簡単に

    C#で始めるテスト駆動開発 ~TDDBC横浜の課題をやってみよう
  • Visual Studioで作る単体テスト、基本のき (VS2010向け改訂版)

    はじめに Visual Studioは2005の時から単体テスト機能を搭載するようになりました。2008のバージョンからは一般的な開発者が利用するProfessional Editionにもこの機能が搭載され、2010のバージョンでも同様となっています。稿(およびシリーズ)では主に単体テスト機能にフォーカスしますが、開発者の利用シーンをキーワードに、いくつかのシナリオを想定して、その時々の使い方を取り扱っていきます。初回となる今回は、最も基的ないくつかの点について見ていきましょう。 対象読者 .NET Frameworkを利用した開発プロジェクトに携わっている方 Visual Studioの単体テスト機能に興味がある方 必要な環境と準備 稿で解説する内容を実際に試す場合には以下のいずれかのソフトウェアが必要になります。 Visual Studio 2010 Professional

    Visual Studioで作る単体テスト、基本のき (VS2010向け改訂版)
  • Windowsフォーム・アプリケーションの配布方法(1/2) - @IT

    連載:Windowsフォーム開発入門【Visual Studio 2010対応】 Windowsフォーム・アプリケーションの配布方法 初音 玲 2011/05/13 Windowsフォーム開発入門の最終回は、作成したアプリケーション(以降、「アプリ」と略す)の配布方法について考えてみたいと思う。 .NETアプリのインストールではレジストリ登録が不要なため、.NET Frameworkが導入済みのPCであればアプリの配布はビルドしたアセンブリをコピーするだけで済ますことが可能だ。しかしある程度の規模のアプリを設定ファイルやデータ・ファイルも含めて配布し、それと同時に配布先のフォルダなどに対してアプリを実行するために必要な環境整備を実現するには、(単なるコピーではなく)インストーラ形式の配布を考慮した方がよい。 Visual Studio 2010に標準添付されているテンプレートとしては、「V

    toriaezu
    toriaezu 2011/06/07
    Windowsアプリの配布方法について
  • C#たんと学ぶ/わりと硬派なソフトウェア開発講座一覧

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    C#たんと学ぶ/わりと硬派なソフトウェア開発講座一覧
  • 数値を右詰めや0埋めで文字列化するには?[C#、VB]

    稿は2004/01/30に初版公開、2008/07/10に改訂された記事を再改訂し、C# 6.0/Visual Basic 14(以下、VB 14)の補完文字列についての記述を追加したものです。また、稿のコードは全てC# 6.0/VB 14で動作を確認しました。 数値をファイルや帳票に出力する際には、文字列の幅を固定し右詰めにしたり、0埋めで出力したりしたい場合がある。このような用途には、Stringクラス(System名前空間)のFormatメソッドを使うのが簡単だ。 Formatメソッドでは、書式を指定する「書式指定文字列」と、それに対応するオブジェクトを引数で指定する。稿では、よく用いられるであろう整数値の文字列化に絞って解説する。 また、C# 6.0/VB 14では、「補間文字列」(interpolated string)という機能を使うことで、StringクラスのForma

    数値を右詰めや0埋めで文字列化するには?[C#、VB]
  • Hudsonで.NETのCI環境を簡単に構築する方法 - Faster Than Light

    .NET開発の継続的インテグレーション(Continuous Integration)の仕組みとして、Hudsonが利用出来ます。その備忘録を残します。 ここでHudsonがやっていること Subversionからソースファイルを取得する MSbuildでビルドを実行する NUnitで単体テストを実行する これだけです。 Hudsonに以下のプラグインを導入します MSBuild Plugin NUnit Plugin HudsonにMSBuildプラグインを導入 http://wiki.hudson-ci.org/display/HUDSON/MSBuild+Plugin msbuild.hpi をダウンロード HudsonにNUnitプラグインを導入 http://wiki.hudson-ci.org//display/HUDSON/NUnit+Plugin nunit.hpi をダウ

    Hudsonで.NETのCI環境を簡単に構築する方法 - Faster Than Light
  • .NET関連資料室

    .NET関連資料室 blogを立ち上げてみました C#で作るWindowsアプリ のっぺらぼうのウインドウ メニューやボタンをくっつける 複数のウインドウ ファイルを読み込む HTTP GETする スレッドを使う C# Tips ildasmを使え! intとInt32はどう違う? 値型と参照型 キャストすべきかasするべきか トレースとQueryPerformanceCounter 条件付きコンパイル(ConditionalAttribute) COMのReleaseと_NewEnum usingを使え、使えったら使え(^^) XMLドキュメントとNDoc NUnitUnitTest AxWebBrowserのIInternetSecurityManager 株式会社ディーバ 青柳 臣一 2003/09/17

  • (.Net)アプリケーションの設定ファイルを作ろうとしたけど。。。 | old_3流プログラマのメモ書き

    Windowsアプリケーションの設定先としては ini ファイル、そしてレジストリへと遷移してきました。 .Net では XML ベースのアプリケーション構成ファイル(アプリケーション名.config)と user.config が設定先として推奨されてるようです。 しかし、このアプリケーション構成ファイル、user.config がなかなか曲者でハマりました。(VistaのUACも少し絡んでます。) まず、アプリケーション構成ファイル(アプリケーション名.config)はWindowsユーザにかかわりなくアプリケーション全体の設定を保存するファイルとなります。 DBの接続文字列など、スコープがアプリケーションになっているものがアプリケーション構成ファイルに保存されます。(Visual Studioのデザイナでは接続文字列のスコープは変更できません。しかし、(VB.Net)DBへの接続文字

    (.Net)アプリケーションの設定ファイルを作ろうとしたけど。。。 | old_3流プログラマのメモ書き
    toriaezu
    toriaezu 2010/10/25
    configファイルがどこにいったかわからなくてハマったのでブクマ
  • [観] C# で OAuth

    [要旨] C# で OAuth 対応アプリケーションを書くときに、Google Code で公開されている OAuthBase.cs を参考にする人が多いと思うんですが、この OAuthBase.cs をそのまま使うと、引数にマルチバイト文字(日語とか中国語とか)を含むhttpリクエストの認証が失敗します。その解決方法について、書いてみました。 [キーワード] C#,OAuth,Twitter,認証