« 2009年3月 | トップページ | 2009年5月 »

2009年4月の17件の記事

2009年4月27日 (月)

[.NET] できる開発者は知っている! ~ テストに付ける属性( Timeout, ExpectedException ) と、 テストリストエディタ

Visual Studio 2008 の単体テスト機能を使ってみるチュートリアルが、 MS のサイトで公開されています。 ( これまでの分についてはこちら → 第1回第2回 )

できる開発者は知っている! 使って覚える Visual Studio 2008

第3回 特殊なテストやテスト管理をやってみよう
( 3. 特殊なテストやテストの管理にも対応! 単体テストの便利な機能 )

第3回は、 テストメソッドに付けられる属性のうちの 2つと、 テストリストエディタの使い方ですね。

デフォルトでは、 たしか 1分でタイムアウトしたはずです。 ( なので、 テスト中に無限ループに陥っても、 テストはちゃんと終了してくれる。 )
そんなに待ってるのはヤダってときは、 Timeout 属性を使ってもっと短い時間を指定できます。 ( 長くもできるけど… 単体テストは早く終わらなきゃ f(^^; )

ExpectedException 属性は、 例外が出ることを確認するテストに使います。
まぁ、 この属性を使わなくても、
try{
  テスト対象呼び出し();
  Assert.Fail("例外が出るはずだから、 ここには来ない!");
}
catch(期待する例外型){
  // OK
}
…みたいに書けばテスト出来ますけどね。

テストリストエディタは、 これを使わないとテストの実行が面倒です。 記事を読んでくださいな f(^^;

| | コメント (0) | トラックバック (0)

[.NET] InternalsVisibleTo

いつも使い方を忘れてるので、 メモ f(^^;
まずは MSDN ライブラリから、 引用。

InternalsVisibleToAttribute クラス
通常は現在のアセンブリ内でのみ参照できる型が、別のアセンブリから参照できることを指定します

で、 実際の使い方。
ユニットテストの対象にするプロジェクトの AssemblyInfo.cs に、 次のように属性を記述する。 ( ユニットテストのプロジェクトの、 ではない。 )
[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("{ユニットテストのアセンブリ名}")]
※ InternalsVisibleTo 属性の引数に指定したアセンブリの中から、 このアセンブリ内部の internal な型やメソッドが見えるようになる。

| | コメント (0) | トラックバック (0)

豚インフルエンザ ~ 完全に殺菌された精肉?

時事ドットコムより

豚肉は 「全く問題なし」 - 石破農水相

 石破茂農水相は26日、 テレビ番組に出演し、 メキシコと米国で感染が広がっている豚インフルエンザについて 「輸入であれ国産であれ、 豚肉は出荷段階で完全に殺菌される。 食べても全く問題ない」 と述べ、 不安心理から豚肉を過度に警戒する必要はないことを国民に対して強調した。

たしかに、 肉をカットするなどの加工の際に、 次亜塩素酸ナトリウム水溶液で洗浄するのが一般的なようですが、 それによって肉表面だけでなく、 中心部まで完全に殺菌できると言ってるのでしょうかねぇ。
ちょっとデータが見当たらないので断言はできないんですけど、 それはまずありえないんじゃ? 完全に殺菌できるとしたら、 漂白剤漬けの豚肉?

※ 次亜塩素酸ナトリウム水溶液 ( おもな塩素系漂白剤の主成分 ) には、 インフルエンザを含むウィルスに対する殺菌効果があります。

むしろ、 WHO の発表にあるように、  「70℃で調理すればウィルスは死滅するので、 普通に料理してれば大丈夫だよ」 "The swine influenza virus is killed by cooking temperatures of 160°F/70°C, corresponding to the general guidance for the preparation of pork and other meat" と言ってくれた方が、 どれだけ安心か。
※ 加熱前に手や調理器具に付着する分への対応は別途必要ですけどね。 豚肉は生では食べてはいけないと言われていて、 普段から調理器具には気を使ってるはずですから、 普段どおりで良いわけですけど。

# で。 マスコミは WHO が発表した原文を読まずに、 華氏だけで表現するのが普通の国の二次情報だけを見たらしく、 華氏160度をそのまま換算して 71℃ って書いてるし (--;

| | コメント (2) | トラックバック (1)

2009年4月23日 (木)

[地デジ] B-CAS に変わる新方式も導入へ …進んでるらしい

AV Watch より

B-CASに変わる新方式導入へ。早期運用開始を目指す
-ソフトウェアなど「仕様開示方式」。B-CASは併存

5月22日発表

 総務相の諮問機関である情報通信審議会は 22日、 「デジタル・コンテンツの流通の促進等に関する検討委員会第51回」 を開催。 地上デジタル放送の著作権保護方式の見直しについて、 新方式の導入を原則とし、 早期の運用開始を目指す方針が報告された。

昨年 6月に報じられた方向へ、 ほんとうに進んでるみたいですねぇ。

2011年 7月に間に合うのかどうかは別として、 とりあえずは良いことです。
※ とりあえず、 と書いたのは、 「新方式において、新たにライセンス発行/管理機関の設定が必要となる」 そうでして、 その機関というのが、 民間独占企業 B-CAS 社になっちゃう可能性があるんじゃないかと思ったからです。

ともあれ、 このタイプで USB 接続の地デジチューナーが出てくれば、 買っちゃいますよ。f(^^;


20090423_02 ところで、 どうでもいいことだけど、 4月なのに 「5月 22日」 という未来の記事になってるのは、 AV Watch さんの誤記ですからねw

| | コメント (0) | トラックバック (0)

[.NET] できる開発者は知っている! ~ Excel でテストケースを書いて境界値テスト

Visual Studio 2008 の単体テスト機能を使ってみるチュートリアルが、 MS のサイトで公開されています。 ( 第1回についてはこちら → [.NET] できる開発者は知っている! 使って覚える Visual Studio 2008 ~ 単体テスト )

できる開発者は知っている! 使って覚える Visual Studio 2008

境界値のテストをやってみよう
( 2. データ駆動テストで境界値テストもらくらく! テスト パターンの読み込み )

第2回は、 Excel をテストケース入力ツールとして使って、 複数のテストケースをいっぺんにテストする方法です。 テストケースのデータによって、 ユニットテストが駆動されるので、 データ駆動テストと呼んでいるようです。 ( MS 用語ではなく、 アジャイル界の用語です。 )

私も、 わんくま名古屋勉強会#02 のセッションで、 ほんの少しだけ紹介しました。
このデータドリブン単体テストのやり方は、 わかってしまえばどうってことないのですが、 ステップバイステップで解説しようとすると、 けっこう骨が折れます。 f(^^;

なお、 このチュートリアルでは、 Excel から CSV ファイルにエクスポートしていますが、 Excel ファイルを直接読み込ませることも可能ですし、 SQL Server などのデータベースを利用することもできます。

| | コメント (0) | トラックバック (0)

2009年4月21日 (火)

Re: 民主党のリベラル系議員が放ったと言うジョーク

Teo 氏曰く ( いや、 正確には某議員曰く )

…から発射するロケットも、日本の島の上を通るのだろうから、これにもPAC3を配備すべきだ

ふーん。
まぁ正論だよねぇ。 早けりゃ今年の 7月とか言ってる、  外羅老島から打ち上げるロケットも、 失敗すりゃ日本の領土に落ちてきかねないんだから…

…え !?
外羅老島じゃなくて種子島 ? (w
種子島から打ち上げて日本の島の上を通すですか? (www
それはつまり、 極軌道衛星を上げたいということですね?

# それ以前に、  どこに落ちてくるかわからんモノに対して PAC3 言うのヤメレ f(^^;

| | コメント (0) | トラックバック (0)

2009年4月20日 (月)

[C#] 代入式の値は右辺値

ぅお!! そーだったんだ!
…ずっと、 左辺値だと思い込んでました orz

R.Tanaka.Ichiro's Blog比較と代入の演算子
・ C# 言語仕様 ~ 7.13.1 単純代入

| | コメント (0) | トラックバック (0)

2009年4月17日 (金)

[.NET] そういうからには、 Collection<T> より List<T> の方が速いんだよね?

[.NET] Generic の List を継承してはいけない。 …なんて、 誰が言いだしたんだろう? …の続き。

> 菊池さん

んー、Listの継承といえば
class Tree : List
とかでよくやってるけど…

やっぱり、 そうですよね。 ちょっとした補助メソッドを追加したりするために、 あるいは、 それこそ型を固定するためだけに継承したり。

> 渋木宏明(ひどり) さん

「何故だめ(と言う人がいる?)なのか」を調べなくっちゃね、てことで。

前の記事を書くときに、 少しぐぐってみたんです。 継承しちゃダメ、 と書いている blog が何件も見つかりましたが、 しかし、 出所は分かりませんでした。 ( ので、 ああいうタイトルと結びになりました。 )
おそらくは、 MSDN の CA1002 の解説 「ジェネリック リストを公開しません」 のページに書いてある、 「System.Collections.Generic.List<T> は継承ではなくパフォーマンスを目的としたジェネリック コレクションである」 という文章に引き摺られちゃったんだと思います。 けれども、 そうじゃなくて、 別の理由があってダメだと言われてる可能性もあります。

> BlackB さん

>List はパフォーマンスを上げるために拡張性を犠牲にしてるから・・・

virtualにしない事でどれだけパフォーマンスは上がるんだろう?

virtual を付けるか付けないかで、 パフォーマンスの違いなんてほとんど無いと思います。
Code Analysis Team Blog で語られていることなどは、 ぶっちゃけ、 List<T> はパフォーマンスのために内部的にごにょごにょやってるので、 virtual にしてそのゴチャゴチャを公開したくない、 ってことなんじゃないかと思ってます。 f(^^;

ということで、 Collection<int> と List<int> の幾つかのメソッドで、 簡単にスピード計測をやってみました。

続きを読む "[.NET] そういうからには、 Collection<T> より List<T> の方が速いんだよね?"

| | コメント (0) | トラックバック (1)

2009年4月16日 (木)

[.NET] Generic の List を継承してはいけない。 …なんて、 誰が言いだしたんだろう?

倉田 有大のblog より。

List()を継承してはいけない。・・ならば・・
投稿日 : 2009年4月16日 14:50

委譲すればいいんでないかい?

たしかに、 委譲で作った方が後々良いことがあるかと思うです。 アプリケーションのフレームワーク部分などのように、 拡張性を考えておかないといけないところでは、 委譲でやるほうがお勧めです。

ただ、 FxCop が怒って来る CA1002 というのは、 「公開してはいけない」 すなわち public なメンバにするな、 ということです。 継承しちゃいけない、 じゃないです。
# 倉田さんのところのコメントに載せたお試しコードも、 CA1002 とかのお叱りは喰らってないです。 f(^^;
## 怒られてない、 ってだけで。 親のメソッドを隠蔽するのは、 まずい設計の匂いがぷんぷんしますけどね
w

てことで。
継承しちゃいけない って、 誰が言いだしたんでしょう?

| | コメント (5) | トラックバック (1)

2009年4月15日 (水)

[.NET] できる開発者は知っている! 使って覚える Visual Studio 2008 ~ 単体テスト

Visual Studio 2008 の単体テスト機能を使ってみるチュートリアルが、 MS のサイトで公開されています。

できる開発者は知っている! 使って覚える Visual Studio 2008

第1回 単体テストをやってみよう
( 1. ツールを使って単体テストの効率を向上 )

第1回は、 コードからユニットテストのスケルトンを自動生成する機能です。
これはまぁ、 あまりほめられた手法じゃなくて、 できれば、 ユニットテストを先に書いてからスタブの自動生成機能を使う ( テストファースト ) ほうが良いのですがね。

次回 ( 4/20 公開予定 ) 以降は、 NUnit には無い機能のチュートリアルになるようです。 NUnit を使いこなしている人にも、 一見の価値はありそう。

  1. ツールを使って単体テストの効率を向上
  2. データ駆動テストで境界値テストもらくらく! テスト パターンの読み込み → 「[.NET] できる開発者は知っている! ~ Excel でテストケースを書いて境界値テスト
  3. 特殊なテストやテストの管理にも対応! 単体テストの便利な機能 ≫ 4 月 27 日 (月) 公開予定
  4. 【上級編】一歩先行くテスト管理 テストの抜け漏れを可視化

| | コメント (0) | トラックバック (0)

Small BASIC 0.4 が出ました

ダウンロード → https://www.microsoft.com/downloads/details.aspx?FamilyID=b006d58d-c2c7-44ad-936b-e7e2d7de793e

SMALL BASIC blog によれば、 今回は機能にはあまり大きな変更はないみたいです。
・バグフィックス
・タイマーイベントの追加
そのほか詳細は、 MSDN フォーラム → Small Basic v0.4 is out

ただし、 アーキテクチャには変更を加えたらしく、 "completely localizable" ( かんぺきにローカライズ可能 ) になったそうです。 手始めにフランス語版からだそうですが… 日本語版は~!? f(^^;

※ フォーラムに書いている人もいますが、 先に旧版をアンインストールしておいたほうがいいです。 私も、 v0.31 の上からインストールしたら、 v0.4 起動中に例外で落ちました。

| | コメント (0) | トラックバック (0)

2009年4月14日 (火)

[本] ThoughtWorksアンソロジー

≪Amazon≫ ThoughtWorks アンソロジー

ThoughtWorks アンソロジー ―― アジャイルとオブジェクト指向によるソフトウェアイノベーション
ThoughtWorks Inc. 著、株式会社オージス総研 オブジェクトの広場編集部 訳
2008年12月 発行 / ISBN978-4-87311-389-0

Martin Fowler が居る ThoughtWorks 社のメンバー 13人が書いた本。 アンソロジーというだけあって、 それぞれの内容はバラバラです。

目次など本の詳細については、 オライリー・ジャパンのページをどうぞ。

昨年末に出版されていたのですが、 ようやく読み始めることができました f(^^;

| | コメント (0) | トラックバック (0)

2009年4月11日 (土)

[わんくま同盟 名古屋勉強会] 第7回 (2009/04/11) の資料

第7回では、 「計測と見積り」 というお題でお話しさせていただきました。 → わんくま同盟 勉強会の資料

( 23:00 追記 )
懇親会の席で、 きちんと計測するってタイヘンなんじゃ… ってお尋ねをいただきました。
そのとおりでして、 月100時間以上も残業してるような終盤戦で、 テスト と バグ票起票~トリアージ と 不具合修正~確認テスト の工数を別々に記録しろ、 って言ったって、 個人やチームのレベルではとてもやってられるもんじゃありません。 たぶん、 会社のトップから強制されないと、 ちゃんと出来ないのじゃないか、 と思います。
# 実際、 今回のうちのチームもできなかったし… orz

| | コメント (0) | トラックバック (0)

2009年4月10日 (金)

DesktopSmiley.com ~ コメントスパムから

昨日付いたコメント ( 削除済み ) のリンク先 http://www.desktopsmiley.com/ …いやこれ、 盛大に怪しいから。

20090410_desktopsmiley01

制限時間があります、今、無料でダウンロードしましょう!」 って、 急いですぐに決断をしなきゃいけないと思わせるのは、 詐欺の常套手段だから。

で。 なぜ期限が切られているのか? …書いてありません。
それどころか、 期限が何時までなのか? …それすら書いてありません。
これはもう、 自分的には、 なにかとんでもないモノをインストールさせようとしている危険サイトに認定です。


( 2009/04/28 追記 )
掲示板の書き込みとかをみるかぎり、 やはり面白くないソフトのようですね。
うっかりインストールしてしまうと、 コントロールパネルからのアンインストールでは消えないようです。
インストール直前の復元ポイントが残っている場合は、 「システムの復元」 をしてしまうのが確実です。 手作業で戻すことも、 出来なくはないようです。 → 手作業で復旧できた例: PCトラブル質問掲示板


( 2009/05/02 追記 )
欧米の掲示板やブログを見ても、 うまく削除できたという例はほとんど見当たらないようです。 インストール時に、 うんと奥深いところに何かを仕込むみたいですから、 安心するにはフォーマット→再インストールすべきなのかもしれません。

SecuriTeam Blogs » The “DesktopSmiley, Not A Spyware” ToolBar によると、 DesktopSmiley は、 バーチャルマシンにはインストールすらできないそうです。
エラーダイアログ
仮想環境ではダメでリアルなハードウェアを要求するというプログラムは、 よほどハードウェアに密着したものでなければ、 考えにくいものです。 しかも、 プログラム本体ではなくてインストーラ実行時というのは、 ますますありえないものです。 
レジストリの修正くらいでは除去できないくらい 「深い」 ところに、 何かを仕込んでいる可能性が高いと考えてよいと思います。

( 2011/06/16 追記 )
すでにウィルス認定されて、 アンチウィルスソフトの対象になっていました。 目についた 2社だけリンクを貼っておきます。
・「Adware.DoubleD - 駆除方法」 (Symantec) http://www.symantec.com/ja/jp/security_response/writeup.jsp?docid=2009-081813-5025-99&tabid=3
・「ADW_DOUBLED」 (トレンドマイクロ) http://about-threats.trendmicro.com/Malware.aspx?language=jp&name=ADW_DOUBLED
システムの復元機能を無効にしてから削除しないといけないようです。

| | コメント (0) | トラックバック (1)

2009年4月 8日 (水)

SQL Server 2008 SP1 とか、出てます

SQL Server News Blog より。

Service Pack 1 for SQL Server 2008 Available Today
Posted: Tuesday, April 07, 2009 11:10 PM by SQL Server Team

With this service pack, Microsoft has made investments to ease deployment and make management of service packs more efficient. Key improvements in SP1 include Slipstream, Service Pack Uninstall and Report Builder 2.0 click-once deployment.

Slipstream は、 SQL Server 2008 と SP1 を一度にインストールできる機能らしい。
Service Pack Uninstall は、 読んで字のごとく、 なんだけど。 今まで出来なかったんだ?
Report Builder 2.0 click-once deployment は、 作成したレポートを配布しやすくする仕掛け …らしい f(^^;

SQL Server 2008 Service Pack 1
Microsoft SQL Server 2008 用 Feature Pack、2009 年 4 月
Microsoft SQL Server 2008 アップグレード アドバイザ、2009 年 4 月
Microsoft SQL Server 2008 Reporting Services レポート ビルダ 2.0、2009 年 4 月
Microsoft Office 2007 用 Microsoft SQL Server 2008 データ マイニング アドイン、2009 年 4 月
Microsoft SQL Server 2008 Express Edition Service Pack 1

| | コメント (0) | トラックバック (0)

2009年4月 7日 (火)

[VS2008] ブレークせずに、変数を表示させる。 (VS2005 でも)

Visual Studio 2008 に、 こんな機能が増えていたとは…

今日のワンポイント : トレースポイントを使用して、コードを編集することなく "printf" または "console.writeline" 情報を記録する方法- #237

ループ中の変数の動きとか見るのに、 すごく便利。
残念ながら、 Express エディションには付いてないようです。 Pro. エディションは未確認。

続きを読む "[VS2008] ブレークせずに、変数を表示させる。 (VS2005 でも)"

| | コメント (3) | トラックバック (0)

[わんくま同盟 名古屋勉強会] 第7回 (4/11) ~ 今週末は国際センター

わんくま同盟今週末は、 国際センターでわんくま勉強会です。
まだ 20人分ほど席が残っているようですので、 土曜日の予定が埋まってない人はぜひどうぞ f(^^;
詳しい情報は、 こちら。 → http://www.wankuma.com/seminar/20090411nagoya07/

個人的には、 葵たんのお絵描きネタに期待 (^^;
私は最初のセッションってこともあるので、 見積りについての話題をいろいろと、 しかし軽~く喋ります。 見積りの手順をキッチリ聞けると思ってた方がいたら、 ごめんなさい。
# 資料作り始めてから、 社内データを出すわけにイカンので突っ込んだ話はできん、 と気付いたのだった (汗;

| | コメント (0) | トラックバック (0)

« 2009年3月 | トップページ | 2009年5月 »