Monthly Archives: June 2010

twitterで親父ランナーを励まし続ける@honekawaivanovさんのつぶやきは深いと思う #run_jp #jog

twitterでランニングのことをつぶやくときは#run_jpか#jogというハッシュタグをつけるのが決まりになっています。たくさんの人が朝昼夜とみずからの練習を記録するように走った距離とペースなどをつぶやいていて、それを見るだけでも自分のランニングモチベーションが高まってきます。
そんなTLにいつもの決まったセリフ「全国の親父ランナーよ」で登場するのが@honekawaivanovさんです。

@honekawaivanovさんのつぶやきは大体がランニングやマラソンについてのつぶやきなのですが、時として非常の奥の深い言葉を残されています。ちょこっと紹介。

マラソンの現実を教えています。

全国のビギナーランナーへ。これからハーフ、フルへと挑戦するビギナーさん。ランは楽しいよ。頑張ってください。ひとつだけ。マラソンにラッキーはないよ。自分の実力以上は絶対に出ないから、レースの前は最低限の練習はしないとつらい思い出だけが残るよ。 #run_jp #ivanovSat Jun 12 05:54:49 via ついっぷる


ときどき、こんなうまいことつぶやいています。

整いました! トラックの1500m走とかけまして 浅田真央のジャンプと解きます その心は・・・・・ もう少しで4回周ります #run_jp #ivanovMon Jun 21 10:48:22 via Keitai Web

ご自分の体験から何かを教えてくれています。

全国のオヤジランナーよ。速く走れば走るほど上半身の重要性がわかるね。この前トラック走った翌日、腕の筋肉に筋肉痛が起きたよ。まだまだ鍛える所はたくさんあるんだね。ただ走るだけでも奥が深いよ。 #run_jp #ivanovMon Jun 21 02:20:56 via Keitai Web

今日も僕は@honekawaivanovさんにつぶやきに何かを学ばずにはいられないのです。

【Struts】Javascriptでサブ画面をAction経由で起動する方法


おそらく知っていればなんてことはない話なのでしょうが...。

業務システムなどで項目の検索画面って結構必要になります。アイコンクリックで子画面がでて、子画面で選択した内容を親画面の項目にセットするみたいな。こんなシステムを今作ってたりします。
その子画面をJavaScriptで表示するとき、"window.open()"か"window.showModalDialog()"を使うと思いますが、その時にStrutsフレームワークの流れにそってActionを経由し、画面を表示する場合のやり方です。

  • ブラウザはIE7
  • Java Strutsフレームワーク使用

window.open()の場合

//空でwindowをopen
var subwin = window.open('', 'windowname'); //第三引数は省略
subwin.focus();
//起動したいActionをXXX.doで記述
form.action='hogehoge.do';
//Action後の遷移する画面を表示するwindow名を上でopenしたwindow名にする
form.target='windowname';
//サブミット
form.submit();

formのサブミットターゲットにサブ画面を指定することでアクション後の遷移先画面を表示することができます。親画面のonfocusイベントで子画面の存在チェックをして、!=NULLならclose();とか。逆に!=NULLなら子画面にfocusするようにすればモーダルを擬似的に表現することができますが、画面が結構ちらつきます。

window.showModalDialog()の場合

var subwin = window.showModalDialog('hoge.do', window); //第三引数は省略

» JAVA: strutsでpopup( showModalDialog )

モーダルで表示する場合は第一引数にXXX.doを指定します。第二引数には親であるwindowオブジェクトを渡すことで、サブ画面から親画面のエレメントにアクセスすることができます。
また"hoge.do"では実際は動かず、

"<%= request.getContext(); %>/hoge.do"

のように指定しないと実行時に404になりました。

セッションがおかしいのはIEのせい?

現在手伝っているシステムはActionクラスの先頭でセッションチェックをして、タイムアウトであればログイン画面に遷移する処理をいれているのですが、このような場合、showModalDialogだとログイン画面に遷移し再度ログインして再びサブ画面を表示しようとしたときに、そのサブ画面だけ別のセッションで動いているという、なんだかよくわからない動きになっていました。
なので、再度ログインしているのに、サブ画面を表示しようとすると別のセッションなもんだから、ログイン情報がないよとセッションチェックにはじかれてしまう...。
showModalを使ったときのセッション問題はIE独自のものだそうです。というかshowModal自体もIE限定(現在はFirefoxもサポート?)ですかね。

この問題については、こちらが参考になるかと。
» 問題だらけのshowModalDialog

ということで、Strutsがらみの話でしたが、ASPでも参考になるみたい...。

FLORA再起動計画(#002) — Linux “CentOS”をインストールするの巻

» FLORA再起動計画(#001) — Linux “CentOS”をインストールするの巻
続きまして、ポイントまとめです。

参考サイト

ほぼこちらで書かれている通りに実施。
» CentOS5.1を低スペックPCにインストールする方法

取り出したHDDにLINUXのISOイメージをコピーしたりするPCについて

今回のHDDインストールですが、別途母艦となるLinuxマシンが必要になります。僕の場合はWindowsにVMWareをインストールし、そこにCentOS5を入れた状態で対応しました。

外付けUSBハードディスクの取り扱い

参考サイトとは違い、僕の場合は内臓HDDを取り出し、母艦PCにUSB接続しました。
この場合、母艦CentOS側でのHDDの認識がちょっと違うらしく、こちらのサイトを参考に調べながら進めました。
» [Linux] 外付けUSBハードディスク全体をext3でフォーマットする方法
» USBのハードディスクを接続するには

最初はこのUSB接続のHDDがどこにあるのか、どうやってマウントするのかすらしらなかったので、この辺で数日を取られましたが、知ってしまえばなんのことないですね。

マウントできてしまったあとの手順は参考サイトどおり。パーティションもフォーマットも問題なく実行できます。

注意する点としては、マウント先が違ったり、外付けUSBのHDDで僕の場合は、"sdb"と認識していたので、そのあたりの実行ディレクトリなんかは自分の環境にあったように変更して、実施する必要がありますので注意。

ISOイメージをホストOS(Windows)からVMWare上のCentOSへどうやってコピーするの?

CentOSのISOイメージをHDD側に置いておく必要があるので、ホストOS側(僕の場合はVMWareが動作しているWindows上で、CentOSのISOイメージが置いてあるディレクトリ)からVMWare上のCentOSで認識しているUSB外付けHDDにどうやってコピーしたらいいのか?ということがわからなくて。

これは無理やり。WindowsのサービスでExd2Fsdというものがあります。
» WindowsでLinuxパーティションを読み書きするには(Ext2Fsd編) − @IT

このフリーソフトをインストールし、サービスを立ち上げ、外付けUSBHDDをWindows側に認識させた状態で、上の手順時に作成したインストール用ディレクトリの所定の位置にISOイメージをコピー。これでOKです。Exd2fsdを使用すると、ディレクトリに余分なファイルが作成されるので、サービスを停止した後、余分なファイルを削除しましょう。

GRUBのインストール

GRUBのインストールは説明されている手順どおりでOKですが、コマンド実行時のインストール先ディレクトリと、インストール元?の変更は自分の環境にあわせて。
VmWare上でCentOSを動かしていると、メインとなるHDDのIDがhdbではなかったので、たしか、・・・hdb1。そこを変更しないと実行時にエラーになりますので注意。

grub.confファイルの作成で、注意点があるとしたら、タイトルを変更するくらい。ここでいうタイトルとは、インストール実行時に画面に表示されるインストーラーのタイトルです。ISOイメージとあわせておかないと・・・なんてことはないと思います。

母艦からHDDをはずして、元のPCに接続してハードディスクから起動

元にHDDを戻して、インストールを実行します。マシンを起動して、HDDから起動。途中の画面で"Installation Media" のところで "Hard Drive" を選びます。そのあと、ISOイメージを選択する画面が表示されるのですが、ここで少しはまりました。

ISOイメージ選択画面では、パーティションがすでに選択されているので、ISOイメージが置かれているディレクトリを入力するのですが、これがわからなくて、"hdb1"とかばっかり入力して、できないできない。ISOイメージは/hdb1/root/としてやればいいということに2日掛かりました。これも経験だ。

ここまできたら、あとはインストールの作業。インストールはCentOSで自宅サーバー構築を参考にします。僕の場合、一度CentOS5を入れたときにパッケージのエラーでインストールに失敗したので、今回はパッケージはまったく何もいれませんでした。開発ツールすらも。それはあとあと困ったので、開発パッケージ位はいれるべきですね。

まとめ

やっと動きました。正直できるか不安でしたが。CrusoeCPUでLINUX。Vineをインストールして、マシンが立ち上がらなくなってから2年。時間かかりすぎました。そもそもなんでLinux入れようとおもったとか、そういうことはすっかり忘れてました。作業時間は早朝にやっていたので、インストールに成功してログインできるまでに1週間以上はかかっています。でも、勉強になったなった。

ここまで参考はすべてWEBから。オープンソースなだけにLinux情報は粘ってぐぐれば何かしらのヒントが見つかります。僕と同じようなことをこの時代にする人はきっと少ないと思うし、やる人がいてもきっとビギナーではないと思うので、この記事が役立つかどうかわかりませんが、誰かがググったとき、役に立てばいいなぁと思います。

インストール後はサーバーとして機能させるためにセキュリティの設定などをCentOSで自宅サーバーを参考に作業しています。快適快適。

さて、このLinuxインストール作業は別連載のPHP修行のための準備でもありましたが、思いのほか時間がかかってしまった。けど、やっぱりやってみなければ理解できないことばっかりだなぁと思いました。

ということで、これにて日立フローラ再起動計画は終わりです。
最後にこのフローラを提供してくれた@mo3に感謝!

FLORA再起動計画(#001) — Linux “CentOS”をインストールするの巻

スペックオチしたマシンの再利用ということで、過去にVine Linuxをインストールしたものの、その後全く起動しなくなっていた、日立フローラを再起動することにしましたよ。

日立フローラ

まもなく発売から10年くらいになりそうなモデルです。
» FLORA 210W NL3

Hitachi FLORA
Hitachi FLORA

CDドライブ内蔵してないので、とっても薄いのが特徴です。B5サイズ。CPUはCrusoeというインテルでもAMDでもない、トランスメタ製です。

Extermal HDD Conecter
HDDは1.8インチサイズで薄い。昔のiPodにも使われていたようです。

インストールまでの道のり

流れ自体はここを参考にします。もう超参考。
» CentOS5.1を低スペックPCにインストールする方法

僕のフローラはCDドライブというものがないので、Linuxをインストールするにはネットワークインストールか内蔵HDDを取り出してやるかのどちらか。僕はHDDを取り出しました。

■HDDコネクタ形状の違いで長い年月
この1.8インチHDDの接続部のコネクタ形状で長い間、再起動計画が凍結状態にありました。
というのも、フローラから取り出したHDD、東芝製ですがコネクタの形状はいくつもあるという代物。LIFやらZIFやら、最終的にわかった東芝独自規格やら。その違いに翻弄されて、僕はいくつもUSB接続用のパーツを購入しちゃいました。無知とは損ですね。ですが、どうにか上の写真のようにUSB接続で別PCに接続することができるようになりましたよ。

こちらが最終的に見つけた代物。
» 1.8インチHDDto2.5インチIDE変換アダプター大

上のものを差し込んでUSB接続するモノがこちら。
» 東芝製1.8インチHDD専用モバイルケースUSB2.0対応ZIFコネクタ専用

■Crusoeには5.4はインストールできない??

FLORA setup
こちらはCentOS5.4のインストール画面です。一度目に挑戦したときはCentOSの最新版をインストールしていたのですが、後半にエラー登場で続行不能になりました。
というのも、

不明瞭なアーキテクチャのパッケージです <再起動>

というようなエラーが登場。うおー。困ったのでググッてみると、こちら。
» VAIO-U1にCentOSを入れてみる(FIXED)

どうやらCentOS4だったらいけるのか!ということがわかったので、4の最新版4.8を落として再チャレンジ!
FLORA setup
しまった!"Welcome"の文字がキレてる orz
カーネル読み込まれてるみたい・・・。

FLORA setup
ログイン!ということで、無事にインストールして起動することができました。

明日以降、困ったポイントまとめてみたいと思います。

1Password For WindowsのFirefox extentionのアイコンがチープに…


ベータ版がリリースされてから、もうすぐ2ヶ月の1Password For Windowsですが、先日アップデートをしたところ、Firefoxに登録されるアイコンが下の画像のように、チープな感じになってしまいました。
20100618_1password_

ベータ版だからなのか、それともWindowsだからか。
作成元のアジャイルのサイトがこちら。
20100618_1password_004
画像にあるように「鍵穴と鍵」のアイコンだったはず。

前にどこかでブラウザのスクリーンショットを取ったのを思い出して過去記事を探してみたところ、こちらの記事中で使っている画像にしっかりと「鍵穴と鍵」アイコンが写っていました。
» 1Password For Windowsのもんすごいアップデート!

機能的にはアップデートも繰り返され、大きなバグもなくなっており使い勝手は非常によいのですが、ですがなんだかちょっぴり寂しい感じがしちゃいますね。(シクシク)