2008年11月27日木曜日

健康診断

入社前に健康診断をしろということなので健康診断に行ってきた。

まだ20台だし、そんな問題は無いだろうと思ったら・・。

血圧が高すぎました。

今日から食生活を考えてみようと思います。

来年度から食生活改善ブログになったりして。

2008年11月26日水曜日

最適化オンラインソルバー

最短路だけではなく、様々な最適化問題用オンラインソルバーの仕様について以前行った作業があまりまとめられてないのでまとめてみる。

・基本は現在のSDPAオンラインソルバー

入出力はほとんどの場合、テキストファイルによる入出力であるため、変数化して、追加作業が楽なようにする。

現時点で、タイトルや結果をメールで送るときの文面をのぞいては、ほとんど作業が終わっている。

solver/common_data.php

にソルバーのディレクトリと表示されるタイトルを書く。

solver/ にそのディレクトリを作り中にstatus.phpを書く。

これで、メインページにはそのソルバーが追加され、ファイルのアップロード等もできる。
パラメータファイル等の記述もあるため、それらの心配もすることはない。

あとはexecute.phpのページに実行のコマンドを書く必要がある。ここもなんとか共通化したい。

2008年11月24日月曜日

各バージョン

shortest path online solverも当初に比べて、色々な種類が出た。

個人的には、経由点指定バージョンとKMLバージョンがおすすめである。
viaバージョンは当然だがP2Pバージョンと同じ結果を出すことができる。(地図データによって計算に時間差はでるが)

また、KMLバージョンはダウンロードしてしまえばオフラインでできるということ。また、GoogleEarthは快適に動くので操作する上でも見やすい。
しかし、それらをあわせたKMLの経由点バージョンは様々な理由があり、まだ出ていない。

2008年11月23日日曜日

経由点バージョンその15

先日の通り、Operaでは右クリックできない。(設定を変えればできるかはユーザーではないので不明)

そこでOperaでは別処理として、最後のマーカーを削除するボタンをつけた。
これですべてのブラウザで最低限の機能は出そろった。

2008年11月22日土曜日

経由点バージョンその14

思っていたより時間がかかってしまったようだが、無事削除機能を備えた経由点バージョンも公開された。(正確には更新か・・。)

バグというバグは見つからなかったが使ってるマシンのIEがおかしかったため、各ブラウザの動作確認が遅れてしまったのが原因。

ブラウザによる問題は色々経験しているが、IEで起こるトラブルだけは原因不明で対処のしようがないから困る。

また、Operaでは右クリックで画像を表示とかのダイアログが出てしまう。
これは本家Google Mapsでもなってしまうのでこちらでは対応しにくい。

やはり無難に推奨ブラウザであるFirefox,Safari,Google Chrome辺りを使ってもらいたいというのが希望。

2008年11月21日金曜日

経由点バージョンその13

苦戦するかと思われていた処理もあっさり。


・消すマーカーがどのマーカーかをループで判定する。
・値をずらす
・マーカーの再作成
・マーカー数を1減らす
・終了

特にバグがなければこのまま公開になりそうだ。

2008年11月20日木曜日

経由点バージョンその12

マーカーの番号変更の方法を考える。

マーカーのアイコンは、番号が上に振ってあるわけではなく、自分で1~10まで用意している。
すなわち、マーカーの番号を1個ずらすためには

・前のマーカーを移動する
・今あるマーカーを削除し、同じ場所に新しく作成し直す

のどちらかの操作が必要である。

後者の処理もそれほど負担がなかったのでそちらを採用することにした。

2008年11月19日水曜日

経由点バージョンその11

これがこのバージョンの大きな仕様では最後の作業。

取り急ぎ削除の対応をしたが、今回は削除のバージョンアップといったところ。
機能は以下のような感じ。


・右クリックでどのマーカーを削除しても良い。
・削除したマーカーより後ろのマーカーは番号が一つずれるのでマーカーの番号を変更する。
・それに対応する変数の値を全て1つずらす。

これで削除に関しては問題ないであろう。作業を進めるのみ。

2008年11月18日火曜日

経由点バージョンその10

経由点指定バージョンで
いつの間にか最後のマーカーを右クリックすると消せるようになっている。

1 -> 2 -> 3 -> 4

とあると4だけ消せる。2を消したければ 4 -> 3 -> 2 と順番に消さなければならない。

ちょっと不便な気もするが、通常のviaバージョンから全てクリアの機能を削除しているだけなので大幅機能ダウンではない。

気づいていない方もいるかもしれないが、この経由点指定バージョンではドラッグしてアメリカの外にマーカーを持って行くとドラッグ前の点に戻るようになっている。

ちなみに、通常のGoogleMaps版では変更なく消滅する。

2008年11月17日月曜日

Safari3.2

がでたらしいので、一応動作確認。
一通りやってみたけど全バージョンでとりあえず問題ない。

Safariは表示が綺麗で意外に速いので、推奨ブラウザの1つである。

ちなみに推奨ブラウザは
Firefox,Safari,Google Chromeの3つらしい。

どうしてもという方はOperaも対応ブラウザ。

IE8は何度も書いてるが動作が怪しすぎるのでShortest Path Graphicでの使用はやめた方がよい。

2008年11月16日日曜日

経由点バージョンその9

引き続き作業中。

最後においたマーカーを消す場合、

現在のマーカーの個数を1個減らす。
最後のマーカーの緯度経度を0にする。

で処理すれば問題はない。

最低限これだけの機能はつける予定。


途中のマーカーを削除したい場合どうするかは模索中。

2008年11月15日土曜日

経由点バージョンその8

経由点バージョンのマーカー削除の作業を行っている。

基本的には使われていない右クリックによる動作で実現する予定。

GoogleMapsのイベントでは、

GEvent.addListener(map,"singlerightclick",function(point,src,overlay)){

処理

}

で実現できる。
マーカーを右クリックするとoverlayが指定されるため、

map.removeOverlay(overlay);

とでもやればマーカーが消えるだけならなんの問題もない。

2008年11月14日金曜日

経由点バージョンその7

管理を楽にするために、経由点バージョンの最大点数の指定を変数化した。

これで、1カ所変えるだけで移行できるため、マシンの拡張等があってもすぐに対応できる。

当たり前と言えば当たり前の作業だが、意外に手間取ってしまった。

JavascriptでFormの配列を読み込むには

document.form1.elements['hoge[' + (i) + ']'].value

にしなければならないらしい・・。
やればやるほどJavascriptがわからなくなってくる。

あと、PHPとJavascriptの連携ってのは面倒です。。

2008年11月13日木曜日

経由点バージョンその6

計10点まで対応。

このくらいならさほど速度の差を感じずに実行できる。
これ以上増やす意味もあまりないのでとりあえず10点で固定しておくことにする。

あと、経由点バージョンに足りないのは点の削除くらいだろうか。

2008年11月12日水曜日

経由点バージョンその5

公開されている経由点バージョン。

実際に使ってみると、通常版とあまり速度の差を感じられない。
5点くらいなら問題ないということか。

ちなみにIE8では相変わらず表示されたり表示されなかったりする。

2008年11月11日火曜日

経由点バージョンその4

開発が進められていた入出力ともにGoogleMapsを用いた経由点バージョンが週末には公開されていたようだ。

先日書いたようなバグもそれに伴い修正されている。
どうやら今までのバージョンにも番号付きマーカーを利用するような設定にしたようだ。


新しいバージョンでは経由点を3個(すなわち合計5点まで)までしか指定できないのが残念なところ。
近いうちには10点くらいまでは対応するだろう。

2008年11月10日月曜日

経由点バージョンその3

出力だけGoogleMapsバージョンではfromEncoded機能を使っていなかった。
そこで、今回の機会でこちらも書き直すことに。


あれ?一部線が表示されていない。

おかしいと思って前のソースと見比べてみてもなんで正しく動くのかなぁと小一時間考えてしまった。

結局前のソースもおかしかったというオチ。

きちんと動いてたと思ってたんですが動いてなかったみたいです。

今までバグありのまま表示されてたようで早急に修正予定。

2008年11月9日日曜日

経由点バージョンその2

GoogleMapsで、番号付きマーカーを利用する方法は以下の通り。

1,番号付きマーカーのアイコンを準備する。
2,アイコン指定する。

これだけでよい。
念のためコマンドを書いておくと、

var num = 1;
var icon = new GIcon();
icon.image = "./marker" + num + ".png";
icon.shadow = "./shadow.png";
icon.iconSize = new GSize(20,34);
icon.shadowSize = new GSize(37,34);
icon.iconAnchor = new GPoint(10,34);
icon.infoWindowAnchor = new GPoint(10,0);

var newMarker = new GMarker(point,{icon:icon , draggable: true});

細かい説明は省くが、必要な値が入っていないと、ドラッグできなかったり表示できなかったりするので注意が必要。
特にドラッグが必要ない、影も必要なければ
icon.image
icon.iconSize
icon.iconAnchor
だけ指定すれば良い。(試してないですが)


番号付きマーカーの作成には
http://www.lumiere-couleur.com/pub/soft/markers/

のサイトが便利である。

2008年11月8日土曜日

経由点バージョン

経由点バージョンの開発が進んでいる。

通常の経由点バージョンでは

座標 -> 座標 -> 座標

となっているテキストをそのまま送って文解析していた。
GM版では、番号付きマーカーを利用して具体的な緯度経度は表示されないようになっている。

具体的に知りたい人は、マーカーをクリックすれば通常通り見ることができる。

2008年11月7日金曜日

ありそうでなかった

ありそうでなかったShortest Path Graphic GMの経由点指定バージョン。

コソコソと作り始めているらしい。

入力画面の変更が必要なため後回しにしてそのまま忘れ去られていたが、今思えばそんなに難しくはないので近いうちに公開予定とのこと。

2008年11月6日木曜日

Operaの修正

原因を一から探ってみると、
最短距離は表示されるが最短時間が表示されないことがわかった。

その辺に原因がある(Operaで読み込んでくれない)のだろうと推測し、ソースを書き直す。

色々事情があり、それぞれ独立させていたのだがこれを機に関数化してまとめてみたところ普通に動いた。
他のブラウザでも問題ないため、結果的に見ればソースが綺麗になってOperaも動くし良かった。

ちなみに相変わらずIE8では動かない。完全にIE8のバグで対応策も一応公開されてますが、面倒なので後回し。確認のため言っておくと、正式版のIE7では問題ない。また、IEでの実行は推奨していない。

2008年11月5日水曜日

Vine4.x

ちょっと話題がそれてVineの話。
日本語の表示が綺麗で動作も軽く、リモートアクセスで使う分にはなんの不自由もないVine。
別にVineにこだわってるわけではないが5.xの登場が待ち遠しい。予定が遅れてるらしく来年の頭になりそうな感じ。

Vine4.xではFirefox3に対応していなかったが、今は対応済。

apt-get install Firefox3

でインストールできるようだ。Firefox2との共存も問題ない。
どこかの会社が作ったOSドッキングブラウザみたいに前のバージョンが使えなくなることもないので心配ない。

Shortest path Graphicも試してみたがやはり3の方が圧倒的に早い。

仮想マシンのせいなのかOSのせいなのかブラウザのせいなのかはわからないが、WindowsのFirefox3の方が実行が早い気がする。

中のプログラムは速いのがいいが、オンラインソルバーのようなものは様々な状況が関わってくるので体感時間も重要視しなければならない。
最終描画まで同じ時間でも表示のタイミングを変えるだけで印象が大きく変わるのが怖いところ。

2008年11月4日火曜日

Opera

IE8の次はOperaも挙動がおかしい。

both表示の時にtimeの方が表示されない。こちらは原因究明中。
Encodedバージョンのせいだとは思うが、片方が表示されるだけに微妙。

IEは初心者ユーザーと、IEコンポーネントを利用したタブブラウザを使用してる人、Operaは根強いユーザーがいるだけに無視はできない。

IE7は問題ないからまだβ版な8の対応は後回しだが、そう遠くないうちには修正したい。

2008年11月3日月曜日

IE8その2

IE8はどうやら挙動が怪しい。

Firefoxとかでも同じ警告かどうかはわからないが原因不明の警告だけで表示は問題ない。
Chromeや、Safari等でも表示される。

IE7でも問題は起きない。というかIE7では警告すらされない。

そんな状況。


確かに善意だけのページではないので細かい警告すら許さないのも重要ではあるが。
0行目に警告があると言われてもどこにあるのかと逆に問い詰めたい気分。