仮想技術としてはVMwareと双璧をなす存在のVirtualPC
すでに無料化されて久しいが、新バージョンが出ているようだ。まだ日本語ページが準備中なので2007はでたてのほやほや
実は自分が仮想マシン技術にはじめて触れたのがVirtualPC2004の体験版だったわけで、
それ以来VMWarePlayerに浮気してしまったが、久々にインストールしてみることにしよう。
仮想技術としてはVMwareと双璧をなす存在のVirtualPC
すでに無料化されて久しいが、新バージョンが出ているようだ。まだ日本語ページが準備中なので2007はでたてのほやほや
実は自分が仮想マシン技術にはじめて触れたのがVirtualPC2004の体験版だったわけで、
それ以来VMWarePlayerに浮気してしまったが、久々にインストールしてみることにしよう。
悲劇は突然やってくるやもしれない。
運がよければ再起動で立ち上がってくるが、運が悪ければ別のマシンにつないでデータの救出を図ったことも
でもって今日Let’s Note CF-R3でいきなりブルースクリーンで落ちた。
前回同じ状態に陥った直後に起動不能に陥ったが今回は上がってきたので急いでバックアップ。
どうもタッチパッドのドライバーが悪さをしているようだが・・・
一昔前はWindowsのドライバを利用するndiswrapperを使わなければLinuxで無線LANを使うのは困難だった。
かつてndiswapperのインストールに挑戦したが、コンパイルエラーなどがでてそれでもうあきらめてしまっていた。
しかし最近になって状況が一変した。カーネル2.6.17あたりから主要な無線チップのドライバーが組み込まれてるようになったのだ。
ただしファームウェアなどがライセンス上100%
フリーではないのが原因なのかファームウェアの組み込みは自分で行う必要がある場合もある。
自分の無線はCF-R3組込みはipw2200というインテルCentrinoの無線なので割とメジャーかな。
でこいつの場合はUbuntu7.0.4の日本語版を利用する限りにおいてはなんとそのまま設定さえすれば利用できる。
3連休のうち2日は台風で家に篭っていたのでLinuxで無線LANを成功させるまでは家からでない(!?)
意気込みでいろいろなディストリビューションでためしてみた。
わざわざインストール場合失敗したときが癪なので、1CDLinuxでやってみたところ見事連続成功。
後日個別Linuxごとの設定をまとめるとしよう。
デスクトップLinuxで最近赤丸急上昇なUbuntu
日本語ローカライズバージョンを4時間掛けてダウンロードしてインストール。
ちなみにそのまま1CDLinuxとしても使えるし、そのあとインストールすることもできる。
でも1CDLinuxの立ち上がりが遅いので直接インストールできる方法をあとで調べておこう。
ちなみにMBRにブートローダーを勝手に入れてしまうのが唯一の欠点か?
(注)インストールの最終ステップでgrubのインストール先を指定できることを発見した。
いままでのデスクトップLinuxと違い漢字入力モードの切り替えがwindowsと同じキーでできるようだ。
まだ使いこなしてないのでこれからこまめにレポートしていこうと思う。
ちなみにDebianベースではあるがまったくその面影を感じないほどである。
検索キーワードを見ていると相変わらずStrutsのActionがスレッドセーフであるか否かを探していると見られるものが多い。
最近出たStruts2は知らんが、Struts1.x系においては一度作ったActionインスタンスはアプリケーションサーバー(Tomcat等)を再起動するまではずーとプールされる。
ためしにこんなコードをActionクラスのexecuteに入れてみれば一発だ。
System.out.println(this.hashCode());
なんどリロードしてもハッシュコードは一緒。つまり同一インスタンスなので読取専用以外のフィールドは持たせないほうがよいということになる。ユーザー固有の情報(たとえばHttpSessionなど)をフィールドにもたせてActionクラスを作ってしまうと自分一人のテストでは問題が発覚しなくても、結合テスト時などの複数人同時に利用したときに問題が発覚して大慌てになるので注意。
Actionがスレッドセーフでない理由はパフォーマンス的にリクエスト毎にActionをnewするのはよろしくないという設計者の思想があるからしょうがない。
ActionをスレッドセーフにするためにSpringなどのDIコンテナを利用してActionインスタンスをリクエスト固有で生成するようにしていたやり方もある。
Windowsはハードウェアの認識はLinuxに比べると容易だがインストール後のセキュリティパッチあてがひどいものでSP2適用済みにもかかわらずその後81個ものセキュリティパッチを当てさせられて本体インストールに1時間としてもパッチあてにも同じぐらい時間がかかる。
一方Linuxはハードウェアの認識が自動でされないと結構面倒だが、比較的古いシステムにインストールを行うとすべて自動認識されインストール後のパッチ当てもWindows程ひどくはない。とくにサーバー用途でXを入れない場合は10分でインストールが終わる。
というわけでLinuxの圧勝。
クライアントサーバーシステムでは当たり前のタブの順番制御。
とあるお客さんからシステムを使ってみた感想としてタブの順番をなんとかできないかとのこと
もちろんIE限定になってしまうがtabindexという属性を与えておけば制御できることはその場で思いついた。
しかしIE仕様におんぶに抱っこは非常に危険なので持ち帰って検討しますとその場は逃れた。
で、家かえって試したらもはやFirefoxでも対応していた。実際に使っているシステムなんてあまりないだろうが、
CSシステムになれた人がWebアプリに移ると必ず感じる不満点がタブの順番のいい加減さなので、
時間に余裕があれば対応してあげたいところ。
calcだと電卓
commandだとコマンドプロンプト
ここまではよく使う(?)ものではないだろうか?
コントロールパネルの呼び出しもファイル名を指定して実行ダイアログでできる。
http://www.atmarkit.co.jp/fwin2k/win2ktips/585cplcmd/cplcmd.html
PHPは標準関数にこういった使用頻度の高いものが用意されていて便利。
たった一行でいい
if
(!checkdate($month,$day,$year)) {
return FALSE;
}
こんな感じ!
PHPでブラウザアクセスしてみてうんともすんともいわずに画面が真っ白になるときの対策
実はこれ裏でエラーが出てて、Apacheのエラーログには出力されている。
本番運用にはエラーメッセージは画面には出さないべきだろうが開発中はいちいちログを見るのがめんどくさいので画面に出力するように変更しよう。
php.ini (場所はOSによって異なるのでphpinfo()で確認しよう)のdisplay_errors =
OnにしてApacheを再起動する。
本番運用時に元に戻しておくこと!