2012年12月23日日曜日

Visual Basic 特有の XML 記載で遊んでみる

これは Visual Basic Advent Calendar 2012 用の記事です。

Visual Basic 固有の機能の一つとして、XML の扱い方があります。扱い方、といっても処理方法が云々というわけではなく、定義としてそのまま記載できるですとか、処理を埋め込むことができるといったちょっt面白い記述が可能になりますので、今回はそのあたりを遊んでみました。

2012年12月22日土曜日

PowerShell 3.0 の ForEach –parallel はマルチスレッドではない

PowerShell Advent Calendar 2012 用記事です。

PowerShell 3.0 で追加された PowerShell Workflow の紹介には、かなりの確率で ForEach による並列動作についての記事が掲載されます。ぱっと見ていると、PowerShell でマルチスレッド動作しそうにも思えますが、実際にはどうなのかを検証してみました。

2012年12月17日月曜日

VB の Select Case と C# の Switch

MSDN 上での記載では、VB の Select Case と C# の Switch が同等の命令として扱われています。実際にはどちらも条件多分岐命令としては同じなのですが、実際に利用すると VB の Select Case の方が色々と融通が利いて便利な命令であったりします。

Visual Studio Express エディションで開けないプロジェクトを開けるようにするには

Express エディションの Visual Studio は、無償版であり一部機能が限定されています。そのため、有償版の Visual Studio で作成したプロジェクトが開けない事も多々あります。ですが、実際には全てが全て扱うことができないのではなく、一部のプロジェクトは Express エディションでも利用する事が可能です。

2012年12月13日木曜日

DynamicValue アクティビティで JSON データを扱う

Workflow Manager 1.0 によって大幅追加されたアクティビティのうち、DynamicValue 関係のアクティビティがあります。名前通り動的な値を扱うためのアクティビティなのですが、具体的にいうと JSON データに対しての操作が可能になるアクティビティ群です。

今回はそれらの中から、JSON 値を生成する BuildDynamicValue アクティビティと、JSON 値から指定したものの値を取得する GetDynamicValueProperties を利用してみます。

2012年12月12日水曜日

Randomize なんてものがあって

これは Visual Basic Advent Calendar 2012 の記事です。

VisualBasic 固有というよりも、旧来の Basic より脈々と受け継がれてきた命令の一つに Randomize があります。乱数を利用する際に初期化を行う命令なのですが、.NETでの一般的な乱数発生命令と微妙に使い方が違ったりしています。

2012年12月8日土曜日

ASP.NET MVC と WF4 を一緒に使う際に気をつけるたった一つのこと

今回は One ASP.NET Advent Calendar 2012 向けのネタです。

ASP.NET MVC も .NET 技術の一つなので、当然 Workflow Foundation 4 とも組み合わせて利用することができます。できますが、そこにはほんの少しだけ気をつけなくてはならないポイントがあったりします。

2012年12月6日木曜日

Redim Preserve なんてあったなー

これは Visual Basic Advent Calendar 2012 の記事です。

VBならではの構文の一つに Redim Preserve という配列の再確保と再定義を行うものがあります。コレクションクラス全盛である今では、ほとんど使う機会もないものです。

ひょっとするとレスポンス的に問題があるのかな、などと不意に思ったので調べてみました。

PowerShell Workflow をもうちょっと触ってみる

昨年の PowerShell AdventCalendar 2011 にて PowerShell 3.0 のワークフロー周りを軽く触ってみたことをまとめていましたが、一年たって今度はもう少し触ってみよう!、というちょっとまて貴様的な、記事になりまして、PowerShell Advent Calendar 2012 のエントリとなります。

2012年9月26日水曜日

Workflow Editor Tool を試してみる

コードレシピ上には既に Workflow Manager 1.0 向けのサンプルが色々とアップされています。今回はOSの中でも非常に気になっていた、Workflow Editor Tool を試してみました。

提供されているサンプルを実行するためには、VS2012 環境と Workflow Tools 1.0 for Visual Studio 2012 が必要です。コードレシピに用意されていますのでそこからインストールしてください。

2012年9月25日火曜日

Workflow 1.0 の生存確認

インストールしたはいいものの、色々とごたごたしていたのもあり全然触れていません・・・。そして気が付くと、Workflow 1.0 という名称もどうやら Workflow Manager 1.0 という名前で落ち着きそうな気配も。
とりあえず今回は Workflow 1.0 が起動しているかどうかの確認について。

2012年9月4日火曜日

Workflow 1.0 で追加されるアクティビティ

今回 Workflow 1.0 のリリースにより、WF 4 環境でも利用できるアクティビティが一気に追加されています。位置づけとして、今まで Assign アクティビティにコードを記述し処理を行うことができていたのですが、Azure 環境や Sharepoint 環境で同じことができるのはセキュリティ的に問題があるということで、そのような行為は禁じ手となりました。

その代りに用意されたのが今回から追加されるアクティビティ群ですが、中には待ち望んでいたアクティビティがあったりと利用するシーンはかなり多いと思います。

2012年9月3日月曜日

Workflow 1.0 のインストール

Sharepoint 2013 のリリースに合わせて唐突に登場した Workflow 1.0 Beta。Azure Workflow Service として公開されていますが、名前はこれからどうなっていくか未定というのもあり、MSDN内部の記述でも Workflow 1.0 と Windows Azure Workflow Service が混在していたりします。

それはさておき、とりあえずインストールするところまではやってみたので、そこまでの流れを。

2012年6月14日木曜日

CodeZine にて記事が公開されました

CodeZine にて WF4 について執筆した記事が掲載されました!

開発者と非開発者を結ぶ新パラダイム「Workflow Foundation 4」 ~Workflow Foundation 4が導く新しい開発スタイル(1)~

今の時点では全4回を予定しています。次回の内容はアクティビティの実装関係になる予定です!

よろしければ是非ご一読ください。

2012年6月13日水曜日

CLR/H 第 71 回 勉強会レポート – Cod2012 -

6/9 に行われた CLR/H 第 71 回勉強会のレポートです。
今回は Cod2012 という全国イベントの北海道会場としての開催でした。

IMGP0003 (1024x768)

2012年6月9日土曜日

CLR/H 第71回 勉強会にて利用したスライド

6/9 の Cod2012Jp にて行いましたセッション資料です。

スライドだけでなく、WMIプロバイダのアセンブリとスクリプトも公開してありますので、参考までにどうぞー。ダウンロードはこちらから(SkyDrive)

2012年5月10日木曜日

分離型と言われるセルフホスト式 WMI プロバイダ

6/9 に行われる Comunity Open Day 2012 の北海道開場では、私が午後イチのセッションをやらさせてもらえることになり、ここ最近そこで話すネタについて色々調べたり遊んだりしています。その中でも今になってようやく試すことができた、WMI プロバイダの自作を行ってみました。

2012年5月8日火曜日

WinRM をプログラムから利用する

最近は転職のために色々あってすっかりご無沙汰ですが、少しずつ落ち着いてきたのでこちらもちょっとずつですがペースをあげていきます。今回は WinRM を .NET 言語から利用する、というのをやってみました。WinRM は非常に便利かつお手軽に WMI を利用できる手段なのですが、それもスクリプトからの話で、プログラムコードから利用するには結構四苦八苦していました。

2012年4月14日土曜日

4/14 CLRH 勉強会で利用するスライド

4/14 に行われる CLR/H 勉強会で、私のセッション「WF でも TDD」にて利用するスライドをアップしておきます。ただ、これをアップしているのが前日ですので、当日までの間に修正するかもしれませんが、その際は別途修正版スライドをアップしておきます。

2012年4月13日金曜日

TDD with Microsoft.Activities.UnitTesting.docx の和訳

Codeplexで公開されている WF のユニットテスト用ライブラリ Microsoft.Activities.UnitTesting ですが、WF で TDD を行う際の流れについて記載されたドキュメントも公開されています。ただ英語版のみでしたので、英語力が全くない自分ですが日本語訳してみました。

SkyDrive にアップしてあります。

一応、作者の Ron Jacobs さんに了解を取ろうと思ってコメントつけてみたのですが、まだ返事を頂けてません。ですので、後で公開できなくなることもあります。ご了承ください。

2012年3月28日水曜日

WMI 関係のアクティビティライブラリ

Codeplex に着々とリリースを続けている WF のアクティビティライブラリですが、少し前に WMI を利用するためのアクティビティライブラリをリリースしました。

Activities.WMI

これを利用すれば WMI も少しだけ簡単に利用できる・・・かな?

2012年3月7日水曜日

標準の ActivityDesigner を利用する場合のデザイナ上アイコン

以前にアクティビティのアイコンについて、アクティビティデザイナーを持たない場合のアイコン抽出として ToolboxBitMap 属性を抽出する方法を書きました。その際に懸念事項として、デザイナ上のアイコンをどうするか、というのがありましたが色々と試行錯誤したところ、次のような手法になるのではないかと思います。

2012年3月6日火曜日

Team Foundation Server 2010 のアクティビティを利用する

TFS Express のベータ版もついに登場し、無償環境でも待望の TFS が利用できるようになる日も徐々に近づいてきています。その前段階として、TFS 2010 のアクティビティライブラリを Visual Studio 有償版がない環境でも利用できるかを調査してみました。

2012年3月2日金曜日

.NET Framework 4.5 (Beta) 導入による標準アクティビティアイコンの変更

Windows 8 CP 版とともに Visual Studio 11 もβ版が提供され、多くの人が色々触りだしている事と思います。今回は特に VS 自体のルック&フィールが Metro スタイルへと変化し、今までとは大分異なる感覚を受けている人が多いのではないでしょうか。

その中で WF に関連する事柄として、標準アクティビティのアイコンが変更されました。

2012年3月1日木曜日

Windows 8 Consumer Preview での VB6 アプリ

前回は Developer Preview 版で検証してみた VB6 製アプリですが、今回は Consumer Preview 版にてやってみました。検証環境は次のような感じで構築しています。

  • Windows Server 2008 R2 SP1 上の Hyper-V に構築
  • Windows 8 x86 日本語版を利用
  • メモリ設定は起動時 1024MB、最大 2048 MB にて設定

2012年2月27日月曜日

IActivityTemplateFactory で作成する変数を利用するように設定する

過去に IActivityTemplateFactory を扱った時は、アクティビティの自動生成と変数の生成まででした。今回はそこから一歩進んで、生成した変数を自動生成したアクティビティで利用するようにしてみます。

2012年2月24日金曜日

SQL Server 関係のアクティビティライブラリ

前回のファイル・フォルダ関係ライブラリに続いては、Microsoft SQL Server 用アクティビティライブラリです。これも Microsoft.Activities.UnitTesting ライブラリを利用した、ユニットテストのソースも付属しています。また英語・日本語に対応しています。

2012年2月17日金曜日

ファイル・フォルダ操作系のアクティビティライブラリ

以前 SkyDrive にアップしていたものを調整し、今後は CodePlex 上で開発していくことにしました。Microsoft.Activities.UnitTesting ライブラリを利用した、ユニットテストのソースも付属しています。また英語・日本語に対応しています。

2012年2月15日水曜日

ActivityDesigner をもたないアクティビティのアイコンを抽出する

以前行ったアクティビティのアイコン抽出ですが、あの方法は関連するアクティビティデザイナーが存在していて利用できる方法です。コードのみで Workflow Foundation を利用しているケースでは特によくあるのが、アクティビティデザイナーを持たないアクティビティが発生する事で、この場合は当然アイコンを抽出する事はできません。

2012年2月10日金曜日

WorkflowDesigner のコンテキストメニューに項目を追加する

WorkflowDesigner のコンテキストメニュー(右クリックメニュー)には、独自に項目の追加を行う事が可能です。それを利用して標準で提供されていない機能の提供などを行う事ができます。

2012年2月6日月曜日

Microsoft Speech Platform 11.0 で音声認識させる

前回の記事では Speech Platform 11.0 にて喋らせることを行いましたので、今回は音声認識を行ってみます。

2012年2月4日土曜日

Microsoft Speech Platform 11.0 で喋らせてみる

Kinect for WIndows も登場したので、少し前にリリースされていた Microsoft Speech Platform 11.0 を使った音声合成(しゃべらせる)や音声認識もこれから注目が集まっていくんじゃないかなー、などと思いながら触ってみました。既にサンプルを作られている方もたくさんいらっしゃるので細かい事は書きませんが、そこに至るまでで結構苦労したのでそのあたりについてまとめておきます。

2012年2月3日金曜日

IValidationErrorService でワークフローのエラー情報を表示する

Workflow Foundation の各種サービスの中に IValidationErrorService インターフェースで定義されるものがあります。これを利用すると、現在デザインしているワークフローで発生しているエラー情報を取得し何かしらの処理を行う事が可能です。

2012年2月2日木曜日

ValidationService.NavigateToError メソッドの挙動

ValidationService というワークフローの検証を行うサービスクラスがあります。何気なく MSDN のリファレンスを見ていると NavigateToError メソッドという
「作業画面で、アクティビティのエラーの場所にキーボード フォーカスを移動します。」
と書かれたものがあったので試してみたところ、ちょっと動きがおかしかったので記録として残しておきます。

2012年2月1日水曜日

アクティビティ拡張機能の利用

Workflow Foundation ではワークフローランタイムを通して各アクティビティに拡張機能を提供する仕組みが用意されています。少々使いどころが難しい面がありますが、アクティビティ本来の処理ではないロジックを、拡張機能という形で全体的に提供することが可能です。

2012年1月30日月曜日

DynamicActivity によるアクティビティの動的生成と実行

Workflow Foundation では DynamicActivity クラスを利用して、動的にアクティビティを生成する機能が用意されています。利用するシーンとしては、プログラムのロジック内部でアクティビティの挙動を変更させたい場合とか、アクティビティの存在を表に出したくない場合などがあるかと思います。

2012年1月27日金曜日

[書評]Windows Azure Platform 開発入門

縁あっていただいた書籍 「Windows Azure Platform 開発入門」についてのレビューです。

全体を 6 章に分け WIndows Azure に限らずクラウドコンピューティングとは、という前提の説明から、SQL Azure や Azure AppFabric、VM ロールに Azure Market Place までと、開発入門の名前の通り、幅広い内容を読みやすい形で書かれています。個人的には Azure Storage へ REST API でごにょごにょする際に色々触っていましたが、ここのところかなりご無沙汰だったのもあり改めて勉強させてもらえました。

2012年1月25日水曜日

ワークフローの実行結果を引数で受け取る

前回ユニットテストの記事で少し関わっていましたが、ワークフローは引数を通して実行結果や何かしらの値を受取る事が可能です。

2012年1月24日火曜日

Workflow Foundation におけるユニットテスト

CodePlex にて Workflow Foundation 用のユニットテストライブラリ「Microsoft.Activities.UnitTesting」が公開されています。Workflow Foundation ではアクティビティの実行等、通常のロジック実行とは異なる部分もあり、そのまま NUnit 等のユニットテストを行うのは不便な状況でした。ですがユニットテスト用のこのライブラリを利用する事で、今までと同様にユニットテストを行う事ができます。

2012年1月23日月曜日

GData API を利用して Google Blogger に投稿する

スプレッドシート、カレンダーと来たので次は Blogger に投稿する、というのをやってみました。感覚としてはスプレッドシートやカレンダーと比較すると、かなり簡単に思えます。

2012年1月20日金曜日

SQL Server における既存テーブルへの項目追加処理時間

実運用が始まった後でテーブルに項目追加とかはできるだけ避けたいところですが、のっぴきならない事情があったりして追加せざるを得ない事は多々あるかと思います。その際、どれくらい処理に時間がかかるかというのを事前に計測できれば、利用者に「このぐらいの間重くなるからー」とか「何時まで使えないですー」というアナウンスもできるのですが、実際にどれくらいの処理時間がかかるかを計測するのはかなり難しいところだとも思います。今回は、ある程度のデータ件数を持つテーブルに対して項目を追加し、どの程度の処理時間がかかるかを計測してみました。

2012年1月19日木曜日

Hyper-V ゲスト OS の動作イメージサムネイルを取得するアクティビティ

以前 Hyper-V の管理とか操作を調べていて管理ツール上の動作イメージサムネイルをどうやって取得しているのかな、と思ったら WMI を利用して取得していることを教えてもらったので、ついでにアクティビティにしてみました。

2012年1月18日水曜日

Windows Server AppFabric と Workflow Foundation

ワークフローをホスティングする環境の一つに Windows Server AppFabric を利用したホスティング方法があります。実際には IIS の拡張機能的なポジションなので、IIS でのホスティングと基本は変わりありませんが、AppFabric にて提供される機能にて Workflow Foundation に関わる設定を簡易に行えるようになります。言い換えると Windows Server AppFabric で拡張される機能は「各種設定ファイル( *.config ) の設定用 UI を提供」する事と言えます。

2012年1月5日木曜日

Google Calendar API v3 でカレンダーに予定を登録する

前回の記事では GData API v2 を利用してカレンダーに予定を登録しました。ですが、v2 の API は 2014 年には廃止されることが決定しているため、できるだけ早期に v3 へと移行する必要があります。今回は v3 の API を利用して予定を登録してみます。