トップ 最新

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もオンライン割引がつくようになって悪くないんだけど。悩ましい。

λ 素晴らしき擬似乱数

2プレイヤー対戦だと片方が偶数、もう片方が奇数の出続けるゲーム。

カルドセプトサーガ そして伝説へ…


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] INullable

普通 .NET 2.0 だったら Nullable<T> の方を使うんじゃないか。INullable は忘れよう。

λ [.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] DebuggerBrowsableAttribute

デバッガ変数ウィンドウでメンバを表示するかどうか。VB.NETでは使えない

λ [.NET] DebuggerDisplayAttribute

デバッガ変数ウィンドウで表示するための書式指定

λ [.NET] DebuggerTypeProxyAttribute

デバッガ変数ウィンドウで表示するためのカスタム実装されたクラスを指定する

λ [.NET] DebuggerVisualizerAttribute

カスタムビジュアライザを指定する

λ [.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 ぐらいしか使い道がない感じがする。

λ [.NET] FileSystemWatcher, RenamedEventArgs

ファイルシステムの変更を監視できる。こんなもんまで用意してるのか。

λ [.NET] IsolatedStorageFile, IsolatedStorageFileStream

IsolatedStorageFile の生成については、User/Machine, Application/Assembly/Domain のかけ算計6種類のfactoryで生成する。 例: GetUserStoreForAssembly

ここでのDomainは、.NETにおけるアプリケーションドメインのこと。

多分 Documents and Settiongs/ユーザ名/Application Data の下あたりに置かれるんじゃないかと思われるが未検証。

λ 本日のカルドセプトサーガ 伝説

OmiyaSfot 祭り中。

あとは フリーザ様に学ぶカルドセプトサーガ。 やはりドラゴンボールネタは全国共通で面白い。


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] CompareInfo, CompareOptions

想像以上に高機能だった。カルチャ関係は奥が深い。

λ [.NET] CultureAndRegionInfoBuilder

カスタムカルチャを作るためのクラス。とはいえ実際に使うためには、作成したカルチャを管理者権限で登録しないと使えない。 アプリケーション内で動的に生成してその中だけで使うというのはできないらしい。それだとあんまり嬉しくないな。

λ [.NET] EncoderFallback, DecoderFallback

バイト列とエンコーディングとの間で変換を行う際に、変換に失敗した文字の扱いを自分で記述できる。

しかし機種依存文字について何とかしたいと思ったら、Encodingクラスから派生した俺クラスを作る方が楽そうな。 あとJIS2004対応とか。

λ 70-536対策編

Culture,I/O関係が多いらしい。そりゃそうだよなー。普通のプログラミングの最初の壁だから。 特に日本だとEncodingでShift_JISを使う場面が多いし。

どう考えてもリフレクション周りをまじめに習得するのは試験対策としてはやりすぎの感がある。AssemblyBuilderとか。 個人的には超面白いけど。来週受けちゃえ。


2006-12-11

λ [.NET] プログラミング .NET Framework 第2版

CAS周りのとこだけはオンラインマニュアルだと理解しずらいから本で読もうと思ってたら、載ってなかった。ががん。

λ デル、消費電力を最大24%削減した低電力サーバー

低電圧デュアルコアXeonでエコサーバー


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のコンバーターが欲しい俺的には残念な気分。

λ [.NET] 今日の C# プログラミングポリシー

クラスのアクセス修飾子は、基本 internal sealed にしておく。 アセンブリ内からのアクセスについてはゆるくしておいても、アセンブリに対する単体テストを通してから外部に公開(リポジトリにチェックイン)するので、仕様変更に対する影響はあまりない。

外部に公開するpublicクラスは必要なものだけ。publicクラス(またはインターフェース)はちゃんと機能仕様書、テスト仕様書を書こう。 当たり前だけど。 public なものは一度出荷すると変更できないよ!バグも仕様になってしまうよ!!>俺

λ [.NET] フレンドアセンブリ

テストプロジェクトを作るにあたって便利なフレンド。

VisualStudio TeamSystem使ったテストの作成だと勝手にアクセサ作っちゃうけど。

λ 32型フルHD液晶

20万円を切るぐらいになると、家庭用のPCモニター兼用テレビとして検討するかも。


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取得へ。 ん?こりゃまたずいぶんと設計寄りな。事例ベースのデザイン系の試験かな。 特段試験対策がしようがないのであればさっさと最後の無料バウチャー使ってしまうかしら。

λ [FreeBSD] Postfix の RELEASE_NOTES

milter support 以外にも、SASL,TLS,VERP あたりの変更についての話が書いてある。 一応後方互換性はあるようだけど、最新に追いつくのは大変だ。

本日のツッコミ(全1件) [ツッコミを入れる]

λ 108bones [先日はオフ会お疲れ様でした。 私は言語系は536はじめてだったので、地道に取るしかない>< やはり過去の積み重ねがあ..]


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)が破られていたとしても驚くことでもないだろう。

本日のツッコミ(全1件) [ツッコミを入れる]

λ Kazzz [こんにちは。 >そーゆーテクノロジをVisualStudioのサービスパックでは利用してくれないのか?? 今..]


2006-12-19

λ TDD あとで書く

VisualStudio2005だと Assert.Inconclusive という専用のメソッドがあって「trueかfalseか判定できない」(のでなんとかせい)ということになっている。 実装側では throw new NotImplementedException() とやっとくと、実装してない例外が出るとか。

あとテストに限らずコメントで // TODO: とか // UNDONE: とか書いておくとタスク一覧に出てくるのも素敵。

λ 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 との連携も テンプレートの適用も含めて良きに計らってくれる。 こいつはグレイトだ。

λ [.NET] A custom DataSourceControl sample

メモ

それにしても、Designer関係のデバッグはどうやったらいいんだろう。


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-24

λ PS3

夜にWiiポイントカードを買うついでに PS3(60G) のページに行ったら在庫ありだった。つーか今もあるな(25日朝)


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の解読が数時間と脅されているとしても!

λ ReSharper for Visual Studio 2005 の機能(日本語翻訳)

人に勧めるのに日本語訳してみるテスト。(俺的にもどういう機能があるのか身につけたい)。今日はリファクタリングのとこで力つきた。


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-29

λ コミケ1日目

朝7時前だというのにC2が少し渋滞していたけど、それはきっとネズミーランド渋滞で、 コミケはまったりしていた気が。

帰りに見えた富士山が綺麗だった。


2006-12-30

λ コミケ2日目

周囲ではこの日にこない人多数。ジャンプ系メインでは致し方ないか。 おかげでほぼスペース張り付きせざるを得なくなって、座っているだけでいいとはいえ精神的にきつかった。

終了後、豊洲ららぽーとで夕飯を食べようと思って出かけたが、位置をちゃんと把握しておらず、 駅ビルの駐車場に停めてから「なんか違う」ということに気付く。 豊洲ららぽーとは元IHIの敷地に作られてたのね。結構離れていたので、そのまま駅ビルで夕飯にした。


2006-12-31

λ コミケ3日目

人手はそれなりにあったが、ほぼ全員買い出しに行ってしまい、この日もほぼ張り付きの刑。 以前のように電話事情を調査するようなことはしてないけど、movaは相変わらず絶好調、元Vodafone 3G も問題はなかった。 auとwillcomはつながらないことがあった。FOMAは通話することがなかったので不明。

それにしても3Gは電池の減りが早くて困る。


2003|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|

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.
gmail 無断リンク上等! ただし自動的に捕捉されます。