数年前に携わったプロジェクトの改造の話があった。
もともとVB5.0で作成されたものを無理矢理Web化するためにActiveXに変換して数十の画面をコンバートした。
開発端末は XP なんだけど、ActiveX を配布するには DLL のバージョンとか狂ってしまうと、うまく配布出来なかったりするので、その端末は Windows Update が出来ない。
怖いのは、この PC が壊れてしまったら。
考えただけでも冷や汗もんである。
なので、今回の改造にあたり、VM化しようということで、VMware vCenter Converter で吸い出すことにした。
いくつかやり方があるみたいだが、今回は XP 端末に Converter をインストールしてネットワーク共有しているフォルダに出力してみる。
1台目はあっさり出来た。
ライセンス認証しなければ立ち上がらないので気をつける必要がある。
もう1台の方が、VM化後に起動したらブルースクリーンになって起動出来ない。
一瞬なんでなんというエラーなのかわからなかったが、どうもディスクが SCSI だとダメそうな気配。0x0000007B でグーグル先生にこちらのサイトを紹介してもらい、手順に従ってやってみると、無事に起動することが出来た。
しばらく使ってみると、キーボード配列がおかしくなってて記号がうまく入力出来ない。
どうも、US配列になるっぽい。デバイスマネージャーでドライバを更新して、日本語のやつを選ぶことで戻った。
簡単にはできないもんだね。
2013年1月14日月曜日
仕様書や設計書に
「○○、□□など」の様に「など」と含みを持たせる表現をしてはいけない。
納品後に追加機能を無償でやらなければいけなくなる。
むしろ、その「など」がなんなのかをはっきりさせるのが上流工程の設計である。
これが出来ていないのは仕事をしていないことと同じだ。
作成されているドキュメントが「○○案」だとか「××(仮)」、「△△ネタ」とかとなっていると、WBSがはっきりしていない可能性があり、作業時間は多いのに一向に何も決まらない状況になってしまう。ソフト屋さんに無理をお願いしてお金も払えないことになりかねない。
あと、ドキュメントはですます調を統一したり、主語をはっきり意識しないと、読む人はとっても辛い。
例えば、ボタンクリックしてCSVを出力する機能について、詳細設計書に、
「ボタンクリックされると、CSVファイルが出力されます。」
とか。
プログラムとしては、「出力されるのではなく」、「出力する」が正しい。
納品後に追加機能を無償でやらなければいけなくなる。
むしろ、その「など」がなんなのかをはっきりさせるのが上流工程の設計である。
これが出来ていないのは仕事をしていないことと同じだ。
作成されているドキュメントが「○○案」だとか「××(仮)」、「△△ネタ」とかとなっていると、WBSがはっきりしていない可能性があり、作業時間は多いのに一向に何も決まらない状況になってしまう。ソフト屋さんに無理をお願いしてお金も払えないことになりかねない。
あと、ドキュメントはですます調を統一したり、主語をはっきり意識しないと、読む人はとっても辛い。
例えば、ボタンクリックしてCSVを出力する機能について、詳細設計書に、
「ボタンクリックされると、CSVファイルが出力されます。」
とか。
プログラムとしては、「出力されるのではなく」、「出力する」が正しい。
録画用のHDDが
逝ってしまった。
おそらく Apple TV の設置中に衝撃を与えてしまったからだと思う。
HDD は衝撃に弱いと聞いていたが、まさかこんなあっさり逝ってしまうなんて。
ちゃんと電源落としてからやるべきだった。
今日、コストコで買ってきた。
2TB で8900円。
シンガポールの津波被害でかなり高騰してたけど、戻ったねぇ。
Apple TV
半年周期で家族内読書カップをやっている。
1位になった人は好きなものを購入出来るルール。
昨年下期は私が勝ったので、1/2 に Apple Store でポチっと。
2日後に届いた。
Apple TV といってもテレビが見られる訳ではない。
やりたいことは、
なところ。3はこれまで、撮影したものを PC に取り込んで変換して DVD にするだとか敷居が高かったので、出来るようになると胸躍る。
テレビは REGZA なんで、DNLA 使えば割と出来ると思うけど、設定とか面倒だし。
映画のレンタルも出来るが高いので多分使わないかな。
中身は本体、リモコン、ケーブルのみ。
HDMI ケーブルは別途購入する必要がある。
それは amazon でポチッと。
「PLANEX ハイスピードHDMI Ver1.4ケーブル」ってやつで、580円だったかな。
接続すると、言語を設定する画面が出てきて、あとは大体終了(適当)。
簡単!!!
と、思いきや、
って、ダメじゃん。
1は iPod の Remote ってアプリで出来るらしいんだけど、iPod から Apple TV がみれないんだよね。同じネットワーク内なのに。
色々調べた結果、どうも無線LANが悪さしているっぽい。
COREGA 使ってるんだけど。
買い替えか〜とか思いつつ、設定を見直していたら、ファームウェアが更新されてるとかで、アップデートしてみる。
と、つながるようになったではないか!
いいねぇ〜。
iPad mini が欲しいねぇ。
入荷するのに2週間かかんのか。
そのうち、嫁さんに黙ってポチッとしよぉ。
1位になった人は好きなものを購入出来るルール。
昨年下期は私が勝ったので、1/2 に Apple Store でポチっと。
2日後に届いた。
Apple TV といってもテレビが見られる訳ではない。
やりたいことは、
- iMac のコンテンツ(音楽/写真)をリビングのテレビで再生
- Youtube などの動画をテレビで再生
- 撮影した iPod Touch の動画をテレビで再生
なところ。3はこれまで、撮影したものを PC に取り込んで変換して DVD にするだとか敷居が高かったので、出来るようになると胸躍る。
テレビは REGZA なんで、DNLA 使えば割と出来ると思うけど、設定とか面倒だし。
映画のレンタルも出来るが高いので多分使わないかな。
中身は本体、リモコン、ケーブルのみ。
HDMI ケーブルは別途購入する必要がある。
それは amazon でポチッと。
「PLANEX ハイスピードHDMI Ver1.4ケーブル」ってやつで、580円だったかな。
接続すると、言語を設定する画面が出てきて、あとは大体終了(適当)。
簡単!!!
と、思いきや、
- Youtube で検索するときに日本語入力出来ない。
- iMac のホームシェアリングが見れない。
- iPod の映像をストリーミング配信出来ない。
って、ダメじゃん。
1は iPod の Remote ってアプリで出来るらしいんだけど、iPod から Apple TV がみれないんだよね。同じネットワーク内なのに。
色々調べた結果、どうも無線LANが悪さしているっぽい。
COREGA 使ってるんだけど。
買い替えか〜とか思いつつ、設定を見直していたら、ファームウェアが更新されてるとかで、アップデートしてみる。
と、つながるようになったではないか!
いいねぇ〜。
iPad mini が欲しいねぇ。
入荷するのに2週間かかんのか。
そのうち、嫁さんに黙ってポチッとしよぉ。
2012年11月8日木曜日
[Excel]コネクタの小技
ドキュメントはわかりやすさが肝。
わかりやすさという点で図形ほど直観的なものはない。(絵心にもよるが。。。)
Excelで図形をレイアウトするのは意外と時間がかかってしまう。
例えば1つの図形に複数のコネクタを接続した場合、重なってどの線がどの矢印かわからなくなってしまう。
こんなケース。
こんな感じ↓に見える。
A ->C
B<->C
が、実際は↓こう。
A ->C
B<- C
コネクタを外してわかるようにしても、
Cをずらすと線が離れちゃう。
そんなときの小技。
まずCの図形の端に小さい図形を配置し、最背面に移動させる
Cと小さい図形をグループ化
これで完了。
裏にいる小さい図形とコネクタを結べば
Cを移動させても矢印がついてきてくれる。
予め、沢山小さいやつを配置したのをひな形として作っておけば、
ドキュメントをきれいにスピーディーに作ることが出来るようになる。
例えるなら千手観音の働きだ、、、おもしろくなかった。
[C#][WPF][Silverlight]XAMLをロードしてプロパティ設定し、保存する
デザイナーさんに数百枚に及ぶの地図をXAMLで作成してもらい、埋め込まれている大量のカスタムコントロールのプロパティを設定することになった。デザイナーさんにプロパティ設定も一緒にお願いしたかったんだけど、それだけ工数がかかると費用もかかるっちゅうわけでなんとかならんか考えてみた。
ツールを作ろう。そう、京都に行こうみたいなのりだ。
XAML を読み込んで Excel とかで管理している情報からプロパティを埋め込んでに保存するやつ。
うーーーーん、ロードは XamlReader で読み込める。
でも Silverlight って XamlWriter なかったよなぁ。
よく考えてみると、XAML って要は XML じゃんという驚愕の新事実に気づく。
XML ファイルとしてロードして、プロパティ、つまり属性を追加して値を書き込めばいん
じゃねぇ?っていうことで、テストプロを作ってみた。
string file = @"D:\hogehoge.xaml";
string controlName = "hogehoge";
string propertyName = "HogeProperty";
string value = "ほげほげ";
// カスタムコントロールの x:Name を検索するのに必要
XNamespace x = "http://schemas.microsoft.com/winfx/2006/xaml";
// ロード
XElement root = XElement.Load(file);
// 全要素検索
foreach (var element in root.Descendants())
{
// 対象のコントロール名と一致したら、属性を設定(x:Nameっていう文字列にするとException!)
if (element.Attribute(x + "Name") != null && element.Attribute(x + "Name").Value == controlName)
{
element.SetAttributeValue(propertyName, value);
break;
}
}
// XML宣言は無しでタブによるインデント
var settings = new XmlWriterSettings();
settings.OmitXmlDeclaration = true;
settings.Indent = true;
settings.IndentChars = "\t";
// 保存
using (var writer = XmlWriter.Create(file, settings))
{
root.Save(writer);
}
おーけーおーけー、これで数百万円分の工数を稼げたな。
XML の操作なので Windowsアプリで作ればよくて、わざわざ Silverlight でブラウザ外
実行する云々考える必要もないしね。
2012年9月10日月曜日
[C#]プロパティをカテゴライズ
プロパティの属性に↓こんなのをつけると、
複数のプロパティが存在する場合、アルファベット順になるのをカスタマイズしたいんだけど、出来ないのかなぁ。
名前空間「System.ComponentModel.DataAnnotations」の「DisplayAttribute 」っていう属性に Order があって、これか!と思ったけど、駄目だった。なんかいい方法ないかな。
[Category("Sample Properties")]
Visual Studio や Expression Blend のプロパティウィンドウで分類されて表示されるようになる。
複数のプロパティが存在する場合、アルファベット順になるのをカスタマイズしたいんだけど、出来ないのかなぁ。
名前空間「System.ComponentModel.DataAnnotations」の「DisplayAttribute 」っていう属性に Order があって、これか!と思ったけど、駄目だった。なんかいい方法ないかな。
登録:
投稿 (Atom)











