<< 2006/01/22 | Home | 2006/01/24 >>

自宅サーバ復活!

自宅サーバをもってて困るのがサーバのトラブル。
去年なんて自宅サーバが落ちて5分後くらいに見知らぬガイジンからメールが来ました。
------
Subject: Please send me Samurai
I cannot access your web site, please send me samurai zip file.
Thanks,
- XXXX
------
うーん、なんてチェックの早いヤツ!!!
は Java Web Start アプリケーションだからサーバ落ちてても起動はできるはず。
ってことは初めて使う人かな?
でも何で私のメールアドレス知ってるんだろう、とかナゾです。Googleのキャッシュ?

Mac OSX で動かしているので今時 OS 自体がイカれて飛んでしまうことはないですが、 AirMac とかケーブルモデムの調子が悪くなって繋がらなくなることが残念ながら数ヶ月から半年に一度くらいあります。
まぁ一旦ACアダプタ抜いてリセットかければ繋がるようになるんだけど。

サーバ用の機器を使ってるわけではない(サーバ向けの機器だって壊れますが)のでハードウェアのトラブルはしょうがないけど、今回やってしまいました、遠く離れたサンフランシスコからヒューマンエラーを!
先のエントリにある VNC over SSH でいくつか OS X のセキュリティアップデートをかけてやり、再起動をかけたらなんとつながらない!!
VNC どころか SSH でも繋がらないし・・・。
うーん、再起動じゃなくてシャットダウンを選んでしまったかな?

自分専用のファイルサーバだったら別に我慢すれば良い話だけれども、最近またオレンジニュースで紹介していただいたり、VersionTrackerに登録したりで特にのアクセスが増えているので気になってしょうがない。

急遽日本にいる義理の父(って表現あんまり好きでないですが)にメンテナンスをお願いしました。
Mac は起動していたみたいだけど、再起動してみたら復旧したとのこと。
シャットダウン中になんらかのGUIアプリケーションがシャットダウンをキャンセルしてしまったんではないかと思われる。うーん、気をつけよう。

雪の中メンテナンスありがとうございました!!!

次回出張があったらサーバも持ってくるかなぁ・・・。やっぱり Mac mini?

今週もゴールデンゲートパークでアーチェリー

先週に引き続きGGPで練習。
夕方にいったためか、広大なフィールドをほぼ貸し切り状態!
今週は距離表示のあるレーンでうてたので、50mと30mを織り交ぜて148本。
だいぶまともに当たるようになってきました。
field.JPG
ちんぱんとアーチェリー場

niceshot.JPG
30mならまぁ金には入る

sunset.JPG
帰りは太平洋が夕日に染まってました

タグ :

Velocityメモ

侍ではスレッドダンプの解析結果をHTMLで書き出してJEditorPane に表示させてます。
現在のところjava.text.MessageFormatで無理矢理HTMLを構築する仕組み。
HTMLのレイアウトに沿ってJavaでゴリゴリとコードが書いてあるので、非常に美しくないです。
レイアウトに変更があったら Java コードを書き換えないといけないのは非常にメンテナンスしづらい!
HTMLを作るならJSPでしょ、って思うけど侍は当然サーブレットコンテナを搭載していないので無理。Jetty を内蔵してごにょごにょ、っていう手もあるけどそれはまた今度。


というわけでちょっと Velocity を触ってみました。
Jakarta Velocity

いまさら説明する必要はないかもしれないけど Velocity はテンプレートエンジン。HTMLなり自動送信するメール文面なりをJavaアプリケーション内でJavaコーディングレスで生成するというもの。

使い方は非常に簡単。ドキュメントも明快なので特に迷うことはなかったです。
とりあえずバイナリをダウンロードしてきて velocity-dep-1.4.jar をクラスパスに通すだけ。これには依存しているライブラリが全部入っていて505kb。
ちょっとサイズが問題になる場合はvelocity-1.4.jar と commons-collections だけでも動く。といっても150kbくらいしか節約できないけど。
Javaからどのように Velocity を呼び出すかは developer guide を、テンプレートの書式についてはuser guideを見れば良い。
書式についてコマカーイ話は VTL referenceを。
テンプレートにエラーがあった場合、パース時に例外が発生するけれども NullPointerException とかで意味不明。
こんなときはデフォルトでカレントディレクトリに書き出される velocity.log を見ればよい。
侍で読み込ませておけば Ok ね。

今回ちょっと迷ったのは以下の二点。

1. オブジェクトの null チェックは?
#if ($変数名) で判別可能。オブジェクトが null でなければ true と同等に判定される。JavaScript と同じね。

2. foreach 内でインデックスを取得するには?
#set ($i = 0)
#foreach .....
処理
#set ($i = $i + 1)
#end
とかやっても良いけど実は $velocityCount という変数が自動的に内部でアサインされる。
デフォルトではインデックスは1から始まるので注意。設定で0から始まるようにもできるらしいけど今回は必要なかった。

正確には計っていないけど全くといって良いほどパフォーマンス低下はなかった。
同時にいままでhtmlをファイルに一旦書き出していたのをやめて JEditorPane に直接セットするようにしたのでむしろパフォーマンス向上!
というわけで次のアップデートでは Velocity が含まれるのでサイズが倍くらいになる予定。といっても600〜700k程度ですが。
1/23 typo をやや修正。
タグ :

自宅サーバ復活!

自宅サーバをもってて困るのがサーバのトラブル。
去年なんて自宅サーバが落ちて5分後くらいに見知らぬガイジンからメールが来ました。
------
Subject: Please send me Samurai
I cannot access your web site, please send me samurai zip file.
Thanks,
- XXXX
------
うーん、なんてチェックの早いヤツ!!!
は Java Web Start アプリケーションだからサーバ落ちてても起動はできるはず。
ってことは初めて使う人かな?
でも何で私のメールアドレス知ってるんだろう、とかナゾです。Googleのキャッシュ?

Mac OSX で動かしているので今時 OS 自体がイカれて飛んでしまうことはないですが、 AirMac とかケーブルモデムの調子が悪くなって繋がらなくなることが残念ながら数ヶ月から半年に一度くらいあります。
まぁ一旦ACアダプタ抜いてリセットかければ繋がるようになるんだけど。

サーバ用の機器を使ってるわけではない(サーバ向けの機器だって壊れますが)のでハードウェアのトラブルはしょうがないけど、今回やってしまいました、遠く離れたサンフランシスコからヒューマンエラーを!
先のエントリにある VNC over SSH でいくつか OS X のセキュリティアップデートをかけてやり、再起動をかけたらなんとつながらない!!
VNC どころか SSH でも繋がらないし・・・。
うーん、再起動じゃなくてシャットダウンを選んでしまったかな?

自分専用のファイルサーバだったら別に我慢すれば良い話だけれども、最近またオレンジニュースで紹介していただいたり、VersionTrackerに登録したりで特にのアクセスが増えているので気になってしょうがない。

急遽日本にいる義理の父(って表現あんまり好きでないですが)にメンテナンスをお願いしました。
Mac は起動していたみたいだけど、再起動してみたら復旧したとのこと。
シャットダウン中になんらかのGUIアプリケーションがシャットダウンをキャンセルしてしまったんではないかと思われる。うーん、気をつけよう。

雪の中メンテナンスありがとうございました!!!

次回出張があったらサーバも持ってくるかなぁ・・・。やっぱり Mac mini?