IEが他のブラウザと違う挙動をしやすいのでIEのみ別のページに飛ばすようにした。
<?php
$HTTP_USER_AGENT = getenv( "HTTP_USER_AGENT" );
if( ereg( "MSIE", $HTTP_USER_AGENT ) ) {
header("location:ie_senyou.php");
}
?>
逆にIEのページからはeregの部分を否定にして元のページに飛ばすようにしたのは言うまでもない。
参考:http://blog.caraldo.net/2007/07/php.php
2008年6月29日日曜日
問題
公開から大きなトラブルもなく微妙にバージョンをあげてきたと思われていたShortest Path Graphicだが、ここにきて、大きな問題が見つかってしまった。
IEでの座標の取得に支障が出ていたのに全く気づかなかった。
小さい地図では問題ないんだが大きな地図や画面を小さくしたときに影響が出る。
なんとかしなければならないが対策が思いつかない・・・。
IEでの座標の取得に支障が出ていたのに全く気づかなかった。
小さい地図では問題ないんだが大きな地図や画面を小さくしたときに影響が出る。
なんとかしなければならないが対策が思いつかない・・・。
2008年6月28日土曜日
ナローバンド
日本ではブロードバンドが普及しナローバンドはあまり見なくなった。
しかし、海外ではまだまだそういった環境も多いためShortest Path Graphicでは海外ユーザーのためにそのような環境も作成する予定。
現バージョンとの違いは以下のようにしようと考えている。
・1600の解像度の画像を800に変更。
・結果ページにおいて、現在はpngファイルの合成をしてから表示しているが、少し前に書いた透過の技術を用いて実装。
解像度を落とすのは根本的対策で、結果ページの方法はキャッシュから画像を読み込んでもらうことにより、表示を早くしようという考え。
また、時間がかかってもいい人用に解像度3200といったものを用意してもいいかもしれない。
しかし、海外ではまだまだそういった環境も多いためShortest Path Graphicでは海外ユーザーのためにそのような環境も作成する予定。
現バージョンとの違いは以下のようにしようと考えている。
・1600の解像度の画像を800に変更。
・結果ページにおいて、現在はpngファイルの合成をしてから表示しているが、少し前に書いた透過の技術を用いて実装。
解像度を落とすのは根本的対策で、結果ページの方法はキャッシュから画像を読み込んでもらうことにより、表示を早くしようという考え。
また、時間がかかってもいい人用に解像度3200といったものを用意してもいいかもしれない。
2008年6月27日金曜日
VMware-toolbox
VMware-toolboxがインストールされていると、ホストOSとのコピペができたりマウスの透過ができたり非常に処理がしやすくなる。
インストール方法は1年前くらいに書いているので省略するが、自動実行するには
Vine4.xにおいてはtoolboxを起動したいユーザーで
デスクトップ→設定→高度な設定→セッション
で自動起動するプログラムのところに
/usr/bin/vmware-toolbox
とすればよい。自分の場合別のワークスペースに移してしまうのでこのままだが、最小化したければ
/usr/bin/vmware-toolbox --minimize
としておけばよい。
インストール方法は1年前くらいに書いているので省略するが、自動実行するには
Vine4.xにおいてはtoolboxを起動したいユーザーで
デスクトップ→設定→高度な設定→セッション
で自動起動するプログラムのところに
/usr/bin/vmware-toolbox
とすればよい。自分の場合別のワークスペースに移してしまうのでこのままだが、最小化したければ
/usr/bin/vmware-toolbox --minimize
としておけばよい。
2008年6月26日木曜日
2008年6月25日水曜日
ブラウザ
先日ブラウザによって挙動が違うという話をした。
そのときはSafariが厳密に読んでくれたのがいいのか悪いのかはわからないがSafariのみ対応していないという状況であった。
今回はIEが読んでくれない現象が生じてIEだけ対応できないという状況になってしまった。
これに関してはnameを指定していなかったからなのだが、残り2つのブラウザはこれらを考慮して読んでくれていた。一つしかないのならこれを読んでほしいものだが、まぁ仕方がない。
Ajaxが流行ってきているが一番の問題はこういったブラウザ間で挙動が違うクロスブラウザ問題を考慮しなければならない。
とはいえ、ブラウザを何個もインストールしているのはちょっと悲しくなる。
そのときはSafariが厳密に読んでくれたのがいいのか悪いのかはわからないがSafariのみ対応していないという状況であった。
今回はIEが読んでくれない現象が生じてIEだけ対応できないという状況になってしまった。
これに関してはnameを指定していなかったからなのだが、残り2つのブラウザはこれらを考慮して読んでくれていた。一つしかないのならこれを読んでほしいものだが、まぁ仕方がない。
Ajaxが流行ってきているが一番の問題はこういったブラウザ間で挙動が違うクロスブラウザ問題を考慮しなければならない。
とはいえ、ブラウザを何個もインストールしているのはちょっと悲しくなる。
2008年6月24日火曜日
Windows Update
自分のブログによくWindows Updateができないというトラブルで流れてくる人がいる。
エラーのログが「%windir%/WindowsUpdate.log」(ファイル名を指定して実行で打ち込めばよい)というところにあるので、そのエラーナンバーを確認する。後はそれを適当に検索をかければよいでしょう
0x80004002に関しては昔自分も書いている。
%Windir%\system32\net.exe stop bits
%Windir%\system32\net.exe stop wuauserv
%Windir%\system32\regsvr32.exe atl.dll
%Windir%\system32\regsvr32.exe jscript.dll
%Windir%\system32\regsvr32.exe msxml3.dll
%Windir%\system32\regsvr32.exe softpub.dll
%Windir%\system32\regsvr32.exe wuapi.dll
%Windir%\system32\regsvr32.exe wuaueng.dll
%Windir%\system32\regsvr32.exe wuaueng1.dll
%Windir%\system32\regsvr32.exe wucltui.dll
%Windir%\system32\regsvr32.exe wups.dll
%Windir%\system32\regsvr32.exe wups2.dll
%Windir%\system32\regsvr32.exe wuweb.dll
%Windir%\system32\net.exe start bits
%Windir%\system32\net.exe start wuauserv
これをコピーして
ファイル名を指定して実行→cmd→でDosの窓が出てきたら貼り付ければ全部順番に実行してくれる。
昔書いたブログが役に立ってしまったというのはここだけの話だ・・。
そしてこのOSは自分のアップデートもうまくできないのですね。
参考:http://d.hatena.ne.jp/Gazebo/20070802/p1
エラーのログが「%windir%/WindowsUpdate.log」(ファイル名を指定して実行で打ち込めばよい)というところにあるので、そのエラーナンバーを確認する。後はそれを適当に検索をかければよいでしょう
0x80004002に関しては昔自分も書いている。
%Windir%\system32\net.exe stop bits
%Windir%\system32\net.exe stop wuauserv
%Windir%\system32\regsvr32.exe atl.dll
%Windir%\system32\regsvr32.exe jscript.dll
%Windir%\system32\regsvr32.exe msxml3.dll
%Windir%\system32\regsvr32.exe softpub.dll
%Windir%\system32\regsvr32.exe wuapi.dll
%Windir%\system32\regsvr32.exe wuaueng.dll
%Windir%\system32\regsvr32.exe wuaueng1.dll
%Windir%\system32\regsvr32.exe wucltui.dll
%Windir%\system32\regsvr32.exe wups.dll
%Windir%\system32\regsvr32.exe wups2.dll
%Windir%\system32\regsvr32.exe wuweb.dll
%Windir%\system32\net.exe start bits
%Windir%\system32\net.exe start wuauserv
これをコピーして
ファイル名を指定して実行→cmd→でDosの窓が出てきたら貼り付ければ全部順番に実行してくれる。
昔書いたブログが役に立ってしまったというのはここだけの話だ・・。
そしてこのOSは自分のアップデートもうまくできないのですね。
参考:http://d.hatena.ne.jp/Gazebo/20070802/p1
2008年6月23日月曜日
意見
様々なユーザーから意見をいただいているShortest Path Graphic。
海外ではナローバンドの回線も少なくないので、そういったバージョンも作った方が良さそうだ。
また、逆に高解像度版を用意してUSAでの楽しさも体感してもらうのもおもしろいかもしれない。
ただ、自分が負けず嫌いなのもあるが「ナローバンドの方はこちら」と書かれていても動作に影響がなく遅いだけならブロードバンド版の方を選んでしまう気もする。
海外ではナローバンドの回線も少なくないので、そういったバージョンも作った方が良さそうだ。
また、逆に高解像度版を用意してUSAでの楽しさも体感してもらうのもおもしろいかもしれない。
ただ、自分が負けず嫌いなのもあるが「ナローバンドの方はこちら」と書かれていても動作に影響がなく遅いだけならブロードバンド版の方を選んでしまう気もする。
2008年6月22日日曜日
高速化
今までUSAのグラフになると1分前後かかっていたShortest Path Graphicだが、10秒以内に解けるようになっている。
元々計算時間より、グラフデータの読み込みの時間が多かったため、それを削減した形。
現在はファイルを使い回しているため、表示のページを更新すると後から使用したユーザーの結果が表示されてしまうことがある。
今後の方針としては、クエリ番号をつけてユーザー数に応じて出力ファイルを残しておく予定。
元々計算時間より、グラフデータの読み込みの時間が多かったため、それを削減した形。
現在はファイルを使い回しているため、表示のページを更新すると後から使用したユーザーの結果が表示されてしまうことがある。
今後の方針としては、クエリ番号をつけてユーザー数に応じて出力ファイルを残しておく予定。
2008年6月21日土曜日
ユーザー視点
知り合いの大学1年生(理系)にShortest Parth Graphicを使わせてみた。
使い方以外の前情報を与えずにやらせてみたところ、USAを最初に実験していた。
やはり一般的に大きい地図の方が興味があるのだろう。
「山道などの速度は考えているんですか?」
と質問されたが、これは最短路なので距離が最小のものを出している。
とはいえ、グラフファイルには高速道路等を加味したものもあるとのことなのでいずれそちらにも対応するだろう。
余談だが、ブックマークしてくれたそうだ。
使い方以外の前情報を与えずにやらせてみたところ、USAを最初に実験していた。
やはり一般的に大きい地図の方が興味があるのだろう。
「山道などの速度は考えているんですか?」
と質問されたが、これは最短路なので距離が最小のものを出している。
とはいえ、グラフファイルには高速道路等を加味したものもあるとのことなのでいずれそちらにも対応するだろう。
余談だが、ブックマークしてくれたそうだ。
2008年6月20日金曜日
Shortest Path Graphicのバグ
公開時点でSafariで表示できないことをすっかり忘れていた。
携帯電話のフルブラウザでもやってみたが、できなくなっていたのに気づき(当初はできた)ソースを見直してみるとHTMLのタグのミスであることが発覚。
修正したところSafariでも携帯でも表示できることを確認。
間違ったタグを無視してなかったことにして読み込むブラウザがいいのかそれを厳密に解釈するブラウザがいいのかは別としてHTMLはエラーメッセージとかがでないので開発は非常にやりにくい。
携帯電話のフルブラウザでもやってみたが、できなくなっていたのに気づき(当初はできた)ソースを見直してみるとHTMLのタグのミスであることが発覚。
修正したところSafariでも携帯でも表示できることを確認。
間違ったタグを無視してなかったことにして読み込むブラウザがいいのかそれを厳密に解釈するブラウザがいいのかは別としてHTMLはエラーメッセージとかがでないので開発は非常にやりにくい。
2008年6月19日木曜日
Shortest Path Graphic
準備を進めていた最短路問題におけるオンラインソルバーが公開できる程度になった。
http://opt.indsys.chuo-u.ac.jp/portal/
で試すことができる。
まだまだ試作段階のため改良点は多い。同一の地図で複数ユーザーがアクセスすると2人目以降のアクセスはブロックしてしまうので実行に時間がかかるUSAの実行ではビジーになりやすいので注意していただきたい。
また、FireFox3ではWebページの座標で10程度のずれが生じてしまう。(v2では問題なし)
Shortest Path Graphic使用方法
画像の好きな点2つをクリックし、座標が2つ入力されていることを確認する。
Submitをクリックして計算するのを待てば最短路が書かれた画像が表示される。
この画像は右クリックの画像を保存などでローカルに保存することもできる。
http://opt.indsys.chuo-u.ac.jp/portal/
で試すことができる。
まだまだ試作段階のため改良点は多い。同一の地図で複数ユーザーがアクセスすると2人目以降のアクセスはブロックしてしまうので実行に時間がかかるUSAの実行ではビジーになりやすいので注意していただきたい。
また、FireFox3ではWebページの座標で10程度のずれが生じてしまう。(v2では問題なし)
Shortest Path Graphic使用方法
画像の好きな点2つをクリックし、座標が2つ入力されていることを確認する。
Submitをクリックして計算するのを待てば最短路が書かれた画像が表示される。
この画像は右クリックの画像を保存などでローカルに保存することもできる。
2008年6月18日水曜日
2008年6月16日月曜日
ShortestPath Online
をこっそりと昨日から仮サーバーで動かしている。
サーバーも実際に稼働予定のマシンにうつしてみて実行・・!
と思ったがどうも変数の受け渡しがうまくいかない。
結局php.iniの設定の問題であったがマシンが違うとそういうところも気を付けなければならない。
サーバーも実際に稼働予定のマシンにうつしてみて実行・・!
と思ったがどうも変数の受け渡しがうまくいかない。
結局php.iniの設定の問題であったがマシンが違うとそういうところも気を付けなければならない。
2008年6月14日土曜日
2008年6月13日金曜日
gfarm v2
v1のときに問題のなかった
config-agent
がエラーで止まってしまう。
/usr/local/bin/config-agent: line 232: mkcnf_agent_sysdep: command not found
/usr/local/etc/gfarm.conf: updated
created /etc/init.d/gfarm_agent
added gfarm_agent service
Starting gfarm_agent:/usr/local/bin/gfarm_agent: symbol lookup error: /usr/local/bin/gfarm_agent: undefined symbol: GFARM_ERR_NO_SUCH_OBJECT [failed]
config-agent: cannot start gfarm_agent
config-agent failure
ちょっと調べてみるとfuseかglibc-not-hiddenを入れなければならないらしいが・・。
逆にv1のときはなぜ動いていたか疑問になる。
config-agentが実行できないため
gfrun,gfgrep等のコマンドも
gfrun: symbol lookup error: gfrun: undefined symbol: gfarm_spool_server_port
gfgrep: symbol lookup error: gfgrep: undefined symbol: gfs_pio_get_node_rank
等が使用できない。どうしたものか・・。
fuseもCentOS5版があればいいのだが。
config-agent
がエラーで止まってしまう。
/usr/local/bin/config-agent: line 232: mkcnf_agent_sysdep: command not found
/usr/local/etc/gfarm.conf: updated
created /etc/init.d/gfarm_agent
added gfarm_agent service
Starting gfarm_agent:/usr/local/bin/gfarm_agent: symbol lookup error: /usr/local/bin/gfarm_agent: undefined symbol: GFARM_ERR_NO_SUCH_OBJECT [failed]
config-agent: cannot start gfarm_agent
config-agent failure
ちょっと調べてみるとfuseかglibc-not-hiddenを入れなければならないらしいが・・。
逆にv1のときはなぜ動いていたか疑問になる。
config-agentが実行できないため
gfrun,gfgrep等のコマンドも
gfrun: symbol lookup error: gfrun: undefined symbol: gfarm_spool_server_port
gfgrep: symbol lookup error: gfgrep: undefined symbol: gfs_pio_get_node_rank
等が使用できない。どうしたものか・・。
fuseもCentOS5版があればいいのだが。
2008年6月12日木曜日
GFarm2のインストール
GFarm2のインストールに戸惑っていたがとりあえず解決した。
v1に比べて若干変更があったようで、
http://filesystem.g.hatena.ne.jp/n314/
を参考にさせていただいた。
gfarm2.1.0というフォルダがあるとする。
cd gfarm2.1.0
./configure
make
sudo make install
ここまではv1と変更がない。
config-gfarm -t(root)
で問題なければ
config-gfarm(root)
を実行。
この時PostgreSQL等が起動していたらエラーが出るので
ps -ef | grep postgre
などでプロセスを確認してkillすればよい。
v1はこのままconfig-gfsdを実行していたが、
v2の場合、
gfhost -c -a x86_64-centos5-linux -n 4 -p 600 ore00.optsys.xxx.ac.jp ore00(user)
を先に実行する。
useradd -c "Gfarm gfsd" -m _gfarmfs
した上で、
config-gfsd -t
間違いなければ
config-gfsd
で完了。
gfhostについても-pでポートを指定しなければならなくなったようだ。
また、そのままで全てのユーザーで使えるわけではなく、
gfuser -c hoge hoge /hoge ""
のようにユーザーを登録しなければならなくなった。
また、config-gfarmを実行したユーザーのみはこの作業は不要である。
v1に比べて若干変更があったようで、
http://filesystem.g.hatena.ne.jp/n314/
を参考にさせていただいた。
gfarm2.1.0というフォルダがあるとする。
cd gfarm2.1.0
./configure
make
sudo make install
ここまではv1と変更がない。
config-gfarm -t(root)
で問題なければ
config-gfarm(root)
を実行。
この時PostgreSQL等が起動していたらエラーが出るので
ps -ef | grep postgre
などでプロセスを確認してkillすればよい。
v1はこのままconfig-gfsdを実行していたが、
v2の場合、
gfhost -c -a x86_64-centos5-linux -n 4 -p 600 ore00.optsys.xxx.ac.jp ore00(user)
を先に実行する。
useradd -c "Gfarm gfsd" -m _gfarmfs
した上で、
config-gfsd -t
間違いなければ
config-gfsd
で完了。
gfhostについても-pでポートを指定しなければならなくなったようだ。
また、そのままで全てのユーザーで使えるわけではなく、
gfuser -c hoge hoge /hoge ""
のようにユーザーを登録しなければならなくなった。
また、config-gfarmを実行したユーザーのみはこの作業は不要である。
2008年6月11日水曜日
htmlで画像を重ねて表示
ご存じの人も多いかと思うが、PNGやGIFといったファイルは「透過色」なるものが用意されており、後ろが透過して見えるような色(?)を使うことができる。
故に画像を重ねれば見た目合成したようにすることができるのだが、単純にhtml上にImgで並べるだけでは合成されない。
<img border=0 src="gazou.png" width=400 height=400 style="position: absolute; top:0; left:0;">
<img border=0 src="sitagasukeru.png" width=400 height=400 style="position: absolute; top:0; left:0;">
<>をhtmlタグとして認識されてしまうらしく、全角で表示しているのでコピペする方は注意していただきたい。
のように強制的に位置を決めてやってしまえば良い。
上の例だと上から0,左から0の位置に400x400で表示するという設定。
スタイルシートに書いたけどうまくいかなかったので直接貼り付けたのはここだけの話。
故に画像を重ねれば見た目合成したようにすることができるのだが、単純にhtml上にImgで並べるだけでは合成されない。
<img border=0 src="gazou.png" width=400 height=400 style="position: absolute; top:0; left:0;">
<img border=0 src="sitagasukeru.png" width=400 height=400 style="position: absolute; top:0; left:0;">
<>をhtmlタグとして認識されてしまうらしく、全角で表示しているのでコピペする方は注意していただきたい。
のように強制的に位置を決めてやってしまえば良い。
上の例だと上から0,左から0の位置に400x400で表示するという設定。
スタイルシートに書いたけどうまくいかなかったので直接貼り付けたのはここだけの話。
2008年6月9日月曜日
2008年6月6日金曜日
座標を渡す
先日の座標を取得するプログラムの件だが、一応の解決はした。
元々最短路問題において出発点と到着点を取得するのが目的であったのだが、1点のみの座標取得は容易にできるのに対し、その情報を保持しつつ2つめの点の取得にはいろいろと条件がかかってしまっていた。
JavaScriptでは静的な情報しか保存できないのが厄介。
その問題は以下のようにして解決した。
ほとんど見た目が変わらないページ1とページ2とページ3を用意する。
ページ1において座標を取得。
決定ボタンをおき、出発点の座標をページ2にわたす。
ページ2において到達点の座標を取得する。
出発点の座標はこの時点で変数に格納されているため失われることはない。
決定ボタンとクリアボタンを置き、決定ボタンを押すと二つの点の座標をページ3に渡す。
クリアボタンを押した場合はページ1に戻る。
ページ3ではそれらの座標を使って処理すればよい。
これにより問題なくプログラム側に座標を渡すことは可能になった。
グラフィック的に点をクリックするとそこが塗りつぶされるとかそういう効能があるとベストなので改良の余地は多々ある。
見た目的にもわるすぎるのでそのあたりも考慮しなければならない。
元々最短路問題において出発点と到着点を取得するのが目的であったのだが、1点のみの座標取得は容易にできるのに対し、その情報を保持しつつ2つめの点の取得にはいろいろと条件がかかってしまっていた。
JavaScriptでは静的な情報しか保存できないのが厄介。
その問題は以下のようにして解決した。
ほとんど見た目が変わらないページ1とページ2とページ3を用意する。
ページ1において座標を取得。
決定ボタンをおき、出発点の座標をページ2にわたす。
ページ2において到達点の座標を取得する。
出発点の座標はこの時点で変数に格納されているため失われることはない。
決定ボタンとクリアボタンを置き、決定ボタンを押すと二つの点の座標をページ3に渡す。
クリアボタンを押した場合はページ1に戻る。
ページ3ではそれらの座標を使って処理すればよい。
これにより問題なくプログラム側に座標を渡すことは可能になった。
グラフィック的に点をクリックするとそこが塗りつぶされるとかそういう効能があるとベストなので改良の余地は多々ある。
見た目的にもわるすぎるのでそのあたりも考慮しなければならない。
2008年6月4日水曜日
PHPとJavaScript
研究の関係でブラウザ上で画像のクリックした部分の座標を取得するプログラムを作らなければならない。
JavaScriptでの座標取得は比較的容易にできる。
しかし、その後にPHPで作業をするためにPHP側の変数として扱うためには$_GETや$_POSTを用いてページをリロードするしかない。
当たり前の話だが、PHPの変数をJavaScriptに与えるのは容易である。
JavaScriptでの座標取得は比較的容易にできる。
しかし、その後にPHPで作業をするためにPHP側の変数として扱うためには$_GETや$_POSTを用いてページをリロードするしかない。
当たり前の話だが、PHPの変数をJavaScriptに与えるのは容易である。
2008年6月3日火曜日
GFarm2.1.0
がリリースされたそうなのでインストールしてみるが、
config-gfarm
を実行するとPostgreSQLの開始時にエラーが出る。
ps -ef grep postgre
をしてみてもプロセスは消えているんだが・・。
1.4でも大きな問題は発生していないのでしばらくはこっちを使っていよう・・。
config-gfarm
を実行するとPostgreSQLの開始時にエラーが出る。
ps -ef grep postgre
をしてみてもプロセスは消えているんだが・・。
1.4でも大きな問題は発生していないのでしばらくはこっちを使っていよう・・。
登録:
投稿 (Atom)