2015-11-01から1ヶ月間の記事一覧

C#で動的にコンストラクタを取得(Expression, 式木を使って)

C#

www.palmmedia.de qiita.com neue cc - C#での動的なメソッド選択における定形高速化パターン Don’t use Activator.CreateInstance or ConstructorInfo.Invoke, use compiled lambda expressions | Notes of a Software Pogromist

オブジェクト指向の基礎。同じインスタンスを異なるクラスから参照する

C#

https://www.google.co.jp/#safe=off&q=use+same+instance+c%23

IEnumerable<>, IList<>の使い分け

C#

単に列挙するだけならIEnumerable、リストの参照や操作を行う場合はIList型を指定させ、意図の違いをコード上に表現します。 内部実装を読む事無く、すばやくメソッドの「意図」を把握出来るのはどちらでしょうか? IEnumerableのように、より制限された型を…

Disposeの書き方, usingステートメント

C#

file操作は必ずtry - catch - finally finallyの中でClose()する。 こういうパターン(try句の中でリソースに対して操作を行い finallyでDispose()する)を「Disposeパターン」という。 だが、毎回手でそのパターンを書くのはだるい → usingステートメントと…

ParallelとTask(aync, await)の違い

C#

I/O待ちをするような処理は、非同期版のメソッドを使って、スレッドを作らずに待つことが重要 (非同期版 = Taskクラス+async, awaitによる「待機可能」な書き方のこと) Parallel.ForEach(Common.GetQueries(context, keys), q => { var ret = q.Execute(); …

RX概論

saneyukis.hatenablog.com

MessagePackプロトコル再考

blog.fenrir-inc.com C++ の実装の話ですが、構造体に直接シリアライズ・デシリアライズでき、無駄なコピーが起こらないように、テンプレートを駆使して実装されており、JSON とは比べものにならない速さ // データ構造 struct mystruct { std::string m_str…