« 2009年12月 | トップページ | 2010年2月 »

2010年1月の19件の記事

2010年1月30日 (土)

[勉強会@名古屋] ネタ募集: わんくま名古屋勉強会#11 で 「TDD 道場」 やります!

わんくま同盟来週土曜 (2010/2/6) は、 わんくま同盟 名古屋勉強会 #11 です。
で。 その昼休み中にゲリラ企画! 「TDD 道場」 やっちゃいます♪

「TDD 道場」 では 「乱取り稽古」 やります。 ペアプロを交代しながら TDD をやってくのを、 みんなで観戦(?) します。 もちろん、 チャチャ入れアリで。 詳しくは… ⇒ TDD.NET: [記事紹介] Coding Dojo

見てみたい人は、 なるべく早めに昼ご飯から帰ってきてくださいね。 お弁当持参なら、 なお良し♪

で、 ぢつはネタを何にしようか、 まったく考えてなかったりします。 f(^^;
「こんなお題で TDD やると良いんじゃね?」 ってネタの提供をお願いしたく m(_`_)m
まぁ、 なにか思いついたら (お題に限らなくていいので)、 TDD.NET 掲示板に書き込んでやってくださいまし ⇒ TDD.NET 掲示板: 「TDD 道場」 への要望とか

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

[SL3] とある画像の自動生成<ジェネレータ>

本日は、 わんくま同盟 勉強会 東京#43 をやっております。 演目一覧を見てもらうと、 「とある○○の×××× <△△△△△>」 ってパターンの多いこと…。
# ライトノベル・アニメ・コミック好きな人にはお分かりでしょう f(^^;

この手のネタが流行ると登場するのは、 ロゴの自動生成 CGI。
20100130_toaru01 でも、 この 「とある画像の自動生成<ジェネレータ>」 は一味違います。 Silverlight 3 で作られていて、 生成した画像をローカルに保存できます。 (CGI でも、 ブラウザーの機能で画像を保存できますけどね f(^^; ) ローカルの CPU パワーを使うので、 気兼ね無く気の済むまで生成を繰り返せます。

Silverlight を齧ってる人は、 全体にグラデーション掛けるのをどうやってるのか (1文字ずつなら簡単だけど…) を疑問に思ったかもしれません。 (私はとっさに分からなかった f(^^; )
そのへんも含めて、 作者の zio さんが解説してくれてます。

ziolog | とある画像の自動生成<ジェネレータ> 2009/11/09
ziolog | とある画像の自動生成<ジェネレータ> --解説01-- 2009/11/10
ziolog | とある画像の自動生成<ジェネレータ> --解説02-- 2009/11/11

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

2010年1月29日 (金)

Microsoft Power to the PRO リンク用バナー

…なんてものが用意されてたんですねぇ。

http://www.microsoft.com/japan/powerpro/banner/default.mspx
20100129_powertothepro_banner01

いかんせん、 どーやってこのページに辿り着いたらいいものやら。 ぐぐってみても、 リンクしているページは外部からの 2つだけw
MSDN、 TechNet、 TechFielders …等々と取り揃ってるのにのにねぇ。 もったいない。

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

2010年1月28日 (木)

[WPF] 盾アイコン付きのボタンを作る

MS Connect (ID=525033) 経由、 Windows Live: Rob Relyea "Creating a Button with the UAC Shield icon using WPF & other StockIcons" 経由、 Yves Dolce: "StockIcons for Windows Presentation Framework?"。

Windows Vista で、 システムが持っているアイコン (Shell Icon) を取り出す API SHGetStockIconInfo が用意されました。 これを使って盾アイコンのリソースを引っ張ってきて、 Image のソースに渡してやれば出来上がり、 なんですが… どーにもめんどくさそう。 f(^^;

この記事には、 その面倒なところをやってくれる VistaBridge.UI.StockIcons クラスのソースコードが掲載されています。 ので、 あとは XAML エディター上でちょろっと書くだけで完了! (^^)

(2010/2/20 追記)
サンプルコードはこちら ⇒ [WPF] 盾アイコン付きのボタンを作る (続)

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

2010年1月26日 (火)

[cocolog] Twitter へ投げるためのリンクが、記事の下に

今日のメンテで、 ようやく記事のフッターに Twitter へ投げるためのリンクを出せるようになった。
20100126_twitter02

でも、 どこで設定すればいいのか、 ぐぐる様に尋ねたのは内緒だw

※ メモ
[デザイン] - [表示項目を選択] で、 「記事/ウェブページ」の 「□フッター」 と 「□ウェブページのフッター」 のとこにある、 「設定」リンクをクリックすると、 フッターの設定ダイアログが出てくる。

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

michaelv.org - Windows 3.1 エミュレーター

コレ全部、 JavaScript でやってるの!?
20100126_michaelv_org02

これはスゴイわ。 ⇒ http://www.michaelv.org/

作者の弁によれば、 ただのデッドコピーを目指してるわけではなく、 不要な機能 (メモ帳の検索・置換とか、 たぶん閉じるボタンとか) は意識的に排除してるそうで。

Twib に集められたつぶやきを見てると、 「windows3.1ってこんなのなのかw」 とか、 見たことない人がけっこう多い風味。 20年の月日が経ったんだなぁ、 と感慨ひとしお f(^^;

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

2010年1月25日 (月)

[勉強会@東京] 「とある同盟の勉強会<リアクター>」 1月30日 わんくま同盟 東京勉強会 #43

わんくま同盟ついこのあいだ東京勉強会 #42 があったばかりのような気もしますが、 今週末はわんくま同盟 東京勉強会 #43 です。

20100130_toaru02
2010/01/30 10:40-17:30
・ 「とある言語の再定義<レデファイン>」by 初音玲 Lv1くまー
・ 「Source SDKで遊ぼう!」by Odenさん lv1くまー
・ 「クラウド時代のデータベース「Key-Value Store」を使い倒す」by 日本オラクル 大田さん Lv1くまー
・ 「とあるニセ科学の再検証<リバリデイト>」by guicheng lv1くまー
・ 「Spec#と契約プログラミング」by 中博俊 lv1くまー
・ 「とあるモデリングの再生誕<リバース>」by こくぶん

わんくまらしく、 いろんなネタが集まってあたかも反応炉のごとく… f(^^;

場所は、 青山のオラクル本社のセミナールームです。 一昨年出来たばかりのこのビルの設備はすばらしいので、 それを見るだけでも価値があったりして。 出入りがちょっと面倒だとか、 中はまるで迷宮のようだとか、 見所はいっぱいありますw

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

2010年1月21日 (木)

[.NET] マイクロソフトのサンプル コード集が充実しつつある

このところ日本の Microsoft が、 サンプル コードの提供に力を入れています。 これは、 先日の Developer Forum 2009 でも言われていましたし、 VS2010beta2 公開のときにも 「.NET 開発におけるコード サンプルと関連情報の提供を強化します」 と書かれていたことの実行ですね。

・ サンプル コード集 「10行でズバリ!」 (C#, VB)
これは以前からあったページです。 このところ急ピッチでサンプルが追加されてきています。

Code Recipe - .NET 開発サンプル コード集
20100121a こちらは昨年 11月に開設されたページです。 「10行でズバリ!」 シリーズも、 ここの 1コーナーという形になりました。 かなり本格的なサンプルも提供されていて、 最近では Silverlight を使ったショッピング サイトが追加されました (ドキュメントの公開はまだ中途)。
今後の公開予定を見ると、 毎週金曜日に新しいコンテンツが追加されていくようです。 リクエストも受け付けているようです。 また、 blog 「開発者のみなさまのために」 で新しい情報が提供されています。

・ CodePlex: All-In-One Code Framework
こちらはもっとスゴイです。 現在 290本以上。 ただ残念なことに、 英語のサイトです。

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

[.NET] WPF は ILMerge できない (続)

正確には、 画面の XAML 定義が入っている複数のアセンブリを ILMerge でマージすると実行時エラーになる、 です。

Microsoft Connect: FeedbackID=525042
WPFのプログラムをILMergeでまとめると、実行時にエラーになります
2010/01/14

この現象は私も経験していて、 まぁそういう仕様なんだと理解しています。 画面だけ 1プロジェクトに集めてしまえばいいわけで、 ASP.NET と同じようなもんだと。
今回、 気になってもう少し探してみたところ、 どうやら XAML をコンパイルして出来上がる BAML ファイルのフォーマットが非公開なので、 ILMerge が (に限らず、 他のマージツールも) 対応できない、 ということみたいです。

続きを読む "[.NET] WPF は ILMerge できない (続)"

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

2010年1月20日 (水)

[.NET] private な拡張メソッドでメソッド チェーン

拡張メソッド (C#, VB) は、 .NET Framework 3.5 から使えるようになった機能です。 元のクラスを修正することなく、 あるクラスに新しいメソッドを追加できる (厳密に言えば違うけど) ので、 けっこう便利です。 実際、 LINQ は、 拡張メソッドに大きく依存しています。 (というか、 LINQ のために拡張メソッドを導入する必要があったんじゃ?)

ところが、 拡張メソッドは濫用すると混乱を招きます。 開発チームのメンバーが勝手に拡張メソッドを作り始めたらどうなるでしょう? たとえば string クラスの拡張メソッドを、 A君はアセンブリ a に入れ、 B君はアセンブリ b の中に作ったり。 あるいは同じ名前の拡張メソッド、 たとえば string.WordCount() が複数出来てしまったり。
そこで、 拡張メソッドを作るときのルールを決めて、 チーム内できちんと運用する必要が出てきます。 「思いつき」で、 ぱっぱっと拡張メソッドを実装することは許されなくなります。

拡張メソッドを使うとメソッド チェーンが書けます。 しかし、 勝手に拡張メソッドを実装できないルールの下では、 「あ、 ここはメソッド チェーンにしたい!」 と思っても事実上不可能です。 拡張メソッドを追加するためのチーム内の手続きを行う時間よりはるかに早く、 メソッド チェーンを使わない実装が書けてしまうからです。

ですが private な拡張メソッドなら、 どうでしょう? メソッド チェーンを書きたいクラスの中に、 private な拡張メソッドを定義して使う。 それなら混乱を招くことは無いのではないでしょうか。
そのためには static なクラスにしなければならないので、 採用できる場面はあまり多くないとは思いますけれど。 ひとつサンプル コードを提示しておきます。

続きを読む "[.NET] private な拡張メソッドでメソッド チェーン"

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

2010年1月19日 (火)

[SL3] Silverlight で RSS リーダーを作る

わんくま同盟 東京勉強会 #42 の最後のセッションでマイクロソフト大西さんが、 サクっと RSS リーダーを作ってくれた …と思います。
※ 当日の中継が調子悪くて切れまくりで、 何が起きていたのかほとんど把握できなかったのよ~ (;;)

Silverlight 3/4 で RSS リーダーを作るのは、 とても簡単です。
最大の難関は、 他ドメインのアプリケーションに RSS フィードを公開してくれているサイトを見つけ出すこと、 だったりします。 f(^^;
Yahoo! Pipes が公開してくれていますので、 その中から "Silverlight Aggregate RSS" の RSS フィード を読み出すプログラムを作ってみました。

続きを読む "[SL3] Silverlight で RSS リーダーを作る"

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

2010年1月18日 (月)

[.NET] Wintellect's Power Collections for .NET

こんなライブラリーが、 もう 4年も前に出てたんですね。 f(^^;

CodePlex: Wintellect's Power Collections for .NET

次のようなジェネリック コレクションが入ってるみたい。
Deque, MultiDictionary, Bag, OrderedBag, OrderedDictionary, Set, OrderedSet, OrderedMultiDictionary

# OrderedDictionary なんて、tddbc の課題に使えそうw

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

PSExpect - PowerShell 用ユニット テスト ライブラリー

20100118_architecturejournal11 Microsoft のアーキテクチャ ジャーナル 第11号 (2007年) の記事「テスト駆動型インフラストラクチャ」(原文) を読んでいて、 こんなものがあるのを発見。

CodePlex: PSExpect - PowerShell Scripts for Testing

なにやら、 PowerShell から使える Assert 文のライブラリーらしい。 ジャーナルの記事では Web サービスからのレスポンスをチェックするサンプルコードが載ってました。
# 後は PowerShell の偉いシトに任せた! f(^^;

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

2010年1月 7日 (木)

[.NET] SendKeys はキーボード配列に依存する

.NET Framework の SendKeys って使ったこと無いんですよ。 キーストロークを送るのって、 タイミング依存だし、 ユーザー操作によって失敗する (プログラムからフォーカス当てて、 キーストロークを送るまでの瞬間に、 フォアグラウンドを切り替えられてしまったら…  f(^^; ) しで、 すごく使いにくい。 おまけに、 MSDN ライブラリには、 こんなこと書いてあるし。

.NET Framework クラス ライブラリ
SendKeys クラス

注意 :
国際対応のアプリケーションでは、 Send の使用は避けてください。 使用されるキーボードの種類が多岐にわたるため、 予期しない結果が発生する可能性があります。

で。 実際にはこんなことになる、 という例を MS Connect で初めて知りました。

続きを読む "[.NET] SendKeys はキーボード配列に依存する"

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

[勉強会@名古屋] 2月6日 わんくま同盟 名古屋勉強会 #11

わんくま同盟今回も、 私の受け持ちセッションは無いですが、 もちろん参加しますよ~ f(^^;
あ、 たぶん LT の前座はまた務めさせてもらうことになると思います。

わんくま同盟 名古屋勉強会 #11

2010年最初のわんくま名古屋勉強会は、 やっぱりハードウェア寄りの濃い話で満載です。
バージョン管理、 ファイルシステム、 コマンドプロンプト & PowerShell、 宇宙開発といったラインナップでお送りします。
皆様お誘い合わせの上、 ちょっぴり濃いめの話を聞きにいらしてください。

場所は例によって、 名古屋駅から地下でつながってる (だから、 電車さえ動いていれば、 雪が降ってても寒くない f(^^; ) 国際センターです。
前回、 都合で急遽取りやめになってしまった 「コマンドプロンプト再入門」 も捲土重来。 日本の宇宙開発では、 うっかり内輪ネタが飛び出しちゃうかも (それは無い、 ってw)
あ。 Win7 な USB 水槽が欲しい人は、 必ず来るよ~に! (w

なお、 その次は 3月に開催される予定です。 間隔が短いので要注意ね。

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

2010年1月 6日 (水)

[SL3] Silverlight で設定をローカルに保存する

書初めw で作ったご挨拶、 じつは 1月 4日の夜にバージョンアップしてまして。 停止ボタンの状態を、 ローカルに覚えているようになってます。 停止状態にしておけば、 リロードしても停止したままになりました。 (…なってるはず f(^^; )

ブラウザ上で動いている Silverlight のアプリにはセキュリティの制限が掛かっているので、 普通に app.conifg に保存することは出来ません。 そこで、 Silverlight 3 から使えるようになった IsolatedStorageSettings クラスを使います。 ソースコードでは、 設定の保存・取出しを扱う RunStateConfig クラスにまとめてあります。
※ ソース一式 (VS2010用) HappyNewYear2010Project20100104.zip (324KB)

20100106_runstateconfig01
※ IDE の背景は Mephist's Hospital (現在 IE のみ閲覧可) より。 (作者了解済み)

続きを読む "[SL3] Silverlight で設定をローカルに保存する"

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

2010年1月 5日 (火)

[VS2010] Silverlight プロジェクトのコード分析

Visual Studio 2010 beta2 では、 Silverlight のプロジェクトでコード分析が使えません。
これは、 正規版では (RC からかも?)、 ちゃんと使えるようになるそうです。

Microsoft Connect: FeedbackID=522215
Silverlightのコード分析のサポート / 報告者: gushwell 
提案内容: Silverlightプロジェクトに対しても、コード分析をサポートしてください。

投稿者: Microsoft、投稿日時: 2009/12/30 13:41
Thanks for your feedback, Visual Studio Code Analysis will support Silverlight projects when it is officially released.
投稿者: Microsoft、投稿日時: 2010/01/04 20:17
(こちらは、[投稿者: Microsoft、投稿日時: 2009/12/30 13:41] の和訳です。)
フィードバックをお寄せいただき、ありがとうございます。 Visual Studio が正式にリリースされた際には、コード分析が Silverlight プロジェクトに対応する予定です。

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

2010年1月 2日 (土)

2010年01月02日、 回文の日

毎年12月21日がほんとの回文の日だそうです。 (回文俳句を手がける宮崎二健氏が制定した記念日だそうで)
でも今日は
  20100102
と、 西暦年も含めて回文になってます。 (月日をそれぞれ 2桁で表すなら、 ね f(^^; )

今世紀に入ってからだと、2001/10/02 に次いで今日が 2回目じゃないかな。 で、 来年 2011/11/02 があって、 その次は 2020/02/02 かな。

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

2010年1月 1日 (金)

新年明けましておめでとうございます

今年もよろしくお願いいたします。

去年の書き初めwSmall Basic でした。 今年は、 Expression Blend に挑戦。 Silverlight 3 の、 ロジックだとかデータのバインド方法だとかは、 そこそこやってきたけど、 グラフィックはからっきしなので、 ちょっとやってみるかな… と。

というわけで、 Blend 3 (試用版) だけでやってみました。 いやはや、 勝手が分からず、 「オレにコードを打たせろ~っ!」 と叫びたくなること幾度w
まずは、 cocolog 上でも Silverlight 3 が使えると分かったことで、 ヨシとしよう。 f(^^;

(2010/01/02)
[停止/再開] ボタンを追加しました。 それと、 ソース一式 (Blend3/VS2008用) ⇒ HappyNewYear2010Project.zip (176 KB)

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

« 2009年12月 | トップページ | 2010年2月 »