当然といえば当然なんだけど、MouseEventArgs.Buttonの値って、マウスの左右入れ替えすると、ちゃんと入れ替わってくれるのね。
入れ替わってくれなかったらどうしようって思ってたんだけど、これなら安心。
当然といえば当然なんだけど、MouseEventArgs.Buttonの値って、マウスの左右入れ替えすると、ちゃんと入れ替わってくれるのね。
入れ替わってくれなかったらどうしようって思ってたんだけど、これなら安心。
旧ブログに置いてある、WPF本から抜き出して迷路データを自動生成にしたやつをXBAP化してみたんだけど・・・・
なんか、フォーカスをうまく受け取れていない。
そのせいか、キー操作もうまくない。
酔っ払いを操作しているようで、快適とは言えない。
.NET 3.5 と 4.0で試したけど、どちらも同じ。
継承すれば、親クラスのprotectedメンバにもアクセスし放題とばかり思っていた。
この十年余り。
俺もまだまだだな。
こんなC++コードを書くと、「A& GetA(A& org)中のorg.A::GetA()呼び出しって、protectedだからアクセスできないよ~」というコンパイルエラーが出る。
A& GetA(B& org)の方は大丈夫。
なんとなーく、Aのprotectedメンバにサクサクアクセス出来ちゃいそうに思っていたので、自己修正、覚え直し。
C#でも試したけど、同様。
どうしようか考えているんだが、とにかく、ハンドルカウントが大幅にアップするクリティカルパスを無限実行させて、短時間に破たんさせたい。
ま、そういうわけで、ちょっと弄ってるんだけど、その最中のこと。
XPをシャットダウンor再起動したとき、反応がどうも鈍い。
SEG CLIPデバイスを接続して、電波状態が悪い等で「選局中・・・」である場合、割り込みによって、ログオフ処理も阻害されるらしいことが、分かった。
#デバイスを抜くと、処理が進む。
どんだけ酷過ぎれば気が済むんだよ。
とりあえず、本サイトのサーバー証明書を差し替え。
オレオレエンタープライズ(ワイルドカード)サーバー証明書を、ルートCA局から用意して、差し替えた。
面倒っちゃー面倒だけど、全部毎回作り直しても、手間はあまり変わらないので。
で、サーバー証明書は既出のアレでも使えるので、取得手順書(画面キャプチャ枚数70枚超)も作ったんだけど、結構でかい。
精査前だけど、欲しけりゃ持ってけ。
エンタープライズじゃなくて、スタンドアロンにすれば、AD DS不要で、単純かも知れず、再挑戦予定。
昨日のあれ、なんとか動いた。
いろいろあったけど、利用する証明書は秘密鍵付きじゃないとマズイってことは重要なのでメモ。
公開鍵暗号なんだから、復号化する際に必要なので、当然なんだけど・・・
昨日の画面を見ればわかる人はわかるけど、今回のサーバー版ってのには、Hosts書き換えを不要にする仕掛けを入れてあるので、とても便利。
つまり、受け取った証明書のホスト名が検証されるので、ホスト名が一致している必要があるのだけど、これを接続先アドレスと別に用意できることで、解決しちゃうという、当たり前っちゃー当たり前なことなんだけど、忘れがち。
#クライアント版にも反映したい。
これで、バックエンドサーバーと同じ証明書を利用して、SSL-SSLの簡易プロキシ(ポートフォワード)としてポートを公開することもできる。
既出クライアントのサーバー版
やっと、ポートListenできた。
#多分、証明書も読み込めているとは思うのだが、netstatでポートListenの確認まで。
本当に使えるかは、これから確認。
Managerで設定保存するとサービスが自動的に設定再読み込みしてくれるのはクライアント版と同様。
超手間要らず設計。
あとは、オレオレエンタープライズ証明書取得方法文書化ってやつをやっておかなきゃな・・・
#Windows Only。
四捨五入では、0.4495→0.450(小数点下第3位に丸め)→0.45(小数点下第2位に丸め)→0.5(小数点下第1位に丸め)→1(整数に丸め)のように何度も丸めを行うことはご法度になっている。
0.4495→0.4(小数点下第1位に丸め)であり、0.5ではないし、まして1に丸められることはあってはいけない。
有と無、切り上げられる側と切り捨てられる側は平等でなければならないと考えると、多重丸めは不平等だと言える。
どちらに有利かはさておき、最初に挙げた例のように1になってしまっては、0.5505(=1-0.4495)の存在理由が否定されてしまう。
実は、多数決ってやつが、丸めによく似ていると、最近気づいた。
そして、日本の政治とか選挙が、多重丸めで成り立っていると、気付いた。
System.Net.IPAddressのコンストラクタに渡す文字列をチェックしたかったのだが、IPv4表記ならば楽にバイト列化できるけど、IPv6の場合短縮表記やら、インタフェースIDやら、IPv4埋め込みやらで、やたらと手間がかかる・・・と思っていた。
%や:や.で分割して、0埋めが必要ならどれだけか調べて置換・・・とか、いろいろやったんだけど、結局のところ、
System.Net.IPAddress.Parse
System.Net.IPAddress.TryParse
この2メソッドが異様に強力ということに。
かなり適当な表記でも、正しければIPAddressに変換してくれる。
コンストラクタ要らずで、超便利。
ただし、インタフェースID部分は数値である必要があるらしい。
最近のコメント