2013年3月19日火曜日

(VB.NET) Windows 7ブート時起動アプリにSplashScreen (HideSplashScreen)を使った場合の問題

Windowsの起動時にスタートアップメニューに登録して
起動するアプリで、VB.NETのSplashScreen (HideSplashScreen)を使った場合の問題 。

いつもではないが、時々、InvalidOperationExceptionが発生する。
インターネットを調べると、同じ症状にあってる人たちがいた。

http://connect.microsoft.com/VisualStudio/feedback/details/769497/hidesplashscreen-causing-invalidoperationexception
(Microsoftもこれはバグと認識しているようである。)

対策・回避策としては以下。
1.VB SplashScreen architectureの使用をやめる。
  (Microsoftがバグフィックスを出すまで待つ。)
2.インターネットで知りえた情報をもとにコードを組む。(としか言えません。。)

上記くらいしか対策・回避策がないのだが、
いったいどういった条件でこの事象が発生するのか知りたかった。

どうすれば分かるだろうか?
「process explorer」を使って徹底的に調べる?
Mr.Russinovich氏に問い合わせる?

Windows Maximum handles. Windowsの1プロセスあたりの最大ハンドル数

Windowsの1プロセスが作成できる、
最大ハンドル数は、256*256*256個。

Maximum handles which one process can make is 256*256*256.

2013年3月18日月曜日

(VB.NET) Invoke時はIsHandleCreateを確認して、Handleを参照した方がよい

言語: Visual Basic .NET

Invoke時はIsHandleCreateを確認して、Handleを参照した方がよい。
そうしないと、InvalidOperationExceptionが発生することがある。

2013年3月12日火曜日

Windows版Oracleアラートログローテーションバッチ

Windows版Oracleアラートログローテーションバッチ。
日次で動かして、アラートログを日付つきでバックアップしていく。
rem Oracle alert log rotation sample for windows batch script
rem アラートログのフルパス
set LOG_FILE=D:\oracle\product\10.2.0\admin\SID\bdump\alert_SID.log

rem バックアップファイル名を決める処理
rem アラートログは1ファイルだが、変数処理のため敢えてfor文を使う。

for /f "usebackq" %%I in ( '%LOG_FILE%' ) do (
  set BACK_FILE=%%~dpnI_%DATE:/=%%%~xI
  set LOG_DIR=%%~dpI
)

rem バックアップ処理

copy %LOG_FILE% %BACK_FILE%

rem アラートログを0リセット

copy NUL %LOG_FILE%

rem 古いファイルを削除

for %%I in ( '%LOG_DIR%' ) do (
  rem ファイルの日付をチェックして、保存期間を過ぎてたら削除
  rem 他の仕組みが楽だったら他の仕組みでやる。

)

ファイル名をきれいにしたいと思う方にどうぞ。
それにしてもやっぱりバッチは可読性が。。

例ではバックアップファイル名に日付文字列を使用したが、
通番方式の方が処理は簡単。
なにせバッチでは日付計算が簡単にはできないし。

あと、forループ使う時はsetの遅延問題にも注意。

(オラクル)古いDBから新しいDB へのデータ移行時に表やカラムを変える場合

オラクルについて、古いDBから新しいDB へのデータ移行時、
表やカラムが変わった場合は、expdp/impdpでは外部表を
使えばよさそう。

2012年9月29日土曜日

Active Antivirus(動的アンチウィルス)のアイデア。

Active Antivirus(動的アンチウィルス)のアイデア。

アイドル時は、間断なくクリックし続ける。

トラックパッドが故障したMacBook Proのように。
ハッカーはあまりのクリックの多さのためハックできないだろう。

(以下アイロニー的戯言)
さすが時代を先取りしている。MacBook Pro などのtrack pad
搭載したマシンがユーザーにどういった相乗効果をもたらすかを見据えて
Active Antivirus Secred Functionを搭載するとは。
それらFeed backUser Commentとして取り入れる貪欲な姿勢は素晴らしい。
一歩間違えばクレームだが、その勢いを圧倒しうるリリースを続ける、
または採算がとれるとあらかじめ計算し、そのとおりに牛耳ってしまう
技量は確かに稀だろう。
現在の統計技術では「予測不能」である領域を、そこまで予測できるのであれば、
確かにこれだけ業績を伸ばせるのもうなずける。
反感さえも餌にして話題にして最先端を走るのであるから。

ちょっとは皮肉に気づいてくれたのであれば早くリコールしてね。

結論:
MacBook Proのトラックパッド故障だが、
人的要因なのか経年劣化なのか、もやもやしたので
前向きなアイデアに置き換えました。

2012年9月15日土曜日

Bloggerとgoogle+の連携

Bloggerがgoogle+と連動するようになったのだろうか?

BloggerはあくまでPrivateで使おうと思っていたのに:D
気づくまでバンバンgoogle+側に投稿通知が筒抜けだった。