2006-12-01
λ [Debian] cygwin からつなぐ xdm の設定
もはや X Windowsと付き合うのは正直やりたくないのだが、降って来たのでしょうがなく設定。
http://www.jp-z.jp/linux/cyg_xdm.html あたりを見ながら。最新はXFree86からXorgになっているのでそのへんを探ったつもりだけど全然関係なかったかも。 いくつかパッケージを追加。
apt-get install xdm xfs xfonts-base xfonts-75dpi xfonts-shinonome kterm vtwm
/etc/X11/fs/config の設定
# no-listen = tcp
とりあえず/etc/X11/xdm/Xaccess の最後の行に * だけの行を追加。/etc/X11/xdm/xdm-config の DisplayManager.requestPort: 177 の設定もする。
sudo /etc/init.d/xdm start; sudo /etc/init.d/xfs start で起動しとく。
~/.xsession の設定。15年前になった気分で。(apt-get install kde kde-i18n-ja もしてしまったけど、KDEとかは今のとこ使う気なし。)
kterm & exec vtwm
ここまでやって、cygwin 側からこんなんで接続した。XWin_GL が本当に速いのかどうかは知らない。
XWin_GL -screen 0 1280x1024x65536 -query debianhost -fp tcp/debianhost:7100
2006-12-02
λ カルドセプトサーガ不具合情報
俺も1周目終わる前からバグ踏んだ。
第一印象からしてプログラムの質が落ちてるとは思ったが、ここまでとはー
そしてこのページgoogle八分をくらっているらしいですよ。
2006-12-03
λ カルドセプトサーガ不具合
COMがスクイーズ使用時カーソルを右に移動させ続けゲームが進行しない
このバグを2連続でくらった。ストーリーを進めるためにはバグ対策ブックを作って根性で回避するものらしい… しょうがないので今までは素直にストーリーモードで進めていたが、一人で対戦モード使ったカード集めに切り替え中。 特にグラニットアイドル。
それにしてもかなり萎える。
2006-12-04
λ 日本HP、AMDプロセッサ搭載の省スペースデスクトップPC
HPのデスクトップもSocketAM2(AMD-V対応)世代に。DELL Dimensionの競合だけどこっちはGigabitEtherなところがナイス。
VirtualServerの土台にするんだったらVista待つ必要ないし、こいつかなあ。 DELLのOptiplex740もオンライン割引がつくようになって悪くないんだけど。悩ましい。
2006-12-05
λ Network Solutions SSL
ここも UTN/AddTrust クロス署名のルート証明機関に変更になってる! GTE Cybertrust → UTN/AddTrust の流れは止まらないのか。
携帯電話の公式サイト運用は今後しばらくはVerisign以外の選択肢ないな。DoCoMoで言えば 900i未満を切り捨てていいとなる時期はいつごろだろ。
λ Opera mini 3.0
RSSフィードは非常に快適。PCブラウザに比べればもちろん癖はあるけど、良く出来ているように思う。
SSLの対応については、UTN/AddTrust のSSLサイトに入れた。よかったよかった。
ここmimori.orgはクライアント証明書認証になってるんで、証明書入れられない以上検証できない。 そういや mimori.org のサーバ証明書期限切れも迫ってるんだけどどうすっかな。Tritonかなあ。 不特定多数にサービスしている訳でもないから俺PKIという手もあるが。
2006-12-06
λ Office 2007で問題になるマクロの後方互換性
ファイルの保存形式の既定値は最新のバージョンになってしまう問題。SaveAsじゃなくてSaveだったら形式は保存されるのではないかと予想されるが。
まあしかし「プログラム開発の場面では」テンプレートExcelファイルに対して値を入れて保存、みたいな使い方が多い訳で、SaveAs な訳で。
ファイルフォーマットの XlFileFormat.xlExcel9795, XlFileFormat.xlExcel8 については最近はまったばかりなので、 分岐については参考になる。Application.Version の値で分岐すればいいのか。 しかしExcel95から2003までって同じ形式だったというのは、Excel95のスゴさを改めて認識させられる。
λ [.NET] これから学ぶクラス等
- IEqualityComparer
- BitArray
- BitVertor32
- IConvertible, ICloneable, INullable, IEquatable, IFormattable
- ServiceBase, ServiceController, ServiceControllerPermision
- ServiceInstaller, ServiceProcessInstaller
- SessionChangeDescription, SessionChangeReason
- Thread SynchronizationContext, Timeout.Infinite
- ReaderWriterLock , LockCookie
- IAsyncResult
- Interlocked, Overlapped
- ExecutionContext
- Monitor, Mutex, Semaphore
- Installer, AssemblyInstaller, ComponentInstaller, ManagedInstaller, InstallContext, InstallerCollection, IManagedInstaller, InstallEventHandler
- 並列ガベージコレクション
- PerformanceCounter, StackTrace, StackFrame
- Debug, Debugger, Trace など
- ManagementObjectSearcher, ManagementQuery, ManagementEventWatcher
- FileSystemWatcher, RenamedEventArgs
- IsolatedStorageFile, DeflateStream
- SecurityManager, CodeAccessPermission, PermissionSet, NamedPermissionSet, PermissionSetCollection, IEvidenceFactory, IPermission
- DirectorySecurity, FileSecurity, RegistorySecurity
- AccessRule, AuthorizationRule, AuthorizationRuleCollection
- CommonAce, CommonAcl, CompoundAce, GeneralAce, GeneralAcl
- AuditRule, MutexSecurity, ObjectSecurity, SemaphoneSecurity
- System.Security.Permission*
- System.Security.Policy*
- System.Security.Principal*
- リフレクション
- System.Net.Mail は無視だ
- CultureInfo, RegionInfo, DateTImeFormatInfo, NumberFormatInfo, CompareInfo, CultureAndRegionInfoBuilder
- System.Drawing
こうやって並べると道程の半分も行ってないようだなあ。道は長い。しかも3.0は全く入ってないし。
λ 日本を財政破綻の危機から救うための提案
提案の中身については概ね同意なのだが、それを実現する手続きとして、 現在の霞ヶ関が事実上の法案作成部門である、という状況のままでは絶対に通らない。
市民の手で法案を作成し、霞ヶ関を通さず国会で議論してもらう、というような流れが必要だ。 まあ「市民」っていう言葉も現状ではネガティブになりつつあるけど…
λ Thinpad X60 tablet
これだったら HP tc4400 買う。
2006-12-07
λ [.NET] IEqualityComparer
Equals, GetHashCode を定義しているインターフェース。
両方ともObjectクラスにオーバーライド可能なメソッドとして存在しているにもかかわらず、わざわざインターフェースとして2.0で定義し直しているところが面白い。 同一性ではなく値として等しい、ということを強調したかったのだろうか。
Equals しかない IEquatable の方は何であるんだろ。
λ [.NET] CollectionUtil
大文字と小文字を区別しない Hashtable または SortedList のfactory。 当初はもうちょっと増やすつもりだったのかもしれないが、これしかないと CollectionUtil の存在にたどり着くのが難しいような。
λ [.NET] BitVector32
32bitの整数をbitのかたまりとして使うためのクラス。でも普通は Flags 属性つけたenumで実装するだろ。
複数のフラグの組み合わせに対してマスク操作したいとかいう時にenumから変換して使うとかそういう感じか? そういう時に速いコードになるかどうかも含めて微妙なクラス。
λ [.NET] ICloneable
DeepCopyかShallowCopyか、インターフェース仕様で決めておいて欲しかったなあ。
とはいえShallowCopyでいいんだったら Object.MemberwiseClone があるわけで。 俺方針としては、全部DeepCopyってのは無理だとは思うけど、メンバーICloneableだったらDeepCopyする、という基準になるかな。
λ [.NET] IFormattable
書式指定可能な ToString(string format, IFormatProvider formatProvider) を実装する。
書式指定コード "G" の実装は必須。一方で独自の書式指定を拡張することが可能。 DateTimeに対する yyyy-MM-dd みたいのを自分で定義したい場面は確かにあるな。 ログ出力の時に書式指定はconfigに追い出すような場面で活躍すると思われる。
λ [.NET] SynchronizationContext
同期モデルを設定するための基本機能なのだが、 SetSynchronizationContextを使ってスレッドに対する同期モデルを後から設定できるところがすごい。
λ [.NET] Interlocked
変数間の代入、変数のIncrement,Decrement をアトミックに行うためのヘルパークラス。 自分でlockすりゃいいじゃんという気もするが、Interlocked の方が速いかもしれない。
32bitシステムでは64bit値の扱いがアトミックでない、という話題が興味深い。 というかこの話はかなり気をつけていないとはまりそうだ。
EventWaitHandle クラスにこんなサンプルコードがあるな。
private static long threadCount = 0;
...
while (Interlocked.Read(ref threadCount) < 5)
{
Thread.Sleep(500);
}
(追記)プログラミング .NET Framework 第2版によるとInt64の扱いは安全ではないので「使うな」と書いてある。やはり基本は自分でlockだな。
λ [.NET] Monitor
C# lock ステートメントは裏でMonitorクラスを使っている。普通は lock ステートメント。
ロックを取得出来なかった場合に別処理をする TryEnter を使うような場合に登場するクラス。 OSちっくなものを開発するんでなければあんまり使わないと思うが…
λ [.NET] Mutex, Semaphore
プロセス間でも使える同期オブジェクトを作る時に。
Mutex と Semaphore の違いがよくわからん。 ググってみた。ほほう。
Semaphoreは同時実行数を制限するような場合に使うのね。
λ [.NET] gcConcurrent 要素
ガベージコレクションの並列実行を抑制できる。 抑制した場合は自分でGCを起動するスレッドを書いて、自分でヒマそうなタイミングでキックするとかそういうことだろうか。
しかしGCの実行タイミングまで制御しなきゃいけないシビアなアプリケーションはそうそうないと思うが。 ゲームの場合はあるか。
λ [.NET] インストール時のInstallerクラスを使ったカスタム動作
Installer クラスの説明を読んでもさっぱり分からなかった。
λ [.NET] DebuggerHiddenAttribute, DebuggerStepThroughAttribute, DebuggerNonUserCodeAttribute
- DebuggerHiddenAttribute : ブレークポイント設定できない
- DebuggerStepThroughAttribute : StepIn 操作をしてても StepThrough 動作になる。ブレークポイントは設定できる
- DebuggerNonUserCodeAttribute : 上記二つを足したような動作
VisualStudioにより自動生成されるコードであるところの DataSet.Designer.cs みたいな奴は DebuggerNonUserCodeAttribute がついている。
λ [.NET] DebuggerStepperBoundaryAttribute
DebuggerNonUserCodeAttribute において、自動的にStepThroughなんだけどマルチスレッドの影響でそれでは困る(F5によるRunに自動的に切り替えたい)場合に利用する。
λ [.NET] ManagementEventWatcher, WqlEventQuery
WMI Explorer を見たところ、WMIのイベントは __InstanceCreationEvent, __InstancDeletionEvent ぐらいしか使い道がない感じがする。
2006-12-08
λ メール大量送信
エラーメールをメール大量送信してしまった。 設定変更したはずなのに、変更した結果となるはずのメールじゃなくて以前の設定のエラーメールが来るなあと思っていたら 数千通のメールの処理でメールサーバがあっぷあっぷしていたのだった。
メール到着の頻度がゆるやかだし、多少のエラーメールは来ることになっていたので気付くのに遅れた。 途中ウィルス&スパムフィルターを外したりしながらも、最終的な配送完了までは19時間ぐらいかかるはめに。
最後の最後、残り100通あたりになったところで、postsuperによるキュー削除に気付く俺。遅すぎ。
2006-12-09
λ HD DVD 鑑賞
アポロ13 と 阿修羅城の瞳。どちらも初見。
アポロ13 の逆境っぷりはたまらんね。それはともかくHD DVDであることの価値はさっぱり不明だった。 指輪物語のSEE版の記憶と画質の差は大してあるように思えない。 まあ視聴環境はD4(750p)接続で、メディアは1080pだったせいかもしれんが。
阿修羅城の瞳 の方はアマゾンレビューにあるように、画面作りが暗いので、これがDVDだと暗いところがかなりブロック化していたのではないかと想像される。 しかし阿修羅城の瞳はやっぱり話がつまらない罠…
2006-12-10
λ [.NET] アセンブリにバージョン情報を設定するには?
AssemblyInfo.cs の中身。 AssemblyTitle,AssemblyDescription,AssemblyCompany,AssemblyProduct,AssemblyCopyright,AssemblyTrademark は見ての通りなんでいいとして。
- AssemblyCulture : リソースのみを含むサテライト・アセンブリの場合にカルチャを指定できる。他言語化かつ他言語のリソース作成部隊が別にいる状況でしか使わない。
- AssemblyConfiguration : DebugやReleaseといった構成情報? 使われていないらしいので、それ以外のコンパイル状況に関する文字列を突っ込むのもありかも
- AssemblyAlgorithmId : System.Configuration.Assemblies.AssemblyHashAlgorihtm 列挙体に定義されている、SHA1,MD5,None のうちいずれかを指定。もし指定するなら SHA1 にしとく
- AssemblyKeyFile, AssemblyKeyName, AssemblyDelaySign : 厳密名をつける時の鍵の指定
AssemblyFlags には以下のフラグがある。コンパイラみたいの作る時に使う?
- EnableJITcompileOptimizer
- EnableJITcompileTracking
- PublicKey
- Retargetable : 再ターゲット可能かどうか
λ [.NET] CultureAndRegionInfoBuilder
カスタムカルチャを作るためのクラス。とはいえ実際に使うためには、作成したカルチャを管理者権限で登録しないと使えない。 アプリケーション内で動的に生成してその中だけで使うというのはできないらしい。それだとあんまり嬉しくないな。
2006-12-12
λ Broadcom BCM2042 Advanced Wireless Keyboard/Mouse Bluetooth Chip
日経エレクトロニクスのWii記事を読んでいたら、Wiiリモコンにこいつが採用されていることが記載されていた。
The BCM2042 can interface directly to mouse optical or ball encoders and keyboard scan matrices.
スキャンマトリクス用かー。PS/2またはUSBからBluetoothのコンバーターが欲しい俺的には残念な気分。
2006-12-13
λ ハギワラシスコム、ExpressCard/34対応のフラッシュメモリ
Vista の ReadyBoost の価値は、ノートPCでHDDを停止させて航続距離を延ばすことだと思ってるので、結構いいかも。 ExpressCardの使い道あんまりないし。
2006-12-14
λ nw8440オプション スマートカード EL348AA (Javaカード)
10枚5250円って安い気がする。
しかしJavaカードでWindowsのスマートカードログオンに使えるのだろうか… HP ProtectToolsに入っているかもしれないCSP次第なんだけど資料が足りん。
λ カルドセプトサーガ 不具合のお知らせ
やっと公式発表。店頭からはパッケージが回収されたらしい。 とりあえず何かしらのアクションがあることは確定したが、修正版のクォリティがどうなるかは全く分からない。
まあしかしゲームはコミュニケーションツール、と捉えると元は十分取れた気もする。
販売店への回収指令FAXがMS名義だったということから、2chではMSへの好感度大幅アップ中!
2006-12-15
λ 70-536
リフレクション周りはやはりまともにコーディングしていないので一番低い得点。
暗号化周りは得意なはずなのだが、SymmetricAlgorithmのFeedbackSizeプロパティの意味を知らなくて失敗した気がする。 FeedbackSizeプロパティって実際のところ明示的に利用することあるんかな。
個人的な印象だとXML関連のネタが多い気がした。まあ.NETはシステム自体色々な設定がXMLベースになってるから順当だとは思う。 なににしても予想通り開発系の試験としては過去一番いけてると思った。 それとともに開発のメインがアルゴリズムの実装ではなくパーツの組み合わせになってきているのをますます実感した。
次回は70-547でMCPD取得へ。 ん?こりゃまたずいぶんと設計寄りな。事例ベースのデザイン系の試験かな。 特段試験対策がしようがないのであればさっさと最後の無料バウチャー使ってしまうかしら。
2006-12-16
λ Xeon E5320 が6万円台に
実クロックが低くて、フツーのクライアントマシンとしては4coreも使い切れんから、自作市場では売れんようだ。
俺的にはすごい狙い目。Athlon64x2マシンを狙っていたが4coreがこの値段となったら話は別だ。 でもFBDIMM高いんだよなあ…
λ Wii 入手
ソフトは WiiSports。 このちょっと起動してちょっとプレイちょっと楽しい、このお手軽感覚は最近のゲームに欠けすぎだったと思う。
しかしセンサーが加速度センサーというのを見切ってしまうと、体全体を使うより手首のスナップだけの方が速球を出せるノンリアリティー。 そこはゲームだからということで。
一人プレイだとボウリングが一番かな。二人だと多分テニスになりそう。
(追記)ストラップ切れる事件対策として「軽く振って」というCMを流すらしい。 Wiiユーザーはすべからく加速度センサーを見切れと。
2006-12-17
λ Compaq tc4400 Tablet PC RM777PA
いつのまにかCPUがアップグレードされたものが発売予定になってた。
λ Vista 機能比較
ここにはBusiness Enterpriseがないんだけど、BitLockerって Enterprise と Ultimate だけなのか! その上EnterpriseはSA(ソフトウェアアシュアランス)付きでのライセンス購入しか入手方法が提供されていない。なんということだ。
てことはBitLockerプリインストールモデルって出ない可能性が結構高い。Ultimateプリインストールという可能性はあるけど。 少なくともUltimateへのアップグレードパスは提供されていない。
λ RocketRaid 2300
少し調べた範囲ではPCIExpress x1でRAID10を構成可能なボードはこれしか見当たらなかった。 安価なマシンについているPCIExpress x1の使い道としてはベストではないかと思われる。
2006-12-18
λ Visual Studio 2005 SP1
空き容量が6GB以上ってめちゃめちゃ厳しいんですけど… うちのは20GBでCドライブのパーティションを切っているシステムで残り3GBだった。
一体どうしろとと一瞬思ったが、そもそも Kazzzさんのサービスパックの限界 を読んだから作業始めたんじゃん。 Transactional File Update はVistaの機能だから関係ないと思った俺が浅はかであった。
でも最近のWindowsUpdateの挙動を見ているとは空き容量の大きいところを展開用ドライブとして自動的に認識しているように思われるのだが、 そーゆーテクノロジをVisualStudioのサービスパックでは利用してくれないのか??
結局最終的には C:に対して ディスククリーンアップで圧縮をかけて6GBを捻出した。
途中MSDNのWindows Installer のページも少し探してみたが、役に立つ情報はまだ見つかっていない。 そしてAmazon.co.jpにあったDefinitive Guide to Windows Installerの最後の在庫1冊を確保してしまった… 元々なんかインストーラ作成予定だったからいいんだけど。
システムファイルがかなり差し変わったようなので、久々にデフラグしてみた。デフラグ前のファイル断片率36%。 SP1のおかげもあるかもしれないが、VisualStudio2005の起動速度がえらく向上した。ちとびっくり。
λ Windows xp Embeddedについて
ファイルシステムを保護する仕組みがあるから出来るはできるんだろうと思ってたけど、 組み込み向けにそもそも提供していたとは知らなかった。
λ C# ?? 演算子
ログファイルを何らかの整形をしつつ書くみたいなところで、 まさに (str == null)?"":str みたいなコードを大量に書いていたので ?? 演算子の存在を知った時は衝撃だった。
λ ゲーマー向けの高速LANカード「Killer NIC」
ボード上で走っているオフロード処理のOSがLinuxとはいえ、UDPの処理するだけのために400MHzのプロセッサは大仰に思われる。
やっていることはPCIカード型SSLアクセラレータの簡略版なわけで、むしろMMORPGとかでSSL当然みたいな流れになってくれると、 似たようなコンセプトでSSLアクセラレータが登場して量産効果で安くなるような方向にならんかなとちょっと期待。 このカードでそのまんまSSLアクセラレータになってくれてもいいんだけど、NPU上にハードウェア暗号化ユニットがあるという記述は見つけられなかった。
λ FeliCa@ソニーの暗号が破られる?
Felica自体の実装は実際のところ触っていないので分からないのだが、 通信プロトコルというレベルで言えばSmartCardを無線化したものが規格になっていると俺は認識している。
そういう意味では、「Felicaの中身は更新されているはず」と信じているのだが… もちろん実際に世の中で運用されているシステムはそうそう更新できないわけで、 古くから運用されている香港の八達通(Octopas)が破られていたとしても驚くことでもないだろう。
2006-12-19
λ TDD あとで書く
VisualStudio2005だと Assert.Inconclusive という専用のメソッドがあって「trueかfalseか判定できない」(のでなんとかせい)ということになっている。 実装側では throw new NotImplementedException() とやっとくと、実装してない例外が出るとか。
あとテストに限らずコメントで // TODO: とか // UNDONE: とか書いておくとタスク一覧に出てくるのも素敵。
λ Gmailのspamラベルが付いたメールをAtomフィードで取得してsa-learn -spamで自動学習するのはどうか
やってみたけど、Spamメールは取得できなかった。残念。
λ SQL Server 2005 Compact Edition
sqlite みたいなin-process SQL Serverらしい。アプリケーションへの組み込みが楽になる。
λ ドメインの全員に送信するメールアドレス
某所で all@example.com がSPAMまみれになったために廃止された。どういうアドレスがよいか検討することに。
".*"@example.com はどうだろう。そもそもローカルで運用できればOKなアドレスなんで最悪ある程度の相互運用性は捨ててもいい。 Postfixのaliasesに書く分には動いてくれた。
'*@example.com' だったらクオートしなくても大丈夫だった。.はwordの後ろにしか置けないというルールがあるため.*はクオートする必要がある。
システムがqmailの場合は、~alias/.qmail-* というファイルになるので、後々悲劇が起こることは確実だ。というネタ。 そういやイマドキだったら *^_^*@example.com みたいなアドレスも存在するか。
λ うるう秒に関する Windows タイム サービスの処理
Windowsは基本的にうるう秒を扱わない。過去のうるう秒をSQLServer2000,2005に食わせたところ、「範囲外です」と言われた
SELECT CAST('1983-06-30 23:59:60' AS DATETIME)
λ [FreeBSD] EoL for FreeBSD 6.2-RC1
RC1から1ヶ月経過してしまってWarningくらう話。Release/RC2を催促してる。
今のとこ FreeBSD Update を使ってないのでうちでは関係ないけど。
2006-12-20
λ [.NET] なま暖かくて柔らかい、ちょっと触るとプルプル動く
ITemplate の日本語の記事は mumurik さんの以外何かないかなーと思って探したら当たった。 俺も常々「何でいちいちEvalなんつー遅いもの使うねん」と思っていたところなので参考になった。 ASP.NET で何らかの「部品化」を狙っているならとてもいい入り口だ。
DataBinder.Eval が登場した理由は、VisualStudio的にはWizard操作している時点で本物のデータを持って来てコードを生成できるんだけど、 「コンパイルの時点ではそんなものは忘れているので致し方なく」 VisualStudioをポチポチ触って生成されるコードは DataBinder.Eval になるんだと思われる。
しかし SqlDataSource よりは ObjectDataSource のがましよのう、と思った矢先に、「自分で DataSourceControl を派生しよう」という話に当たるとちとへこむ。
…ソースコードを読んでいると、クラス名がわかりずらい。HogeItemViewがプレゼンテーション用で、HogeViewがデータ用ってどうよ。
- HogeListView がやっていることはほぼ Repeater なので「俺Repeater」だと思う
- HogeItemView がやっていることは Repeater が中で持っているプレゼンテーション用の各要素。なのだが、aspx内のテンプレート上で Container 変数に割り当てられるので、プログラミング上ではContainer変数が使いたいプロパティまたはメソッドを定義する。DataBinder.Eval の流れでItemプロパティとして定義されることが多いような印象があるが、むしろ GetHoge() みたいなメソッドとして定義する方が見た目分かりやすいのではないか?Itemと書いてあると、ぱっと見なんだかさっぱり分からない。日本語メソッド勝負だったら、「データ取得()」かなあ…
λ [.NET] VS2005周辺の開発環境(TeamSystem以外)
うまいこと安価で入手できたからTeamSuite持ってるけど、社員全員にTeamSystem配るのはどう考えても高すぎだもんなあ… しかもTeamFoundationServerの構築は一筋縄ではないときている。
しかもSubversion+Tracでソース管理とタスク管理はまあまあ回っている。
OnTime 2006 のWorkflowは完璧自分とこと一緒。Tracの状態遷移はバグトラッキングとしてもいまいちだったので、魅力的だ。 しかもこのWorkflow、担当するべきRoleが明記されているのが素晴らしい。それでも今Tracを離れるのは厳しいなあ。
ReSharpar+NUnit への移行は現在検討中。単体テストは無駄に TeamSystem に依存した生活をしている。
λ [.NET] Using CruiseControl.NET with MSBuild
ビルドに関しては MSBuild は悪くないと思ってるので、ちと調査
λ 1クラス1ファイルの原則
原則は原則として、DataSourceControl+DataSourceView とか、ITemplateでInstantiateInする側とされる側とか、 実装が一心同体な感じな奴は2クラス1ファイルでもいいと思う。
2006-12-21
λ [.NET] Implementing designer for a templated server control
ITemplate なサーバーコントロールを作った場合の、デザインサポートクラスの作り方
基底クラスを ControlDesigner の代わりに DataBoundControlDesigner にするだけで、DataSourceDesigner との連携も テンプレートの適用も含めて良きに計らってくれる。 こいつはグレイトだ。
2006-12-22
λ 70-547
Web申込だとMCAD/MCSDアップグレードの無料バウチャーでは受けさせてくれなかった。ちゃんと試験科目見てるのか…
試験内容はDesign系なのに予想に反して1問1答方式だった。「この設計でOK?」みたいな設問は新鮮だ。
無料バウチャーが結局1枚のこってるので、次回はおそらく 70-526。
2006-12-23
λ 三菱i
いろんな意味で初代Vitzに近い車だった。車内はちょっと横幅が狭いけどほとんど分からないような感じ。 走りも軽とは思えないちゃんとした走り。高速道路ではむしろVitzよりも上だろうぐらいの走行性能。安定感もばっちりだ。
ただし燃費はおおよそ10km/lとこれまた軽とは思えない燃費。
全体としては確かにすばらしい自動車だった。カーオブザイヤーになるのも分かる。 もうちょっと営業所が便利なところにあったら積極的にレンタカーで借りるのだが…
2006-12-25
λ OpenVPN Use CryptoAPI CA store
OpenVPNってもしかしてCA以外も CryptoAPI 対応してる?
λ [.NET] フレンド アセンブリ の指定方法
InternalsVisibleTo attribute and strong name public keys この記事に出会うまでなかなかヒントに出会えなかった。
InternalsVisibleToにおけるコンストラクタでのアセンブリ指定において、 公開キートークンから、公開キー 自体の指定へと変更されている。公開キーを指定しないことも出来ない。
以下のコマンドを実行すると、公開キーと公開キートークンを取得できる。
sn -Tp Test用アセンブリ.dll
ここで利用するのは公開キー(320文字ある長い方)。上記ブログの指定方法を借りると
#if FRIENDFORTEST
[assembly: InternalsVisibleTo("Test用アセンブリ, PublicKey=0024000004800000940000000302000000240000523341310004000001000100E93F2D6C63FCEBB91140CBB4E49...")] (長いので省略)
#endif
というような指定になる。ちなみにここの「Test用アセンブリ, ...」の指定では、.dll という拡張子はつけてはいけない。 あくまでアセンブリ名の指定。
"#if DEBUG" ではなく "#if FRIENDFORTEST" にしているのは、ほぼリリースビルドだがNUnitによるテストをしたいアセンブリ、というのを最終段階で作りたいため。 もちろんデバッグビルド時に FRIENDFORTEST の定義も追加している。
InternalsVisibleTo attribute and strong name public keys の一番下にある InternalsVisibleToAttribute Generator は、貼付けられた画面の通り、 InternalsVisibleTo の行を生成するためのちょっとしたアプリケーションである。
それにしても MSDNのInternalsVisibleToAttribute.AssemblyName プロパティのサンプルも、 明らかに公開キートークンのような長さを示しているので完全にだまされた。これだけで半日ぐらい悩むはめに。
テストプロジェクトで利用する鍵は、共通のものを使うとか、いっそ公開してしまっても特に問題はないはず。 「本当のリリースビルドでInternalsVisibleToをちゃんと外しておけば」という条件は必要だが。 そういう意味では NUnit のインストール時にNUnitと一緒に置いておくとよいかも。 でもVisualStudioでアセンブリの署名用の鍵を指定するのって、新規にするのも既存の鍵使うのもそんなに手間の差ないんだよな。
λ [.NET] NAgile ダウンロード
NUnit 2.2.8用コードスニペット(C#) を導入したらとても便利になった。 フレンドアセンブリとの合わせ技で VS2005 TeamSystem よりもいけてる感じに。
VS2005 TeamSystem の単体テストの場合、「テストする度に環境を構築して環境ごと全部保存しておく」というようなことをするので、 ちょっとしたテストをするには重すぎるところがあった。 TFSでテスト結果を取り込んで統計情報を取るようなことをすると必要になるんだろうけど。そこまでやらないんだったらヤリ過ぎだよなあ。
で、NUnit 2.2.8 の書き方は、TeamSystemのテストの書き方と基本的に同じにしてあった。 ただし Assert.AreEqual<int> のようなGenericメソッドは提供されていないようだ。近いうちに出来るようになるとは思うけど。 そんなわけで移行はほとんど手間なしで済みそう。
λ SQL Server 2005 Express Edition でデータベースの容量が4GBを超えたときの挙動
mdf 1ファイルあたり1GBまでではないか、という噂。
λ [.NET] WindowsFormプログラム作成
ASP.NETに毒されまくっているので ValidatorSummary とかの検証オブジェクトがないとやりずらーい。って前もやったな。
ErrorProvider か。
λ Dell Web広告限定ページ
3007WFPが約12万円。そろそろうっかり買っちゃえる値段だ。なんか年末調整で結構返って来たからうっかり買っちゃおうかな。
2chによると15日ぐらいからこの値段になった模様。 Rev A02の在庫一掃処分。
グラボは X1650Pro 512MB あたりかしら。あるいはちょっと奮発して 7900GS。
いろいろいれたら年末調整の還付金は軽くふっとぶ…けどかなり欲しい。
2006-12-26
λ Apache lounge win32 binary SSL付き
SSLの入ったバイナリも出回ってはいたのね
λ ThinkPad ThinkVantage 指紋認証ユーティリティ
自分でインストールしたOpenSSLコマンドがどうも動かないと思ったら、ThinkVantage 指紋認証ユーティリティに関連する C:\Windows\system32\ssleay32.dll がバージョン違いで上書きされているのが原因ぽかった。 OpenSSLがらみで DLL Hell をくらうとは思ってなかった。
単に実行するだけの openssl.exe の入手については、http://www.slproweb.com/ から入手するよりも、 上記 Apache lounge の方がよい。C:\Apache2\bin に必要なdllが入った状態でインストールできる。
λ 文字合成
Vista文字化けの記事を読んでいたら、たぶん「あ゛」は作れるよなあなどと思ったり。 mixi内ではがんがんに使われそうな予感。
2006-12-27
λ FreeBSD 6.2 Release Process
Build 6.2-RC2 が24日となってた。今年はRC2で終わりみたい。
λ プログラミング能力をあまり必要としないフレームワーク
例えば Excel は、プラットホームでもあり、ある種のフレームワークでもある。 Excelの達人はやりたいことを簡単にやっつけるけど、必ずしもプログラミング能力にたけているわけではない。 (少なくともExcelの多機能さは俺的には習得不可能領域。Excelの達人には勝てない)
あと、プログラミング能力をあまり必要としないフレームワークって、今風に言えば DSL なんじゃないかしら。 それはプログラマではなく別の専門家向けのフレームワークとして提供されるわけなんだけど、 とはいえ「その専門家をアシストする」っていう立場もありうるはず。
企業のトップだとプログラミング環境よりかは、人員配置の方が重要案件であろう。たぶん。
λ livedoor Wirelessの話の続き
結局のところ NintendoDS が WEP にしか対応していないところがガンなのであって、 NintendoDSな人にサービスを提供しようという意図があるんだったらlivedoorの選択は他にはありえないと思う。
Wiiの方はTKIP使えるのになあ。NintendoDSからニンテンドーWi-Fiコネクションにつなぎたいから、うちの自宅もWEP128bit生活。 もはやPCからセキュアな無線接続したかったら 802.11a+802.1x 環境の構築しかないと思っている。 WEP128bitの解読が数時間と脅されているとしても!
2006-12-28
λ HP tc4400
店頭でちょっと触ってきた。触るまでは結構買う気で行ったのだが、やはり2kg級のノートは重い。 重くてパワフルだったら画面の解像度も欲しくなるしなあ、妥協するならW-ZERO3という手もあるし…
その時UXGAパワフルノート ThinkPad T43p かついでいたってのもあるけど、いつまでも買えないTabletPC。
ただ、HP ProtectTools のヘルプをある程度見てきた。 Windows標準の仕組みとしてのスマートカードログオン用の証明書発行の話は見つけられなかったけど、 スマートカードを利用したシングルサインオンを実現していることは間違いない。
λ Athlon 64 X2 Rev.G
Rev.G系列はCPUクロックの刻みが細かくなった代わりに、L2 1MBx2キャッシュモデルが壊滅。 Opteron1000番台との差別化かしら。
こうなるとRev.FのL2 1MBx2キャッシュモデルをあるうちに確保したいかも。
まあ値段相応のパフォーマンス+低消費電力になるんだったらRev.Gでもいいんだけど。
2006-12-30
λ コミケ2日目
周囲ではこの日にこない人多数。ジャンプ系メインでは致し方ないか。 おかげでほぼスペース張り付きせざるを得なくなって、座っているだけでいいとはいえ精神的にきつかった。
終了後、豊洲ららぽーとで夕飯を食べようと思って出かけたが、位置をちゃんと把握しておらず、 駅ビルの駐車場に停めてから「なんか違う」ということに気付く。 豊洲ららぽーとは元IHIの敷地に作られてたのね。結構離れていたので、そのまま駅ビルで夕飯にした。
2006-12-31
λ コミケ3日目
人手はそれなりにあったが、ほぼ全員買い出しに行ってしまい、この日もほぼ張り付きの刑。 以前のように電話事情を調査するようなことはしてないけど、movaは相変わらず絶好調、元Vodafone 3G も問題はなかった。 auとwillcomはつながらないことがあった。FOMAは通話することがなかったので不明。
それにしても3Gは電池の減りが早くて困る。
using plugin: amazon calendar2 category html_anchor makelirs makerss recent_comment3 recent_trackback3 squeeze tb-send tb-show recent_list
Copyright(C) 2003-2007 by KAMIYA Satosi (上美谷 智史) All rights reserved.
λ 108bones [先日はオフ会お疲れ様でした。 私は言語系は536はじめてだったので、地道に取るしかない>< やはり過去の積み重ねがあ..]