2009年2月25日水曜日

Safari4

Safari4のベータ版が出たので試してみた。

Javascriptが4.2倍高速ということで、最短路オンラインソルバーを実行。
確かに速い気がする。Chromeより速いかも。

SDPAオンラインソルバーの実行も問題なし。

ちょっと使っただけだが、途中強制終了したりしてまだまだ不安定かもしれないが正式リリースまでには直るだろうし、期待していいのかもしれません。
しばらくはChrome+Firefoxでほとんど不便はないですが。

2009年2月20日金曜日

SDPAオンラインソルバーの変更12

実行画面において
dataファイル、paramファイルをtmpディレクトリにコピーして実行しているため、ファイル名がおかしくなっている。
そこで、実際にリアルタイムで表示するときにその部分をファイル名に変更。

また、実行終了後はsedコマンドでその部分で修正してどこのディレクトリで実行したかはわからないようにしている。

念のためセキュリティ的な面の強化のような形。

2009年2月19日木曜日

SDPAオンラインソルバーの変更11

余計な改行が多いので、再び修正。

preで囲めばいいっていうオチ。

とはいえ、改行文字でいったんsplitして、改めてそれぞれに改行を加えて頭にpreをつけることで元のファイルのように動作する。
元のファイルの改行コードにはなにかしらうまく読み込まない要因があるのかもしれない。

とりあえずはこれで解決。

2009年2月18日水曜日

SDPAオンラインソルバーの変更10

Firefoxで改行されないのはまずい。
また、数MBの結果を全て表示してしまうのはブラウザを重くする要因であり、非常によろしくない。

というわけでその2カ所を改善。

両方合わせて対応するために、prototype.jsを捨てて別の方法を使用。
ファイルの文字列をいったん\nでsplitして配列化し、それぞれを

タグで括ってやりさらに\nを追加して新たな文字列としそれらをつなぎ合わせる。

どちらにせよ、ファイルを全部読み込みに行ってしまうため、数MB読み込んだ後に表示されることになる。表示で固まることはないが、後1歩力及ばずorz
ブラウザがフリーズしないのとFirefoxに対応したのは進歩か。
代わりにOperaで動作しなくなったのでそちらの対応も検討中。

下の参考先は他のタグも含め対応しているがこちらはOutputファイルに限定されるので、必要最低限だけ導入。

参考:
http://suzuqi.net/suzuqi/000567.html

2009年2月17日火曜日

git

gitをVine4.2にインストールするには、

http://kernel.org/pub/software/scm/git/

より新しいバージョンを持ってきて、

configure,make,make installすればよい。

installできない場合、

apt-get install zlib-devel
apt-get install curl-devel
apt-get install expat-devel

してやればよい。

参考:http://granzchesta.blog.drecom.jp/archive/739

2009年2月15日日曜日

IEのテキスト表示

IEが新SDPAオンラインソルバーの途中経過の読み込みができないという件。

原因はよくわからないキャッシュによるもののようだ。
1度読み込んだファイルを再度読み込みに行くときURLかファイル名のみで判断してキャッシュだかTempファイルだかを読み込みに行ってしまい結果的に、最初の空白のファイル以外何も読み込まなくなり再読込の効果がないという感じ。

効果的な対策はIEを使わないこと。

しかし、キャッシュとかなくてもinnerTextの表示はIEが他のブラウザより速いのは認めざるを得ない。使い道がないが。

2009年2月14日土曜日

SDPAオンラインソルバーの変更9

気づいている人もいるかと思うが、ファイル管理のページに、File Viewのリンクをつけた。
リンクと言ってもリストの下にそのファイルを表示するだけの機能。
実装の理由は途中経過の取得ができるため、わざわざDownloadするまでもないファイルを見ることを可能にするため。
目的であるDownloadファイルにしかつけていないがつける気なら他のファイルにも簡単につけることができる。

以下はブラウザの動作確認。

Chrome 表示問題なしだが、ファイルサイズが大きいと背景が消える。特に問題なし。
Firefox 改行されないため見にくい
Safari 完璧
IE7  完璧
IE8  完璧
Opera  遅すぎ  

背景が消えるのは逆に見やすくなるから良いという噂も。
テキスト処理はIEも速い。テキストの読み込みから書き出し(innerText)までの速さならこの中では最速かもしれない。
Operaが時間かかりすぎとFirefoxが改行されないのが弱点。

2009年2月13日金曜日

SDPAオンラインソルバーの変更8

旧SDPAオンラインソルバーはある程度の大きさのファイルができた時点で計算が終了したと判定している。
新システムでは、途中経過を取得するのでその判定は好ましくなく、イテレーションごとにファイルに書き込む必要がある。

また、実行状況の更新時間をデフォルトを5秒として、変更可能にした。
大きめの問題なら10秒くらいで十分である。

2009年2月12日木曜日

SDPAオンラインソルバーの変更7

SDPAオンラインソルバーの裏サーバーでは開発が進んでいる。
途中経過等も表示される予定だが、前回書いたようにいくつか問題点もある。

その原因は出力ファイルが計算途中なら比較的小さいものだが、最終的には数MBになることである。
さすがにナローバンド帯でその転送は厳しいので、ほぼ間違いなくブラウザが固まってしまうだろう。

メインページに途中経過を表示するか否かのオプションをつける方が無難そうだ。
もしくは読み込むファイルの容量制限を掛ける方法も考えられるが実装は大変か・・?

2009年2月7日土曜日

SDPAオンラインソルバーの変更6

Javascriptによる自動更新機能(2秒おき)を追加してみた。

各ブラウザに対しての動作確認

Chrome 想定通り動作
Firefox 改行はされないが想定通り動作
Safari 自己防衛?のためかファイルが大きくなったとき、ファイルの後半を読み込んでくれず。経過を知る上では十分動作。
Opera 自己防衛も働かず読み込みも遅いため2秒おきでは固まる。
IE 予想通り動作せず。

今回の機能ではChromeの圧勝であった。ファイルサイズが大きい場合の読み込み速度が他ブラウザに比べ速いのが勝因か。

Safariは自己防衛が働くだけましだが、Operaは固まって読み込みに2秒以上かかり、また固まりの負の連鎖。

Operaでは手動更新にすることにした。

IEのために別に書き直すのは面倒なのでそれは後回し。ほんと面倒なブラウザだ・・。

裏サーバーので問題以外をTESTを選び、CPUを1にすれば、誰でも実験することができる。

2009年2月6日金曜日

SDPAオンラインソルバーの変更5

引き続き変更中。
Firefoxで動かなかった原因は発見。

innerTextはFirefoxでは使えないとのこと。

仕方ないのでtextContentを使用。
改行がうまくされないのが欠点だが進行状況は一応わかる。
Chrome,Opera,SafariではinnerTextを用いているので問題なく改行も表示できる。

IEは言うまでもなく動かない。

あとは自動更新の実装と、ファイル管理ページに計算中のファイルのビュー画面みたいなのがほしい。
それでとりあえずは最低限の機能といったところか。

2009年2月5日木曜日

SDPAオンラインソルバーの変更4

途中経過を取得できるようになっている。
しかし、インターフェイス等の変更がないため、ファイル管理ページから見るしかなかった。

実行ページに途中経過を見られるようになっているものを開発中。
Chrome,Safari,Operaでは動くがFirefox,IEではどうもうまく動かないようだ。。

原因を探さねば。IEはいつものことだが、Firefoxが動かないのは久々な気がする。

2009年2月4日水曜日

SDPAオンラインソルバーの変更3

Rubyを用いたバージョンが一応動くようになっている。
今まで動いていた計算が完了したらメールを送信する機能は(今のところ)使えない。

しかし、代わりに計算過程がわかるような仕様になっており、ファイル管理のページで計算途中のファイルを開くとその途中経過が見られる。F5などで更新すると容量が増えていくことがわかる。
別サーバーでソルバー、クラスタの選択でTESTを選べば一応今の時点でも試すことができる

2009年2月3日火曜日

卒論発表

だったみたいです。ノーコメントで。