normalian blog

Let's talk about Microsoft Azure, ASP.NET and Java!

C#

Moq.dll on ASP.NET MVC

昨日Moq.dllを使ってみたので、早速ASP.NET MVCに適用してみました。ここで、ControllerクラスのUserプロパティやら、HttpContextプロパティやらの設定はうまく行ったのですが、その他に色々問題があったのではまずはメモしてみる。Moq.dllの適用先としては…

Moq.dllを使ってみた

C#

ASP.NET MVC内のテストコードでも、華麗に使われているMoq.dllを少々使ってみた。こ奴が何者かという事に関しては「まずコードを見ろ!」と言いたいところですが、端的に述べると「単体テスト用のMockを作りやすくするライブラリ」でしょうか?前々からASP.N…

BackgroundWorkerの復習

C#

以前、.NET上でマルチスレッド処理をしたいときに、さらっと使ったBackgroundWorkerコンポーネントですが、復習の為にちょっと使ってみました。 うーん、やっぱりクライアントアプリを作る際にマルチスレッド処理をする場合には有効そうだなぁ。スレッドの開…

Dictionary#TryGetValueメソッドはそんなに早いのか?

C#

.NET Framework 2.0から追加されたという噂のメソッドTryGetValueがどれだけ速いのかを試してみたテスト。正直.NET Framework 2.0で追加されたメソッドなんて使い古されてる感が有りますが、ちょっと試してみたくなったのでつい。 比較対象は以下。 Dictiona…

.NETのインターフェースの実装クラスはImplで終わらないのか?

Javaの文化と.NETの文化では、例えば以下の様に色々とネーミングルールが異なります。 分類 Java .NET インターフェース 特になし 頭にIをつける(IFilterとか?) 実装クラス 最後にImplつける(SmpServiceImplとか?) 特になし(と思ってた!!) しかしまぁ、…

ジェネリックスを用いた汎用クラスの定義方法

今回の記事はC#プログラミングの基礎な気もしますが、気にせずに書く。気さくな突っ込み募集(いいタイトルを思いつかなかったので、そこも突っ込み募集)。 いやぁ、ASP.NET MVCを弄っていて、ViewPageクラスがふと気になったんですよ。何が気になったかと言…

ラムダ式の変数スコープ

C#

id:masa-k さんが華麗にまとめていらっしゃいます。内部動作も相当面白いですが、忙しい方でも注意編に関しては読んだほうが良さそうです。 しかし、自分はこういった細かい部分をきっちりまとめる能力が欠けてるなぁ〜・・・orz id:masa-k:20090813:1250128…

MVC 2 Preview 1での変更ファイル一覧

CodePlexで公開されている以下のソースコードを見比べてみた。 ASP.NET MVC v1.0 Source http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=24471 ASP.NET MVC 2 Preview 1 http://aspnet.codeplex.com/Release/ProjectReleases.aspx?Rele…

MVC 2 Preview 1での変更点

変更点その1として、Controllerクラス。MVCの肝となるクラスですが、実際の変更点は以下程度。 public abstract class Controller : ControllerBase, IActionFilter, IAuthorizationFilter, IDisposable, IExceptionFilter, IResultFilter { (中略) public …

続続 ラムダ式の上位スコープ保存

以前書いた記事、「続 ラムダ式の上位スコープ保存」について、 id:karuakun に突っ込みを頂いたので今更返答をば。 突っ込み頂いた内容について考察してみたりします。まずは頂いたコード例は以下。 IList<Action> list3 = new List<Action>(); for (int i = 0; i < 3; i++)</action></action>…

続 ラムダ式での上位スコープの保存

id:karuakun さんから振られたお題を再確認中・・・。

 Windows Azure SDK のインストールについて(2010年12月21日に修正)

Azure SDK 1.3のセットアップ方法を id:waritohutsu:20101221:1292944187 に記述したので、必要な場合はこちらを参照してください。 入れよう入れようと思って放置していたWinodws Azure SDKのインストールメモ。基本的にはMicrosoft本家のAzureサイトを見れ…

C#でmap、filter、reduce

「Googleを支える技術」で?一躍有名になった感がするmap、filter、reduceですが、LINQ(C#)で対応させると以下になるんでしょか? 一般? LINQ(C#) map Select filter Where reduce Aggregate せっかくneueccさんがAggregateの良いサンプルを書いてくださっ…

GroupBy、OrderByを使ってみる

DTOリストの中から年齢最少の幼女を抜き出すサンプル。 ちょっと走り書きしてみた。 using System; using System.Collections.Generic; using System.Linq; using System.Text; class Program { static void Main(string[] args) { IList<SmpDto> list = new List<SmpDto>(ne</smpdto></smpdto>…

Zipを使ってみる

AsParallelと同じく、.NET4.0betaからの回し者Zipを使ってみた罠。 Haskellとかを使ったことのある人なら、メソッド名でイメージがつくんじゃないかと。では、コード例。 class Program { static void Main(string[] args) { var range1 = Enumerable.Range(…

AsParallelを使ってみる

せっかく.NET4.0 betaが入っているので、ついついAsParallelを使ってみるわな。 どうやら、LINQインターフェースに対して、AsParallel()を実行すると並列実行型のインターフェースにバインドされるらしい。 まずはサンプルコード using System; using System…

ToLookupを使ってみる

普段使っておきながら、結構使いどころを忘れるToLookupメソッドなどを書いてみる。以下がサンプルコード&実行結果。 public static void Main(string[] args) { List<int> intList = Enumerable.Range(1, 6).Concat(Enumerable.Range(1, 4)).ToList(); List<string> str</string></int>…

INETA Day 2009 に参加してきたメモ

INETA Day 2009に参加してきましたので簡単にメモをばを公開。さすがにこれ以上延ばすと時事ネタじゃなくなってしまいそうなので、不完全だろうが何だろうが公開。 実はINETA Day 2008が初めて行ったに等しい勉強会だったりしたので、1年越しに思う事がいろ…

VSTOとか XML-RPCとか

C#

.NETでTracのクライアントを作っている人がいるらしい。要素技術として掲題の物があるので簡単にリンクだけ張ってみる。 XML-RPC.NETXML-RPC.NET http://www.xml-rpc.net/ Visual Studio Tools for Office 製品情報 http://www.microsoft.com/japan/msdn/vst…

C#でシャッフルしてみる

C#

「C#でリストをシャッフルする方法について」の議論をちょこちょこ聞いたので、ためしにシャッフルなクラスを作ってみた。 けど・・・、うーん・・・、いろいろ微妙な気がする。まずは書いたコード片を載せてみるテスト。 一応、Genericsを使ってるけど微妙…

 ASP.NET MVCでQuill 〜その2〜

id:waritohutsu:20090601:1243835418でASP.NET MVCでQuillを使用する方法を書いたんですが、問題点がありました。実は初回リクエスト時にはインターフェースにクラスがインジェクションされるのですが、2回目のアクセスではインジェクションが失敗して、イン…

文字列情報だけでインスタンス生成&メソッド実行

C#

最近流行の型付言語のFW*1では、ほぼ間違いなくリフレクションを使っているのでちょっと復習。文字列情報だけでロード済みアセンブリ内のオブジェクトについて「インスタンスの生成」と「インスタンスメソッドの生成」を実行する。コード例は以下。 string f…

ラムダ式

ラムダ式はローカルスコープの変数値を保存していると聞いたので試してみた。コード例は以下。 public class LambdaFactory { private static int x = 0; static public Func<int> Create() { //あえてここでローカル変数に代入 int y = ++x; return () => y; } }</int>…

ループの回し方

C#でループをまわすと言うと、以下の二パターン位がぱっと思いつく手法? for(i=0; i foreach( var val in collection ) でくるくる? 最近、別の解法もある事を知ったので簡単にメモ。何を使うかというと、System.Arrayクラスを使う方法で、具体的な使用例…

ASP.NET MVCの処理(Controller、Viewの実行される場所について)

ASP.NET MVCが処理される流れとして、ちょっと御幣がありますが、まずはSystem.Web.Mvc.MvcHandler#ProcessRequest内で以下な感じで実行される。 public class MvcHandler : IHttpHandler, IRequiresSessionState { protected internal virtual void Process…

Binder関係について

単純に備忘録。後でまとめないと System.Web.Mvc.BinderAttributeを使う場合 BinderAttributeはController#actionメソッドシグネチャに対して、以下な感じで使われる。 public ActionResult BindAttribute2Action([Bind(Include = "Age")] HogeViewModel hog…

ASP.NET MVC for Visual Studio 2010 betaリリース!

さあ、これでASP.NET MVCのときだけVisualStudio2008とか言わなくてすむんだ、ばんざーい!! http://haacked.com/archive/2009/06/09/aspnetmvc-vs10beta1-roadmap.aspx

わんくま東京勉強会#34

さて、わんくま東京勉強会#34 に行ってまいりました。 今回はLTで発表する側として参加してまいりました。勉強会の開催からは若干日が開いてしまいましたが、本人が覚えてる範囲内で記述してみます。 準備 集合場所を勘違いして赤坂近辺を迷い続けるという失…

わんくま東京勉強会#34 〜LTプレゼン資料〜

うーん、はてなに資料を張る何かを使ってみたのですが、何故か資料がイマイチ・・・orz

ASP.NET MVC with Quill

色々とカスタマイズが可能になっているASP.NET MVCであり、ASP.NET MVCとDIコンテナ系との親和性はかなり高いと思います。しかし、なぜかNInjectでの記事は載っているのに、日本語の記事でエントリーに上がっていません。なので、記事がなかったので書いてみ…