2010年4月24日土曜日
2010年4月22日木曜日
2010年4月14日水曜日
PLinq
Visual Studio 2010(.NET Framework 4)より、PLINQ (Parallel LINQ)が追加され、並列処理が簡単にできるようになっています。
10 行でズバリ !! 並列プログラミング - PLINQ (C#)より
PLINQ は LINQ によるデータ コレクションに対するクエリ処理を並列化するためのものであり、PLINQ を使用することで LINQ クエリの Select 句や Where 句で実行されるロジックを容易に並列処理化することが可能です。PLINQ の機能は ParallelEnumerable クラス (System.Linq.ParallelEnumerable) の拡張メソッドとして提供されており、LINQ クエリの処理対象データ コレクションに対して ParallelEnumerable クラスの拡張メソッドの呼び出しを追加するだけでデータ コレクションへの処理を並列化し、マルチプロセッサー/マルチコア CPU の処理能力を活用して処理時間を短縮することができます。
と言うわけで、先日の重いLinq構文を何とか出来ないかとあちこちにAsParallelを追加してみました。
が、Aggregate構文を途中で使用しているためか、追加前より速くなることはありませんでした。
残念。
Visual Studio 2010
というわけで、早速お試し。
気になる機能その1 Coded UI Test
なんと、GUIのUnitテストが出来るらしい。
①まずは、超簡単なWinFormアプリを作成
テキストボックスに文字列をいれて、ボタンを押下すると下記ダイアログを表示する
ただそれだけです。
②テストの追加
Testメニューから、NewTestを選択。そうすると下記ダイアログが表示されるので、Coded UI Testを選択する。
そうすると、どうやってUIテストを作成するかを聞いてくる。一番最初はテスト資産がないので、上を選択。
画面の右下に、小さなポップアップ?が表示されるので、準備OK。
ここからの正しい使い方がよくわかっていないので、適当に。
(i)テスト対象アプリの起動
とりあえず、テスト対象が起動していないことにはどうにもならないので、起動します。
(ii)赤いボタンを押下
操作記録が開始されます。
(iii)適当に操作
検証したいポイントの手前まで操作します。今回の場合、はテキストボックスに文字入力&ボタン押下。
(iv)一番右のボタン押下
行った操作に対するコードが生成されます。
(iv)照準アイコンを検証したいコントロールへD&D
対象コントロールのプロパティーが表示されます。
(v)検証したいプロパティーを選択し、Add Assertionをクリック
表示されるダイアログで、検証の条件を追加します。
(vi)再び、コードを生成
今度はAssertionコードが追加されます。
以上で、テストケースの作成は終わり。
③テストの実行
[TestMethod]
public void CodedUITestMethod1()
{
this.UIMap.RecordedMethod1();
this.UIMap.AssertMethod1();
}
上記テストメソッドが作成されるので、右クリックからテストの実行を選択。
/>テストが実行される。
※テスト実行前にも必ずテスト対象を起動してあげないとダメ。このあたりはちゃんとした手法があると思うのだがよくわからん。
気付き
IMEが有効になっていると、途中でテストが失敗する。
いまいち。自動テストとかできるんだろうか。。。
2010年4月13日火曜日
2009年9月23日水曜日
Silverlightを試す
前々からずっと気になっていたんですが、なかなか試す機会がなかったで連休を利用してチャレンジです。
用意したもの
- MSDNから調達
- VisualStudio 2008 Professional Edition (SP1)
- Expression Blend3
- Webからダウンロード
- Visual Studio 2008 SP1 用 Microsoft® Silverlight™ 3 Tools
- Microsoft® Silverlight™ 3 SDK
始める
上記をインストールすると、VisualStudioにSilverlight用のプロジェクトテンプレートが追加されていました。
とりあえず、Silverlightナビゲーションアプリケーションを選択(サンプルプロジェクトぽかったので)。
するとダイアログが出てきて、何かを尋ねます。意味がわかってないので、デフォルトで。
作成されたプロジェクトを、そのまま実行した結果。をを、うごいてますな。
画面レイアウトはBlendで編集するとのことなので、先ほどVisualStudioで作成されたプロジェクトをBlendで開いてみる。
そうすると、なぜがMainPage.xamlがエラーをはいています。なぜ?
原因は、XAMLに書かれた日本語が文字化けして、"(ダブルクォーテーション)が消えてることでした。
文字コードが違うみたい。どこかで文字コードを設定する箇所があるのでしょうか?
で、ここで詰まってます。先は長い。
(追記)
Blend上でファイルを右クリック→外部で編集。メモ帳でファイルが開くので、そのまま上書き保存。
そうすると、Blend側で上記ダイアログが表示され、ファイルの再読み込みを促される。
はいをクリックすると、エラーが解決する。一度解決したファイルは次からは正しく表示される。
XAMLファイルの数だけ上書き作業を行うとOK?なのかも。
なぜでしょうね。
2009年9月2日水曜日
32bitのVisual Studioが64bitプロセスをデバッグできること
VisualStudio2008は32ビット版しか提供されていません。
でも、.NETFrameworkは64ビットネイティブで動作するプログラムを作成することができます。
ってことは、32ビット版アプリで64ビット版アプリのコンパイル&デバッグができるってこと?
とおもい、64bit環境でVisualStudioを起動してみました。(下図はタスクマネージャのキャプチャ)
やっぱり、VisualStudioは32bit、作成中のアプリは64bitで動作してますね。
自分はこの状態を非常に不思議に思うのですが、そんなことはないのでしょうか?
#64bitの方が扱えるメモリ空間も広いし、普通に考えたら32bitアプリからはすべてを制御できないような気がするんですよ。
2009年2月24日火曜日
VS ImageLibrary
すごく今更なのだが、Visual Studioにアイコンセットが含まれているのを知った。もっと早く知っていれば...
[VisualStudio2005]
C:\Program Files\Microsoft Visual Studio 8\Common7\VS2005ImageLibrary
C:\Program Files\Microsoft Visual Studio 9.0\Common7\VS2008ImageLibrary