2008年7月31日木曜日

ESXi無償公開

http://enterprise.watch.impress.co.jp/cda/software/2008/07/29/13511.html

ということらしい。

で、ダウンロードしてみようと試みたのですが、ダウンロードするために必要な入力項目が多い…

面倒になったのでまたの機会にしよっと。

#追記
ダウンロードして試してみたものの、インストールエラーとなりました。
HW要件を満たしていないのかしら…

2008年7月29日火曜日

SharepointのWiki

Windows Live WriterはSharepoint上のブログに投稿できるのだが、Sharepoint上のWikiを編集できるようにはならないのだろうか…

Wikiを編集できるツールが欲しい今日この頃

2008年7月28日月曜日

Word再入門

「エンジニアのためのWord再入門講座」なる書籍を購入した。

最近は、コード以上にドキュメントを書いているような気がするので、本格的にWordの使い方を勉強しなおした方がいいな。と感じた次第。

役に立つといいな。

2008年7月25日金曜日

Null許可型のデータバインド

前々回のエントリーの続き
結果、データバインドできるようになりました。

customControl11.DataBindings.Add("Number", list, "Id", true);

第4引数にtrueを渡すだけ。

BindingクラスのFormattingEnabledプロパティーに当たるのですが、FormatStringプロパティーを設定せずとも、うまく行きました。


ちなみに、Binding.FormattingEnabledの説明に



このプロパティを true に設定すると、エラー処理動作も有効になり、BindingComplete イベントが発生します。このイベントのハンドラでは、BindingCompleteEventArgs パラメータの BindingCompleteState プロパティを調べることにより、バインディング処理が成功した場合、エラーが発生した場合、または例外がスローされた場合のそれぞれに応じた操作を実行できます。



とあるので、エラーを勝手にハンドリングしているのかとも思いましたが、BindingCompleteイベントにわたってくるBindingCompleteStateはすべてBindingCompleteState.Successでした。


なんだか不思議ですが、動けばOKかな?

2008年7月24日木曜日

Nullable型とReflection

前回のエントリー「Nullable型のデータバインド」に関連して、ちょっとテスト。
テーマは、Null許可型のプロパティーにリフレクションを使用して、値を操作できるか?

まずは、int?型のプロパティーを持ったクラスを用意。

class Sample
{
private int? id;
public int? ID
{
get { return id; }
set { id = value; }
}
}



リフレクションによるアクセス

static void Main(string[] args)
{
PropertyInfo info = typeof(Sample).GetProperty("ID");

Sample sample = new Sample();
info.SetValue(sample, 1, null);
//ID:1
Console.WriteLine("ID:{0}", sample.ID);

info.SetValue(sample, null, null);
//False
Console.WriteLine(sample.ID.HasValue);

//True
Console.WriteLine(info.GetValue(sample,null) == null);

//ID:1
sample.ID = 1;
Console.WriteLine("ID:{0}", info.GetValue(sample, null));
}



拍子抜けするぐらい、予想通りにうまく行きました。これができるのになぜバインディングができない…

2008年7月18日金曜日

Null許可型のDataBindに失敗する

カスタムコントロールに追加したint?型のプロパティと独自クラスに実装されたint?型のプロパティを、Bindしようと試みるのだがうまくいかない。。。

int?型はobjectに代入すると、int型になってしまうのが原因らしい。
InvalidCastExceptionが出てしまいます。

StackTraceを見る限り、Convertクラスが、intをint?にCastしようとして失敗しています。暗黙的に変換できるのに、わざわざConvertクラスを通さなくてもいいのにね。

さて、どうしたら回避できるのか…

2008年7月17日木曜日

Syntax Highlighterを試す(その2)

前々回ためしに使ってみた、C# code formatがいまいち使い勝手が良くなかった(※)ので、別の方法を物色してみました。
※Windows Live WriterからBloggerに投稿する上での話です。

で、Windows Live Writerから使用できる、Syntax Highlighterプラグインを使ってみました。
SyntaxHighlighter for Windows Live Writer
とりあえず見つけた↑の2.0を使用。あとから検索してみると、いろいろ種類があるんですね。

もう一つの問題は、SyntaxHighlighterで使用するJavascriptファイルをブログに配置する方法。これも先人がいて、参考にさせていただきました。
Yan Noteさん
ウィジェットを登録すると何がどうなって色がつくか分かりませんが、とりあえず色が付きました。

でも行番号が表示されない…
ほかのプラグインも試してみるか?

↓テスト
行番号表示

using System;
using System.Collections;




行番号を非表示



using System;
using System.Collections;




開始行番号に10を指定



using System;
using System.Collections;

2008年7月16日水曜日

SyntaxHighlighterを試す

適当ソース

using System;

namespace ConsoleApplication1
{
/// <summary>
/// Class1 の概要の説明です。
/// </summary>
class Class1
{
/// <summary>
/// アプリケーションのメイン エントリ ポイントです。
/// </summary>
[STAThread]
static void Main(string[] args)
{
Console.WriteLine(Environment.Version);
}
}
}

2008年7月15日火曜日

StreamとStringの変換

いつも調べるのでメモ。でも本当に効率のいい方法かは不明

   1:  // stringをStreamに
   2:  String str = "hoge";
   3:  Stream stream = new MemoryStream(Encoding.Unicode.GetBytes(str));
   4:   
   5:  // Streamをstringに
   6:  string str2 = Encoding.Unicode.GetString(stream.ToArray());


C#コードの色づけに↓使ってみました。
http://manoli.net/csharpformat/

2008年7月14日月曜日

VSS2SVN

VSSからSubversionの移行作業を行いました。
かなり手間取りましたが、まぁなんとか…

(参考にしたサイト)
ひだまりのなか、想ふことさん
http://hidamarinonaka.jugem.cc/?eid=104
http://hidamarinonaka.jugem.cc/?eid=105
参考というかほとんどそのままです。感謝感謝。

ちなみに、Perlは全く知りません。Subversionは使い始めたばかりです。

手順:

vss2svn.plを入手

参考サイトにあるとおり、miau's blog?さんのこちらからvss2svn.plをありがたく拝借。

ActivePerlのインストール

とりあえずPerlをインストールしないことには、はじまらなさそうなので…
使用したのは、ActivePerl 5.10.0.1003のMSI。
デフォルトのまま、インストールして終了。

とりあえず、vss2svn.plを実行

不足モジュールを追加インストールするために、とりあえず実行してみました。
自分の環境で不足していたのは、
JCode.pm
JulianDay.pm
MMagic.pm
ParseDate.pm
Timezone.pm
でした。検索&ダウンロードで、vss2svn.plが動く環境をセットアップ

VSSの設定
参考サイトにあるとおり、
SSDIRの設定
SSJP.DLLのりネーム
を行う。
あと、SS.EXEにパスを通す作業も。

つまづき1
当初は、VSS2005がインストールされた環境で試行錯誤していたのですが、全くうまくいかず、何が原因かもわからずじまい。
お手上げ状態だったので、しかなくHyper-V上にVSS6SP6dの環境をセットアップしました。移行のためだけにVMを使うことになろうとは…。
そして、振り出し(ActivePerlのインストール)に戻る。

つまづき2
VSSからプロジェクト単位でインポートがうまくいきませんでした。
そのため移行対象のプロジェクトがあるVSSから、必要のないプロジェクトをすべて削除するという荒業を使いました。

Subversionのインストール

vss2svn.plを実行すると、svn.exeをパスに追加するように要求されたので、Subversionをインストール。
ローカルに、移行用のリポジトリを作成。
環境変数にAPR_ICONV_PATHを設定。
pre-revprop-change.batを修正。

つまづき3
普段使用しているSubversionは、HTTPS経由でApacheにアクセスし、認証を行っています。しかし、vss2svn.plにて認証をかいくぐる方法がわからず、ローカルに認証不要のリポジトリを作成しました。

vss2svnの実行

あとは、引数を指定して実行するだけです。

--vssproject:vssプロジェクトディレクトリへのフォルダパス。
$/ 以外はうまくいかず。
--svnrepo:SubversionリポジトリへのURL。
https://~へ認証アクセスができず。file:///c:/~になりました。

というわけで、現在実行中です。無事終わってください。
かなり時間がかかるようで、確認は明日になりそう。

7/15追記
残念ながら、日本語コメントが文字化け。てか、本番VSSで試す前にテストしろよ>自分
vss2svn.plの881行目
$comment = Encode::encode('utf8', $comment) if $gCfg{utf8};

$comment = Encode::encode('utf8', decode('sjis',$comment)) if $gCfg{utf8};
とすることで、うまく行きました。

2008年7月11日金曜日

自己紹介っぽいものをしてみる

こういうのは、いちばん最初にやるんだろうね。

身分とか
いわゆる(?)SE。
顧客折衝から、設計、実装、テスト、開発環境のインフラ整備(ハード・ソフトとも)まで、幅広く担当しております。

開発言語とか
C#2.0でWinForm開発がメインです。C#3.0に移りたいが、Windows 2000がMicrosoftのサポート切れになるまでは無理そう…
昔はJava&Linuxだったが、最近はどっぷりMicrosoft系です。

その他関心事
Hyper-Vとか、Subversionとか、BTSとか、いろいろ
開発をいかにスムーズに回すかを心がけ、少しでも楽に開発を進めるために、努力を惜しまない。そんなタイプだと自分では思っています。

2008年7月10日木曜日

Hyper-V

ここ数日、Windows Server 2008上で正式版がリリースされたばかりのHyper-Vをいじっています。

厳密にパフォーマンス比較を行ったわけではないのですが、Virtual Server 2005 SP1よりもサクサク動いている感じがします。ただ、管理用Web画面がないのでチームで使うにはやや不便です。
常にVMをいくつも立ち上げて置くほどサーバの性能は良くないし、VMを起動するためにメンバーがServerにログインするのは管理上よろしくないです。
Vista SP1からは、Hyper-Vを管理できるようですが、開発環境は基本XPだし…

Virtual Machine Manager 2008がリリースされれば解決しそうなので、首を長くして待つことにします。

2008年7月9日水曜日

Windows Live Writer を試す

MicrosoftのLive Space以外でもLive Writerが使えるみたいなので、ためしの投稿です。

LiveWriterは以下から、
http://get.live.com/writer/overview

なお、Google検索ではベータのダウンロードページの方が上位に来てしまいます。しかも、ベータページからは、正式版のページに飛べないし…

2008年7月8日火曜日

とりあえず

初めての投稿