2006年10月アーカイブ

 .NET 1.1での開発中に暗号化通信はえらく敷居が高いと思っていて、LinuxへSSHで接続するくらいしか試していませんでしたが、.NET 2.0になって実は System.Net.Security.SslStreamというSSL用のクラスが追加されていることを発見してしまいました。TKMP、TKFP共に.NET 2.0へ移行したので、今まで逃げていたSSLへの対応も必要かなぁと検討しています。で、このクラスの使用例がなかなか見つからない。暗号化をはじめるとパケットモニタが役に立たなくなるので、Stream のラップですんなり行かないと、苦戦しそうだな。

 SAPARAID-PCIという激安のATA+SATA RAIDコントローラを購入しました。最近データのバックアップも面倒になってきたので、障害時の復旧時間も短縮できるRAID1を構築しようとあれこれ考えて購入したのですが、激安の割に意外と最近のRAIDコントローラが優秀なのに感心しています。その昔FastTrak66というコントローラを購入し今も活用しているのですが、いよいよ引退も近そう。
 
 Webで事前調査をしようと検索するとトラブル情報ばかりヒットして不安になったので、ここでは動作確認報告をしときます。

以下は私の動作環境で確認できたものです。

成功事例
○ ATA、SATA間でのアレイ構築
○ 容量の異なるHDDでのアレイ構築(小さい方に合わせる)

○ SATAの単独ブート&OSインストール
○ ATAの単独ブート&OSインストール

○ RAID1の単独HDDをM/Bでデータ保護して認識
○ データを保護した状態でのRAID1への移行

○ RAID1障害時に単独での起動
○ RAID1障害時に単体からのデータを保護してのアレイ解除
○ RAID1障害時にMirrorHDDをSourceHDDへ昇格

○ M/B上のOSドライブ(ATA)をコントローラへ移動(ドライバインストール後のみ)

その他
・アレイの構築、再構築、解除は全てWindows用のマネージャで行なえる
・コントローラでブートの選択を設定できるのはアレイのみ
・小容量をSource、大容量をMirrorで構築後、大容量のMirrorを単独使用すると、データを保護したまま空きエリアが未割り当てとなり使用可能になる
・RAID0,SPANについては未確認


誰の役に立つかは不明

 連日MagicMirrorの.NET 2.0版の調整を行なっていますが、.NET 1.1 と比べて思った以上にGUIのパフォーマンスがいいので、ImageGeterの修正もちょっと検討しています。設定画面やメニューが古臭いので、この辺を書き直すだけでもイメージチェンジするかな。
 4ヶ月もたってNanDoKuのジェネリック処理で問題が発生しました。全部チェックしたと思っていたのに..

 ここのところ立て続けにRAID5でアレイを構成しているサーバーのHDDを交換しました。ホットスワップを設定していないのもいけないのですが、RAID5って1台故障すると非常に危険な状態になります。しかも、構築時同一ロットのHDDを用意して、ほとんど同一環境で運用するわけなので、故障時期もかなり似た様な時期に集中します。同一のHDDでないとパフォーマンスが良くないとか言いますが、そんな微小なパフォーマンスを追及するより、全てのHDDを別の種類にするほうがより安全です。これからRAIDの構成を検討している方がいましたら、経験として全て別シリーズのHDDを用意することをお勧めします。

 .NET 1.1 から .NET 2.0 への変更でUIの挙動の違いですっかり時間を取られました。
 
 ListViewでStateImageを設定すると、ListViewItemが削除できなくなる。ListViewでRemoveやRemoveAtメソッドを実行するとSystem.NullReferenceException 例外が発生。これが何をどう指定してもとにかく「Null」だと言い張るので、いろいろ調べてみると、ListViewItemのStateImageIndexへ-1を設定すると削除できたました。

 Webで検索しても有益な情報が無かったので、ここで整理しておきます。

 現象:
   ListViewでStateImageを使用した状態でListViewItemを削除しようとすると、System.NullReferenceException が発生する。
 解決方法:
   削除前にListViewItemのStateImageIndexを-1へ変更する
 環境
   .NET Framework 2.0 (1.1では発生しない)

 関連キーワード
   ListView ListViewItem StateImage StateImageIndex Remove RemoveAt RemoveByKey System.NullReferenceException

誰かの役に立てばいいのですが

 TKFP.DLLの.NET2.0版の公開が出来たので、いよいよMagicMirrorに手をつけています。本当は、タイトルのような「移植」では無く「再コンパイル」でサラッと乗り越えるつもりでいましたが、予想通りUI系で問題が出ています。.NET1.1と.NET2.0でスレッドとUI系の絡みが微妙に違いようで、全ての問題点を修正すると、速度面で改善するのか悪化するのか未知数です。最終的に公開できるといいのですが...

 今日、情報処理技術者試験のテクニカルエンジニア・ネットワークを受験してきました。正直、疲れました。最近、ネットワークのサーバを触る機会があったり、メールやFTPライブラリのバグ修正のため、プロトコルの詳細について触る機会が多かったので、それなりに出来ましたが、合格発表の時期にこの話題に触れなかったら、御察しくださいませ。

 先ほどMagicMirrorの新バージョンを公開しました。TKFP.DLLの.NET Framewrok 2.0版への移行を計画しているので、近いうちにMagicMirrorもこちらへ移行しようと思っています。現状のままだと、ソースの最コンパイルだけでは、GUIで問題が発生する個所があるので、MagicMirrorの移行はてこずりそうです。

 TKMP,TKFPの開発を潔く.Net Framework 2.0用へ移行しようと検討していましたが、意外と.Net Framework 1.1で開発している方が多いようで困っています。とりあえず、TKMP.DLLのを.Net Framework 2.0専用にするためにC# 2005で再コンパイルしましたが、今後のライブラリの管理について現在検討中。
 今のところ、今後の方針はメイン開発を.Net Framework 2.0用で行い、「大きな追加」「重大な不具合」があった場合のみ.Net Framework 1.1の更新を行なおうと思っています。

 現在 TKMP,TKFPは.NET Framework 1.1で作成してあり、2.0も兼用としていますが、VB,C#の2005が登場してそろそろ1年になることですし、.NET Framework 2.0専用のライブラリ開発に移行しようか検討しています。実際の所、現在も.NET Framework 1.1でのみ開発している方はどのくらいいるんでしょうかね?個人開発なんで、完全移行が一番楽なのですが...

2009年11月

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          
Powered by Movable Type 4.1