タグ

.netに関するshirebitoのブックマーク (255)

  • 「C#できます」の記事は釣りですからね。 - 平々毎々(アーカイブ)

    第6回日C#ユーザー会勉強会は延期になってしまったので、想定回答を書いておきます。 注意:決して模範解答ではありませんからね!○×を考えるのはやめてね!そもそも、回答できなきゃC#プログラマじゃないなんてまったく思ってませんから!C#言語仕様外のことを問う設問が多いし! ==演算子のオーバーロードを実装してEqualsメソッドと同じ処理を実行するようにしてもよい場合はどのような時か? (想定回答)同一性を値で判断する、イミュータブルな値オブジェクトの時。(29字) (補足)EqualsのオーバーライドとかGetHashCodeとかIEquatableとかIComparableとか、そういうのの実装も必要に応じていろいろ考えたほうがいいです。 ループ内でなければ、たとえ100個の文字列型変数であってもまとめて+演算子で連結してよい理由を説明せよ。 (想定回答)string.Concatを1

    「C#できます」の記事は釣りですからね。 - 平々毎々(アーカイブ)
  • Managed Extensibility Framework でプラグイン機能を実装する紆余曲折 - present

    .NET Framework 4 で提供されている Managed Extensibility Framework (以下 MEF) は、シンプルな DI 機能を提供していて、アプリにプラグイン機能を実装するのに使えます。私も最近、MEF を使ったプラグイン機能の実装を検討し始めました。 MEF を使ってプラグイン機能を実装するにしても、あちらこちらで MEF の CompositContainer を new するわけにはいけないので、プラグインを管理するクラスを用意することになると思います。そのクラスの実装で現在悩み中。 まず最初に書いたのは超シンプルなファクトリクラス。もうほとんど CompositContainer をラップしただけ。 public static class PluginFactory { private readonly static CompositContai

    Managed Extensibility Framework でプラグイン機能を実装する紆余曲折 - present
  • Visual Studio 2010による高度なデバッガを極める〜SP1対応改訂 - kkamegawa's weblog

    最初のページ Visual Studio 2010による高度なデバッグを極める − @IT 改版対象ページ Visual Studio 2010による高度なデバッグを極める − @IT Visual Studio 2010 SP1ベータではIIS 7.5 Expressに対応しました。IIS Expressはコマンドライン起動もできるので、正しく設定すればSP1がなくても使えますが、やっぱりSP1のように選択ひとつで変更されるのは便利ですね。 IIS Express 7.5でなんといってもありがたいのはごく一部の操作を除いて特権昇格が不要なこと。あの、サイトをIISで作ってしまったあげく、VSを昇格させなくてはいけない時のやるせなさといったら(大げさ)。 お役にたてば幸いです。

    Visual Studio 2010による高度なデバッガを極める〜SP1対応改訂 - kkamegawa's weblog
  • Visual Studioに入れた方がいいアドインメモ - ぱや〜んのへろへろ日記(仙台編)

    レイアウトやデザインは現在手探りで調整中です。 一時的に見づらい状態になるかもしれませんがご了承ください。 Visual Studioもただ使うだけならExpressでいいところをわざわざAnkhSVNを使いたいためだけにStandard買ったので、他に入れた方が便利になるアドインを探してメモ。 ここに書いておくと再インストールの時に楽だしね。 AnkhSVN Subversionを使えるようにするCodeRush Xpress ブロックの可視化やリファクタリングなどのコーディングサポートRuby in Steel Ruby on Railsの開発ができるようになるModelingPowerToys for Visual Studio 2008 クラスダイアグラム編集に機能を追加TestDriven.Net メソッドの単体テストをVisual StudioでできるようにするXPathMan

  • 標準仕様を越えて - Mono のコンティニュエーション

    Rustが再評価される:エコシステムの現状と落とし穴 In this article, we share findings and insights about the Rust community and ecosystem and elaborate on the peculiarities and pitfalls of starting new projects with Rust or migrating to Rust from othe...

    標準仕様を越えて - Mono のコンティニュエーション
  • WPFアプリケーションの国際化対応 - かずきのBlog@hatena

    リソースファイルを使う方法が簡単そうなので、試してみました。参考にしたのは以下のサイトというか、ほぼそのままですね。自分用メモという意味合いが強いです。 WPFの国際化対応 デフォルトで用意されてるResources.resxに加えてResources.ja-JP.resxを作成します。 中身はこんなかんじ。アクセス修飾子をPublicにしておくのがポイントです。 Resources.ja-JP.resxの中身はこんなかんじです。同じキーに対して違う文字列を割り当ててます。こちらはコード生成なしになってるのがポイントですね。(自動でなしになってるはず) そして、このクラスをApp.xamlのResourcesとして登録します。 <Application x:Class="WpfResource.App" xmlns="http://schemas.microsoft.com/winfx/2

    WPFアプリケーションの国際化対応 - かずきのBlog@hatena
  • 「「C#できます」と言い放ったあいつがJavaプログラマであることを見分ける10の質問」の反応

    白い高野さん @masaru_b_cl [B!] ちょいとあいまいな個所もあるけど、ギリ答えられる感じ。でも、これかなり難しいと思う。いわゆる「中堅プログラマ」程度でもキツイ印象。 http://bit.ly/fIldRf 「C#できます」と言い放ったあいつがJavaプログラマであることを見分ける10の質問 - ... 2011-03-07 06:17:46

    「「C#できます」と言い放ったあいつがJavaプログラマであることを見分ける10の質問」の反応
    shirebito
    shirebito 2011/03/09
    "9.(デストラクタは)C#にはない" そういう引っ掛け問題だったのか。いや、やはりC#にはデストラクタあった。ファイナライザなんだけどデストラクタと命名されてるやつが。
  • MVVMのバインド処理をインターセプトする - 開発思考実験日記

    MVVMのフレームワークはいくつかある。代表的なのは、PrismだがCodePlexを探すだけでもいろいろある。 面白いものにはこんなのもあるIntroducing MicroModels 。このフレームワークではICustomTypeDescriptor インターフェイスを利用して動的にバインドする仕組みを構築しているようである。このICustomTypeDescriptorのテクニックを今回WPFで用いられているが、WindowsFormsのデータバインドでも利用できるテクニックで、以前からバインド処理のインターセプトとして利用していた。 サンプルコード バインド処理される場合に以下のSetValueとGetValueが呼び出される。ここに様々な処理を付与することができる。この方式の良いところはこの仕組みが動作するのはTypeDescriptor経由で取得した場合のみで通常のタイプセー

    MVVMのバインド処理をインターセプトする - 開発思考実験日記
  • MVVMについて - 開発思考実験日記

    MVVMをかなり使い込んで来たのでいろいろまとめたい内容があるのだがなかなか時間がとれない。 とりあえずポイントをメモ書きしておく 業務アプリでのMVVMでのメリットは テスト性の向上などはあるが、最大のメリットはテクノロジ非依存に画面ロジックを作成でき保守性・移植性が高くできる点を挙げておこう。 逆にデメリットは ViewとViewModelの分離など設計時の初期コストが高くてっとり早く作れない点だろう。 MVVMの設計ポイント 以下の3つの要素に分けて画面を整理する コマンド ユーザ操作に対する処理でViewModel上のデータや状態に対して影響を与える処理。ViewModel上のメソッドとして実装される。 データ ユーザが確認・入力する情報。ViewModel上で論理的に適切な構造で保持されプロパティとして実装される。Viewで適切な形式に変換して表示し、入力されたデータはViewM

    MVVMについて - 開発思考実験日記
  • neue cc - C#(.NET)のテストフレームワーク4種の比較雑感

    Chaining Assertion ver 1.2.0.0 - CodePlex for MSTestをやめて、NUnitとMBUnitとxUnit.NETにも対応しました。MSTestに限定していたのは、単純に他のを入れて試すの面倒くせー、というだけの話であり、そういう態度はいけないよね、と思ったので全部入れました。NUnitはDocumentだけは読んでかなり参考にしてたのですが、他のは全くはぢめて。MSTest以外はみんな野心的に開発進んでるんですね。比べると機能面では一番見劣りするMSTest。 というわけで、対応させるために各種フレームワークを入れる&多少触ったので、それらの紹介/感想などを書きたいと思います。C#上というか.NET上、ですね。の前に、更新事項が幾つかあるのでそれを。まず、CollectionAssertに等値比較するラムダ式を受けるオーバーロードを追加しました

    shirebito
    shirebito 2011/03/08
    Gallioはテストが遅い気がする。
  • C#と諸々 「C#できます」と言い放ったあいつがJavaプログラマであることを見分ける10の質問、やってみた

    C#がメインで他もまぁ諸々なブログです おかしなこと書いてたら指摘してくれると嬉しいです(´・∀・`) つーかコメント欲しい(´・ω・`) 「C#できます」と言い放ったあいつがJavaプログラマであることを見分ける10の質問 - とC#について書くmatarilloの日記 仕事で C# 使わなくなって久しい僕なので、あまり自信ないけど…。 * ==演算子のオーバーロードを実装してEqualsメソッドと同じ処理を実行するようにしてもよい場合はどのような時か? 同値であるオブジェクトを同一であるとして扱う場合。 * ループ内でなければ、たとえ100個の文字列型変数であってもまとめて+演算子で連結してよい理由を説明せよ。 +演算子が99回繰り返されるのではなく100個の文字列を一つにまとめるという処理に最適化されるため。 * List<int>のように値型を格納するジェネリックコレクションを使

  • 「C#できます」と言い放ったあいつがJavaプログラマであることを見分ける10の質問 - 平々毎々(アーカイブ)

    <追記> 念のため書いておきますが、ネタですからね。 わざと難しい質問にしてるので、 回答に困っても大丈夫だ、問題ない。 下記質問にそれぞれ50文字以内を目安に簡単に説明すること。 ==演算子のオーバーロードを実装してEqualsメソッドと同じ処理を実行するようにしてもよい場合はどのような時か? ループ内でなければ、たとえ100個の文字列型変数であってもまとめて+演算子で連結してよい理由を説明せよ。 Listのように値型を格納するジェネリックコレクションを使ってもボックス化/ボックス化解除が発生しない理由を説明せよ。 Full GC(Gen2 GC)が動作したときに断片化していてもコンパクションされないヒープ領域はどのような領域か? throw; とthrow ex; の違いをスタックトレースの観点で説明せよ。 フィールドのアクセス修飾子をprivateにしプロパティのgetter/set

    「C#できます」と言い放ったあいつがJavaプログラマであることを見分ける10の質問 - 平々毎々(アーカイブ)
    shirebito
    shirebito 2011/03/07
    自信持って答えられるのは6/10。難しい。
  • MSDN マガジン: 並列コンピューティング - SynchronizationContext こそすべて

    AsyncOperationManager と AsyncOperation .NET Framework の AsyncOperationManager クラスと AsyncOperation クラスは、SynchronizationContext を抽象化する軽量のラッパーです。AsyncOperationManager クラスは、AsyncOperation の初回作成時に現在の SynchronizationContext をキャプチャし、現在の SynchronizationContext が null であれば既定の SynchronizationContext に置き換えます。AsyncOperation クラスは、キャプチャした SynchronizationContext にデリゲートを非同期にポストします。 ほとんどのイベントベースの非同期コンポーネントは、その実装内で

    MSDN マガジン: 並列コンピューティング - SynchronizationContext こそすべて
  • Localization of DisplayNameAttribute

    I am looking for a way to localize properties names displayed in a PropertyGrid. The property's name may be "overriden" using the DisplayNameAttribute attribute. Unfortunately attributes can not have non constant expressions. So I can not use strongly typed resources such as: class Foo { [DisplayAttribute(Resources.MyPropertyNameLocalized)] // do not compile string MyProperty {get; set;} } I had a

    Localization of DisplayNameAttribute
  • 「MVVMのメリット・デメリットを見つめなおす」を読んで - the sea of fertility

    僕はGoogleTwitter検索で定期的にMVVMというキーワードで検索を行っています。 そこでこんな素敵な記事を見つけました。 MVVMのメリット・デメリットを見つめなおす wave1008の日記 http://d.hatena.ne.jp/wave1008/20110227 基的にMVVMパターンの大目標(ドメインロジックとプレゼンテーションロジックの分離)には賛同されているものの、ビヘイビアやコマンドの仕様には否定的な記事です。書かれている内容は非常に説得力があり、素晴らしい記事です。驚くほどこういった記事は少ないので、大変勉強になりました。是非皆さんも一読してみてください。 素晴らしい突込みとは思うのですが、一年以上MVVMを追い続けた人間として素直にこの内容の視点に賛同できるというわけではないので、少し僕の考え方を書いてみたいと思います。 反論の前提として、僕はMVVMイン

  • 東京マラソンの日に外に一歩も出ないオレ - wave1008の日記(主にSilverlight)

    先日MVVMをDISったが、説明不足気味でDISりっぱなしでは無責任かと、ちと反省している。 SilverlightでMVVMを使うのは問題があるので昔ながらのWindows Formsスタイルの開発に戻るべきだと受け取られたとしたら、それは誤解である。Silverlight(あるいはWPF)ではもはやWindows Formsスタイルの開発はできないし、そうすべきではないからだ。なので、今日はフォロー記事を書いてみる。 Silverlightの各コントロール群はMVVMの特徴であるデータバインドを前提に設計されている。なので、従来のWindows Formsスタイルの開発はできなくなっている部分が多々ある。 たとえばDataGridWindows FormsのDataGridViewならばセルの何行何列をインデックス指定すればセルのオブジェクトを取得でき、さらに背景色やフォント色などの

  • Silverlight Firestarter 2010 のまとめ(Silverlight5について) - とあるぷろぐらまーのぶろぐ

    http://johnpapa.net/silverlight/silverlight5features/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+JohnPapaSilverlight+%28JohnPapa.net+Silverlight%29&utm_content=Google+International ここに書いてあることの和訳です。 中身がよくわかってないところもあるので雰囲気で(^^;) メディアエクスペリエンス向上 H.264のハードウェアデコードのサポート。低スペックマシンでもGPUを活用することでパフォーマンスが改善 "TrickPlay" オーディオ再生スピードを自由に調整できる(逆再生も可) ビデオが再生されてないときにはスクリーンセーバが有効になるなど、パワーセービングに対する改善 リ

    Silverlight Firestarter 2010 のまとめ(Silverlight5について) - とあるぷろぐらまーのぶろぐ
  • VB2010 Express + NUnit 2.5 で、 初めてのTDD Step by Step - TDD.NET

    Creative Commons 表示 - 非営利 - 継承 初版 2011/2/11 (初版) PDF バージョン 2011/2/27 TDD って、 どんなふうに仕事してるのかな? そんな、 あなたに。 TDD は、 テストファーストとリファクタリングだと。 テストファーストは、 テストケースを先にコードで表現してから、 製品コードを書くのだと。 そんなふうに説明はされるけど、 じゃあ実際にはどうやっているのか? ごく簡単な Windows 用のプログラムを例題にして、 紹介してみます。 なお、 ここでは省いていますが、 実際にはソースコード管理システム (ソースコード リポジトリ) の扱い方も大切です。 現在の xUnit 系のユニットテスト ツールでは、 GUI の自動テストは困難です。 Visual Studio 2010 の上位版では、 GUI の自動テストをかなり簡単に作れる

    VB2010 Express + NUnit 2.5 で、 初めてのTDD Step by Step - TDD.NET
  • SQL Serverのインデックス設計基準

    RDBMSのボトルネックは99%ディスクI/Oにある。CPUや物理メモリに比べて、ハードディスクの速度はかなり遅い。気が遠くなるぐらい遅い。インデックスを効果的に設計すれば劇的にディスクI/Oコストを減らすことができる。 インデックスって何だ?まず簡単に基礎知識。インデックスには、クラスタ化インデックスと非クラスタ化インデックスがある。 大雑把に言えば、クラスタ化インデックスとはレコードデータ自体のディスク上での順序を表す。だから、テーブル毎に一つしか作れない。クラスタ化インデックスの順序が隣接しているという事は、データが物理的に隣接されてディスクに格納されているという事である。 SQL Serverは、データを「ページ」という概念で格納する。I/Oは全てこの8KBのページが最小単位である。レコードをたった一行取得する場合でもページ毎に読み出される。クラスタ化インデックスの順序が近いデータ

    SQL Serverのインデックス設計基準
  • VS2010 後の世代のプログラミング (2) Pex

    という訳でいくつもの連載するよと言っといて(2)が来ないとかやってるとアレなので、Visual Studio 2010 リリース後に出てきた物が開発にどう影響を与えるかという事で、Pex を取り上げます。

    VS2010 後の世代のプログラミング (2) Pex