yamada
の編集
http://sagadatabase.jp/~dbworker/devwiki/?yamada
[
トップ
] [
編集
|
差分
|
履歴
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
-- 雛形とするページ --
(no template pages)
[[DaGaAr]] ___________________________080922_________________ [作業]: - List Optionのlegendを変えられるようにした(uploadにはまだ未対応)。 - クリッカブルラベルに天体名+座標値も表示されるようにした(エクスプローラ限定)。 ___________________________080825_________________ [タイトル]:legend hiddenの問題点。Formからの送られ方が、textとhiddenじゃ違う。 --> text -> index保持、 (ウソ) --> hidden->保持しない により、indexがずれてくる。text無駄に高機能? (ウソ) 以下にindexの@lenged, @hidden_legendの動向のサンプルを示す。 -> all_plot後 =>EMP,RGB del check =>plot後の各変数とindexの状態 index: r_files: legend(text): hidden_legend: 0 _MP.dat MP MP 1 _EMP_RGB.dat EMP,RGB EMP,RGB <=送られない 2 _EMP_MS.dat EMP,MS EMP,MS 3 _Crich_RGB.dat Crich,RGB Crich,RGB 4 _Crich_MS.dat Crich,MS Crich,MS 5 _CEMP_RGB.dat CEMP,RGB CEMP,RGB 6 _CEMP_MS.dat CEMP,MS CEMP,MS -> もう一度プロットを押す index: r_files: legend(text): hidden_legend: 0 _MP.dat MP MP 1 _EMP_RGB.dat EMP,MS 2 _EMP_MS.dat EMP,MS Crich,RGB 3 _Crich_RGB.dat Crich,RGB Crich,MS 4 _Crich_MS.dat Crich,MS CEMP,RGB 5 _CEMP_RGB.dat CEMP,RGB CEMP,MS 6 _CEMP_MS.dat CEMP,MS -->legend(text)は前のindexを保持しつづけている (ウソ) が、hidden_legend(hidden)はindexつけなおされている。ので、この段階ですでにindexずれている [対策案]: - textボックスのindexが保持されるのなら、hiddenいらない (ウソ) ので、そのままでいいのだろうか?index途中でリセットされるとかはないのか?=>そこら辺をテストして、挙動を見極める必要あり。 - unvisibleなtextとか作れないのか?それをhidden代わりにすると、index揃うはず....とか。 [間違い]:上記のは、間違いでした。上記のlegendはallocate_legend_indexで並べ替えられた結果を表示していたので、indexが保持されるのは、あたり前でしたすいません。 [実際になにをすればいいか]:実際には、allocate_legend_indexでhidden_legendをはらべかえるのと同時に、legendのindexもおなじように並べ替えるようにすればいいのだろうか。 [Attention]:基本的な間違い。忘れてる?のが原因か? ___________________________080704_________________ [タイトル]:バグレポート -[N/O]vs[Fe/H]でサーチすると65天体しかHITしないのはなぜなのか? -[Eu/H]vs[Fe/H]プロットでEuのデータがあるCS22892-052天体のデータがプロットされない。 -天体名の情報のページのatomic number横軸の図でscalingしたsolar abundanceを重ねてプロットしてほしい。 -HE1424-0241の天体情報のページがない ___________________________080612_________________ [タイトル]:Upload 機能バグレポート -Upload Formでファイルupload後、Upload upload filesボタンで新たにUPしたファイルがプロットされない。 -デフォルトでupload filesがない状態ではUplad機能が機能しない [タイトル]:今まさにどのファイルがUploadされたかという取得方法 - ssupload2.cgiで、uploadしたファイル(upfile)をup_upfileという名でコピーを保存しておく、これが、Upload upload filesを押したとき、まさに今uploadされたファイルとして、すでにuploadされているファイルとは区別して扱う。その後、up_upfilesを消しておく。 ___________________________080609_________________ [タイトル]:legendが消えるのが問題でして [内容]:ユーザーがリストオプション操作をし続けることでlegendのindexがずれてどの変数とも対応しなくなるのが問題。 [目的] @plot_files, @del_files, @legendのindexを@r_filesのindexに合わせるようにする。 -[ルール]: @r_files, @plot_files, @del_filesのindexの揃え方は、_MP,_EMP_RGB等 のラベルで判断している(_allocate_index_one)一方、legendは可変(ユーザーが自由に設定)なので、これらをラベルとしては使えないのでいまどうするかが問題 <<legendの動きのテスト>> - [[CEMP,RGB -> del check:http://astro3.sci.hokudai.ac.jp/~yamada/DB/Retrieval/Fig1.png]] -> plot時の各変数+index一覧(下)がフォームから送信される index: r_files: plot_files: del_files: legend: 0 _MP.dat _MP.dat CEMP_RGB.dat MP 1 _EMP_RGB.dat _EMP_RGB.dat EMP,RGB 2 _EMP_MS.dat _EMP_MS.dat EMP,MS 3 _Crich_RGB.dat _Crich_RGB.dat Crich,RGB 4 _Crich_MS.dat _Crich_MS.dat Crich,MS 5 _CEMP_RGB.dat _CEMP_RGB.dat CEMP,RGB 6 _CEMP_MS.dat _CEMP_MS.dat CEMP,MS --> Gnuplot::_allocate_index_oneで以下のようにそろえなおす index: r_files: plot_files: del_files: legend: 0 _MP.dat _MP.dat MP 1 _EMP_RGB.dat _EMP_RGB.dat EMP,RGB 2 _EMP_MS.dat _EMP_MS.dat EMP,MS 3 _Crich_RGB.dat _Crich_RGB.dat Crich,RGB 4 _Crich_MS.dat _Crich_MS.dat Crich,MS 5 _CEMP_RGB.dat _CEMP_RGB.dat CEMP_RGB.dat CEMP,RGB 6 _CEMP_MS.dat _CEMP_MS.dat CEMP,MS -->(この段階で問題なさそうだが)続けて、 [[Crich,RGB -> del check:http://astro3.sci.hokudai.ac.jp/~yamada/DB/Retrieval/Fig2.png]] -> plotとすると、以下の情報がフォームより送信される index: r_files: plot_files: del_files: legend: 0 _MP.dat _MP.dat _Crich_RGB.dat MP 1 _EMP_RGB.dat _EMP_RGB.dat EMP,RGB 2 _EMP_MS.dat _EMP_MS.dat EMP,MS 3 _Crich_RGB.dat _Crich_RGB.dat Crich,RGB 4 _Crich_MS.dat _Crich_MS.dat Crich,MS 5 _CEMP_RGB.dat _CEMP_MS.dat CEMP,MS 6 _CEMP_MS.dat --> この段階で、すでに CEMP,RGBの行がないので、indexがplot_files, legendで途中からずれている --> plot_filesのindex=legendのindexに対応しているので、plot_filesのindexにlegendのindexを合わせればいいのではと思うかもしれないが、以下のような場合が想定されるので、そうはいかない。 -->まず、このフォームから送信された情報を以下のように(legendに関しては何らかの方法で)indexをそろえたと仮定する index: r_files: plot_files: del_files: legend: 0 _MP.dat _MP.dat MP 1 _EMP_RGB.dat _EMP_RGB.dat EMP,RGB 2 _EMP_MS.dat _EMP_MS.dat EMP,MS 3 _Crich_RGB.dat _Crich_RGB.dat _Crich_RGB.dat Crich,RGB 4 _Crich_MS.dat _Crich_MS.dat Crich,MS 5 _CEMP_RGB.dat 6 _CEMP_MS.dat _CEMP_MS.dat CEMP,MS --> 続けて、(ユーザーが)次のような操作をした場合 ---> [[EMP,MSの plot checkをはずして、:http://astro3.sci.hokudai.ac.jp/~yamada/DB/Retrieval/Fig3.png]]プロットした場合、以下の情報がフォームから送信される index: r_files: plot_files: del_files: legend: 0 _MP.dat _MP.dat MP 1 _EMP_RGB.dat _EMP_RGB.dat EMP,RGB 2 _EMP_MS.dat _Crich_MS.dat EMP,MS 3 _Crich_RGB.dat _CEMP_MS.dat Crich,MS 4 _Crich_MS.dat CEMP,MS 5 _CEMP_RGB.dat 6 _CEMP_MS.dat --> このとき、legendのindexはもう何とも対応していなくなってしまう。。。 [対策]: -?legendを固定してしまう。 -?scrolling -listの-name に-MP, -EMP_RGB,...等の名前を付けて区別する。そうすればindex合わせの概念そのものが必要なくなる -?del, plot, checkに応じて、legendのindexを1個づつUPするようなメソッドを作成して(なんとか)indexをそろえる --?は機能縮小、?は最終手段(根本的な解決のような気がするが、、)なので、?をしようとしている。。。 [感想] メンドクサイ。。。 月曜朝一作業はテンションが上がらない。 _____________________________________ 書き込んでみる。 - create_heap後alter_heapでtable updateしている。 -\/\/\/\/\/\/\/\/ 071021 \/\/\/\/\/\/\/\/ --》histgramのquick search onにした。 --》XbyY, XplusY がまだうまくいかない。 --》Retrieve_XbyYの段階でQUERY FAILEDになっている。 -\/\/\/\/\/\/\/\/ 071029 \/\/\/\/\/\/\/\/ --★updateしたらhistgramのquick searchがXbyY, XplusYの場合でもそのままうまくいったのでcommitした。 --★ロゴマークを考えた。 --★グラフィックソフトを使いこなせない。 --★間違って投票?何回押してもOKなのでは? -\/\/\/\/\/\/\/\/ 071104 \/\/\/\/\/\/\/\/ -作業:List Optionのcheck boxが働くようにした。 -変更箇所: Gnuplot.pm (#071121) --check boxに対応する@plot_files(プロットするファイルを格納)を作った。 --$r_files[$i]が@plot_filesに一致した場合のみプロットさせるようにした。 --変更箇所:Gnuplot.pm(#071104) -バグレポート --multi_selectedの場合のプロットができない。 --histogramのwidthで何も指定しなかった場合、いくら待ってもプロットされない。多分永遠に... -LOGO --濃いversionを作ってみた -\/\/\/\/\/\/\/\/ 071112 \/\/\/\/\/\/\/\/ -multi_plotのプロットを速くした(quick_search) -\/\/\/\/\/\/\/\/ 071126 \/\/\/\/\/\/\/\/ -作業: List Optionのcheck boxを有効にする(r_file[$i]:$i にindexを揃える) --変更箇所:Gnuplot.pm(#071119, #071121) --subroutineを作った --- allocate_index() : $plot_files, $del_filesのindexを$r_filesに揃えた。 --- allocate_legend_index() : $legend $linetype, $linesizeのindexを$r_filesに揃えた。 --バグ≫ --- linetypeが delcheck後空欄ができる。 --- 上のsubroutineを1つにまとめる。 @file = ({ "plot" =>1 "legend"=> "MP" .. }, {}, {}..) などどする。 --- 前にdelcheckした後、戻るボタンでplotで再びdelcheckが有効にならない。 -連絡≫12/7(金)に緊急会議が開かれる。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ___________________________080120_________________ - VistaにCygwinを入れた。 - ヒストグラムの機能を直した。 --[原因] : histogramを選択した場合、_allocate_legend_index()で、legend, linetype, line size, linestyleの並べ替えを行う際、null値になるのが原因。 プロットコマンドは、 plot "images/cgisess_f1143c963f4bd335965bb4d42cbed4cb_hist.dat" using 1:2 title "" with boxes lt lw となってしまっていた。 --[解決]: histogramを選択したとき、並べ替え(_allocate_index_one())を行わないようにした。 -バグの発見 -- 元素プロットするとき、Y軸を選ばないでプロットした場合、図が表示されない。 Y軸が選ばれていないなどの警告を出した方がいいような気がする。 ___________________________080128_________________ - 各Pageに飛べるボタンをつけた。 --Pageボタンのupper limitを1000000にもうけた。 ---正確なデータ数を取得するには、Search_Modeを実行しなければならないが、 ---このようにupper limitを設けることで、Search_Modeを実行しなくてよいので、表示速度が速くなる。 ---ユーザーがクリックしたPage NumberにHITした段階で、ループを抜けるようにしているので、page upper limitを変えても速度は変わらない。 -- commit済み。 -[?]:次の段階はボタン表示をGoogle調にするのか? _______________080303____________________________ [問題]: ファイルアップロード<input type="file">タグがあるとページの有効期限切れになる [対策1]:ページ更新切れのページを検索した。 -http://jazzoo.co.jp/blog/index.php?itemid=9 -http://chalow.net/2004-06-07-2.html -http://community.tabbrowser.jp/forum/viewtopic.php?p=6632&highlight=%C6%C3%C4%EA%A4%CE%A5%DA%A1%BC%A5%B8%A4%C7%A4%CE%A1%D6%CC%E1%A4%EB%A1%D7%A5%AF%A5%EA%A5%C3%A5%AF%A4%C7%A1%D6%A5%DA%A1%BC%A5%B8%A4%CE%CD%AD%B8%FA%B4%FC%B8%C2%C0%DA%A4%EC%A1%D7%A4%C8%A4%CA%A4%EB%B8%BD%BE%DD%A4%F2%B2%F3%C8%F2%A4%B9%A4%EB%A4%E8%A4%A6%A4%CB%A4%B7%A4%C6%A4%DB%A4%B7%A4%A4%A4%C7%A4%B9%A1%A3%B9%B9%BF%B7%A2%AA%BA%C6%BB%EE%B9%D4%A4%CE%C1%E0%BA%EE%A4%AC%CC%CC%C5%DD%A4%CA%A4%CE%A4%C7%A4%B9%A1%A3#6632 -http://virus.okwave.jp/kotaeru.php3?q=1804781 -http://www.gesource.jp/programming/etc/ie01/index.html -http://oshiete1.goo.ne.jp/qa3206000.html -http://oshiete1.goo.ne.jp/qa3234981.html -http://www.excite.co.jp/search.gw?search=input+type+file+%83y%81%5B%83W%81@%97L%8C%F8%8A%FA%8C%C0%81@%90%D8%82%EA&target=combined&look=excite_jp&Language= [結論]:「ファイルフィールド(<input type="file">がある場合は、次のページがキャッシュされません。」とのことで基本的解決になっていない。 」 _______________080316____________________________ [問題]: ファイルアップロード<input type="file">タグがあるとページの有効期限切れになる [対策2]: ファイルアップロードフォームへのリンクを張ってそのアップロードフォームでplotボタンを押すと、元のフォームでplotボタンを押すのと同じ状態することができた。これでページ有効期限切れは回避できるか? 具体的には、ファイルアップロードフォーム(upload.html)は以下のように実装した。 <?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" /> <title>アップロード用フォーム</title> </head> <body> <h1>アップロード用フォーム</h1> <form action="db.cgi?#plot" method="post" enctype="multipart/form-data"> <input type="file" name="uploaded_file"> <input type="submit" name="button" value="plot" > <!--<input type="submit" value="送信">--> </form> </body> </html> [注意点]: upload.htmlでplotをおすと同時にupload.htmlを閉じるよう実装する必要がある。又、リンク元ページでプロット情報はすでにsessionに保存されている必要がある(そうしないと、プロットでその情報だけ抜け落ちる)。 [結論]:できない [理由]:upload.htmlでplotを押すリンク元のページが更新されず、新たにdb.cgi#plotページが生成されてしまう。から、javaなどで元のページを操作する必要あり?javaはわからない。 _______________080414____________________________ [作業]:使えそうなjavascriptを作ってみた。 http://astro3.sci.hokudai.ac.jp/~yamada/sample_select_radio2.html [説明]: セレクトメニュー => radioボタンの切り替え or radioボタン => セレクトメニュー切り替え [アルゴリズム]: A1 + B1 = 0, A1 + B2 = 1, A2 + B1 = 2, A2 + B2 = 3, ここで、ラジオグループA(A1, A2), B(B1,B2)であり、和の値はセレクトメニューのindex番号に対応している。 A1 A2 B1 B2 A1 × × 0 1 A2 × × 2 3 B1 0 2 × × B2 1 3 × × これから、 |A1 A2 | = | 0 2| |B1 B2 | | 0 1| であることがわかる。 (注)行列の要素は A? + B? の値 今の場合、セレクトメニューのoptionの数=4,の場合(4×4行列) これを、任意のN×N行列に拡張するようにすれば、使えるのでは? _______________080518____________________________ [作業]:UpLoad機能の実装 [経過]:List OptionにUpload Filesの表示、および、プロットは実装できた。 [残りの作業]:List OptionにおけるUpload FilesのLinestyle, Linetype, del, show機能の実装をする。 [名言]:ADSを制する者は宇宙を制する? _______________080525____________________________ [本日の作業]:upload filesとlinesize,type,styleの対応づけまでをした。 [バグを発見]:Plot OptionのLegendを変更すると表示されなくなる。 そのときのplotコマンドをみると、title "" pt ps となっている ので、pointype, pointsizeがカラに設定されているのが原因とみられる。 たぶん、_allocate_indexが問題だと思われる。 [バグの原因]:_allocate_legend_indexのif ($r_files->[$i] =~ /.+_$dum1[$j]\.dat/) の部分が問題。@dum1=@legendで、defaultではr_filesの一部に@legendが入っているが、書き換えてしまったらこのif文は意味がない。 my @dum1 = @legend; my @dum2 = @linetype; my @dum3 = @linesize; @legend = (); @linetype = (); @linesize = (); foreach my $i (0..$#{$r_files}){ foreach my $j (0.. $#dum1){ $dum1[$j] =~ s/,/_/; if ($r_files->[$i] =~ /.+_$dum1[$j]\.dat/){ #$lg->Debug("\$r_files->[$i] : $r_files->[$i] | \$legend[$j] : $dum1[$j] | \$linetype[$j] : $dum2[$j] | \$linesize[$j] : $dum3[$j]"); $dum1[$j] =~ s/_/,/; $legend[$i] = $dum1[$j]; $linetype[$i] = $dum2[$j]; $linesize[$i] = $dum3[$j]; } [バグ対策案]:legend,linetype,linesizeのindexを上のようにするのではなく、plot_filesのindexに合わせるようにすればいいと思う。つまり、allocate_index_oneの foreach my $i(0..$#{$r_files}){ $dummy[$i] = $r_files->[$i] if grep(/$r_files->[$i]/, @{$r_list}); } $dummy[$i] = $r_files->[$i] if ($r_files->[$i] = $r_list->[$j]); とかして, @dum_leg = @legend; @legend=(); $legend[$i] = $dem_leg[$j]; などとすればいいのかも。。 [Next 作業]:上のバグ修正。Upload List Optionのdel, show機能実装。メソッドの整理。Upload filesにセッションIDをつける。あと、_setup_defaultに書いたUpload filesのsetup部分は 違うメソッド_setup_default_uploadなどに書いて呼び出すようにしないといつかエラーになる。 [感想]:日曜作業は自由がないし、精神的にツライ... HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH [Freeメモを取ることにした]: ★Gnuplot::Plot->_setup_default() -linesize,type,styleを最初にsetしている箇所:Gnuplot::Plot->_setup_default(); -my %class = &Classification::Class_Hash(); --my @Class = ("MP", "EMP_RGB", "EMP_MS", "Crich_RGB", "Crich_MS", "CEMP_RGB", "CEMP_MS"); --sub Class_Hash{ my %class; foreach my $i(0..$#Class){ (my $key = $Class[$i]) =~ s/_/,/; $class{$key} = $i+1; } return %class; } => @linetypeにuse --my $class = $self->_obtain_class(\%class, $r_files->[$i-1]); push(@legend, $class); - } elsif($plot_option eq 'single_selected'){ my $fm = $self->_get_fm(); my $r_files = $fm->Get_File_Names(); my @plot_files = $self->_load_vars('plot_files');#071119 my @del_files = $self->_load_vars('del_files');#071119 my $prefix = $self->_get_filepre(); my %class = &Classification::Class_Hash(); for(my $i = 1; $i <= @{$r_files}; $i++){ my $class = $self->_obtain_class(\%class, $r_files->[$i-1]); push(@legend, $class); # ex ) $class = "MP" $lg->Debug("\$legend[$i-1] : $legend[$i-1], \$r_files->[$i-1] : $r_files->[$i-1]"); push(@linetype, $class{$class}); push(@linesize, 1); push(@linestyle, "points"); } ★Gnuplot::List_Option - %listsize = ('1' => 1, '1.5' => 1.5, '2' => 2, '2.5' => 2.5, '3' => 3); - $q->scrolling_list(-name => "linesize", -values => [keys %listsize], -default => $linesize[$i-1], -size => 1, -labels => {%listsize}), )."\n", ★[行番号] -Gnuplot.pm --1065 : Gnuplot::List_Option --1097 : my @listtype = ("1", "2", "3", "4", "5", "6", "7"); --1089 : %listsize = ('1' => 1, '1.5' => 1.5, '2' => 2, '2.5' => 2.5, '3' => 3);
タイムスタンプを変更しない
[[DaGaAr]] ___________________________080922_________________ [作業]: - List Optionのlegendを変えられるようにした(uploadにはまだ未対応)。 - クリッカブルラベルに天体名+座標値も表示されるようにした(エクスプローラ限定)。 ___________________________080825_________________ [タイトル]:legend hiddenの問題点。Formからの送られ方が、textとhiddenじゃ違う。 --> text -> index保持、 (ウソ) --> hidden->保持しない により、indexがずれてくる。text無駄に高機能? (ウソ) 以下にindexの@lenged, @hidden_legendの動向のサンプルを示す。 -> all_plot後 =>EMP,RGB del check =>plot後の各変数とindexの状態 index: r_files: legend(text): hidden_legend: 0 _MP.dat MP MP 1 _EMP_RGB.dat EMP,RGB EMP,RGB <=送られない 2 _EMP_MS.dat EMP,MS EMP,MS 3 _Crich_RGB.dat Crich,RGB Crich,RGB 4 _Crich_MS.dat Crich,MS Crich,MS 5 _CEMP_RGB.dat CEMP,RGB CEMP,RGB 6 _CEMP_MS.dat CEMP,MS CEMP,MS -> もう一度プロットを押す index: r_files: legend(text): hidden_legend: 0 _MP.dat MP MP 1 _EMP_RGB.dat EMP,MS 2 _EMP_MS.dat EMP,MS Crich,RGB 3 _Crich_RGB.dat Crich,RGB Crich,MS 4 _Crich_MS.dat Crich,MS CEMP,RGB 5 _CEMP_RGB.dat CEMP,RGB CEMP,MS 6 _CEMP_MS.dat CEMP,MS -->legend(text)は前のindexを保持しつづけている (ウソ) が、hidden_legend(hidden)はindexつけなおされている。ので、この段階ですでにindexずれている [対策案]: - textボックスのindexが保持されるのなら、hiddenいらない (ウソ) ので、そのままでいいのだろうか?index途中でリセットされるとかはないのか?=>そこら辺をテストして、挙動を見極める必要あり。 - unvisibleなtextとか作れないのか?それをhidden代わりにすると、index揃うはず....とか。 [間違い]:上記のは、間違いでした。上記のlegendはallocate_legend_indexで並べ替えられた結果を表示していたので、indexが保持されるのは、あたり前でしたすいません。 [実際になにをすればいいか]:実際には、allocate_legend_indexでhidden_legendをはらべかえるのと同時に、legendのindexもおなじように並べ替えるようにすればいいのだろうか。 [Attention]:基本的な間違い。忘れてる?のが原因か? ___________________________080704_________________ [タイトル]:バグレポート -[N/O]vs[Fe/H]でサーチすると65天体しかHITしないのはなぜなのか? -[Eu/H]vs[Fe/H]プロットでEuのデータがあるCS22892-052天体のデータがプロットされない。 -天体名の情報のページのatomic number横軸の図でscalingしたsolar abundanceを重ねてプロットしてほしい。 -HE1424-0241の天体情報のページがない ___________________________080612_________________ [タイトル]:Upload 機能バグレポート -Upload Formでファイルupload後、Upload upload filesボタンで新たにUPしたファイルがプロットされない。 -デフォルトでupload filesがない状態ではUplad機能が機能しない [タイトル]:今まさにどのファイルがUploadされたかという取得方法 - ssupload2.cgiで、uploadしたファイル(upfile)をup_upfileという名でコピーを保存しておく、これが、Upload upload filesを押したとき、まさに今uploadされたファイルとして、すでにuploadされているファイルとは区別して扱う。その後、up_upfilesを消しておく。 ___________________________080609_________________ [タイトル]:legendが消えるのが問題でして [内容]:ユーザーがリストオプション操作をし続けることでlegendのindexがずれてどの変数とも対応しなくなるのが問題。 [目的] @plot_files, @del_files, @legendのindexを@r_filesのindexに合わせるようにする。 -[ルール]: @r_files, @plot_files, @del_filesのindexの揃え方は、_MP,_EMP_RGB等 のラベルで判断している(_allocate_index_one)一方、legendは可変(ユーザーが自由に設定)なので、これらをラベルとしては使えないのでいまどうするかが問題 <<legendの動きのテスト>> - [[CEMP,RGB -> del check:http://astro3.sci.hokudai.ac.jp/~yamada/DB/Retrieval/Fig1.png]] -> plot時の各変数+index一覧(下)がフォームから送信される index: r_files: plot_files: del_files: legend: 0 _MP.dat _MP.dat CEMP_RGB.dat MP 1 _EMP_RGB.dat _EMP_RGB.dat EMP,RGB 2 _EMP_MS.dat _EMP_MS.dat EMP,MS 3 _Crich_RGB.dat _Crich_RGB.dat Crich,RGB 4 _Crich_MS.dat _Crich_MS.dat Crich,MS 5 _CEMP_RGB.dat _CEMP_RGB.dat CEMP,RGB 6 _CEMP_MS.dat _CEMP_MS.dat CEMP,MS --> Gnuplot::_allocate_index_oneで以下のようにそろえなおす index: r_files: plot_files: del_files: legend: 0 _MP.dat _MP.dat MP 1 _EMP_RGB.dat _EMP_RGB.dat EMP,RGB 2 _EMP_MS.dat _EMP_MS.dat EMP,MS 3 _Crich_RGB.dat _Crich_RGB.dat Crich,RGB 4 _Crich_MS.dat _Crich_MS.dat Crich,MS 5 _CEMP_RGB.dat _CEMP_RGB.dat CEMP_RGB.dat CEMP,RGB 6 _CEMP_MS.dat _CEMP_MS.dat CEMP,MS -->(この段階で問題なさそうだが)続けて、 [[Crich,RGB -> del check:http://astro3.sci.hokudai.ac.jp/~yamada/DB/Retrieval/Fig2.png]] -> plotとすると、以下の情報がフォームより送信される index: r_files: plot_files: del_files: legend: 0 _MP.dat _MP.dat _Crich_RGB.dat MP 1 _EMP_RGB.dat _EMP_RGB.dat EMP,RGB 2 _EMP_MS.dat _EMP_MS.dat EMP,MS 3 _Crich_RGB.dat _Crich_RGB.dat Crich,RGB 4 _Crich_MS.dat _Crich_MS.dat Crich,MS 5 _CEMP_RGB.dat _CEMP_MS.dat CEMP,MS 6 _CEMP_MS.dat --> この段階で、すでに CEMP,RGBの行がないので、indexがplot_files, legendで途中からずれている --> plot_filesのindex=legendのindexに対応しているので、plot_filesのindexにlegendのindexを合わせればいいのではと思うかもしれないが、以下のような場合が想定されるので、そうはいかない。 -->まず、このフォームから送信された情報を以下のように(legendに関しては何らかの方法で)indexをそろえたと仮定する index: r_files: plot_files: del_files: legend: 0 _MP.dat _MP.dat MP 1 _EMP_RGB.dat _EMP_RGB.dat EMP,RGB 2 _EMP_MS.dat _EMP_MS.dat EMP,MS 3 _Crich_RGB.dat _Crich_RGB.dat _Crich_RGB.dat Crich,RGB 4 _Crich_MS.dat _Crich_MS.dat Crich,MS 5 _CEMP_RGB.dat 6 _CEMP_MS.dat _CEMP_MS.dat CEMP,MS --> 続けて、(ユーザーが)次のような操作をした場合 ---> [[EMP,MSの plot checkをはずして、:http://astro3.sci.hokudai.ac.jp/~yamada/DB/Retrieval/Fig3.png]]プロットした場合、以下の情報がフォームから送信される index: r_files: plot_files: del_files: legend: 0 _MP.dat _MP.dat MP 1 _EMP_RGB.dat _EMP_RGB.dat EMP,RGB 2 _EMP_MS.dat _Crich_MS.dat EMP,MS 3 _Crich_RGB.dat _CEMP_MS.dat Crich,MS 4 _Crich_MS.dat CEMP,MS 5 _CEMP_RGB.dat 6 _CEMP_MS.dat --> このとき、legendのindexはもう何とも対応していなくなってしまう。。。 [対策]: -?legendを固定してしまう。 -?scrolling -listの-name に-MP, -EMP_RGB,...等の名前を付けて区別する。そうすればindex合わせの概念そのものが必要なくなる -?del, plot, checkに応じて、legendのindexを1個づつUPするようなメソッドを作成して(なんとか)indexをそろえる --?は機能縮小、?は最終手段(根本的な解決のような気がするが、、)なので、?をしようとしている。。。 [感想] メンドクサイ。。。 月曜朝一作業はテンションが上がらない。 _____________________________________ 書き込んでみる。 - create_heap後alter_heapでtable updateしている。 -\/\/\/\/\/\/\/\/ 071021 \/\/\/\/\/\/\/\/ --》histgramのquick search onにした。 --》XbyY, XplusY がまだうまくいかない。 --》Retrieve_XbyYの段階でQUERY FAILEDになっている。 -\/\/\/\/\/\/\/\/ 071029 \/\/\/\/\/\/\/\/ --★updateしたらhistgramのquick searchがXbyY, XplusYの場合でもそのままうまくいったのでcommitした。 --★ロゴマークを考えた。 --★グラフィックソフトを使いこなせない。 --★間違って投票?何回押してもOKなのでは? -\/\/\/\/\/\/\/\/ 071104 \/\/\/\/\/\/\/\/ -作業:List Optionのcheck boxが働くようにした。 -変更箇所: Gnuplot.pm (#071121) --check boxに対応する@plot_files(プロットするファイルを格納)を作った。 --$r_files[$i]が@plot_filesに一致した場合のみプロットさせるようにした。 --変更箇所:Gnuplot.pm(#071104) -バグレポート --multi_selectedの場合のプロットができない。 --histogramのwidthで何も指定しなかった場合、いくら待ってもプロットされない。多分永遠に... -LOGO --濃いversionを作ってみた -\/\/\/\/\/\/\/\/ 071112 \/\/\/\/\/\/\/\/ -multi_plotのプロットを速くした(quick_search) -\/\/\/\/\/\/\/\/ 071126 \/\/\/\/\/\/\/\/ -作業: List Optionのcheck boxを有効にする(r_file[$i]:$i にindexを揃える) --変更箇所:Gnuplot.pm(#071119, #071121) --subroutineを作った --- allocate_index() : $plot_files, $del_filesのindexを$r_filesに揃えた。 --- allocate_legend_index() : $legend $linetype, $linesizeのindexを$r_filesに揃えた。 --バグ≫ --- linetypeが delcheck後空欄ができる。 --- 上のsubroutineを1つにまとめる。 @file = ({ "plot" =>1 "legend"=> "MP" .. }, {}, {}..) などどする。 --- 前にdelcheckした後、戻るボタンでplotで再びdelcheckが有効にならない。 -連絡≫12/7(金)に緊急会議が開かれる。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ___________________________080120_________________ - VistaにCygwinを入れた。 - ヒストグラムの機能を直した。 --[原因] : histogramを選択した場合、_allocate_legend_index()で、legend, linetype, line size, linestyleの並べ替えを行う際、null値になるのが原因。 プロットコマンドは、 plot "images/cgisess_f1143c963f4bd335965bb4d42cbed4cb_hist.dat" using 1:2 title "" with boxes lt lw となってしまっていた。 --[解決]: histogramを選択したとき、並べ替え(_allocate_index_one())を行わないようにした。 -バグの発見 -- 元素プロットするとき、Y軸を選ばないでプロットした場合、図が表示されない。 Y軸が選ばれていないなどの警告を出した方がいいような気がする。 ___________________________080128_________________ - 各Pageに飛べるボタンをつけた。 --Pageボタンのupper limitを1000000にもうけた。 ---正確なデータ数を取得するには、Search_Modeを実行しなければならないが、 ---このようにupper limitを設けることで、Search_Modeを実行しなくてよいので、表示速度が速くなる。 ---ユーザーがクリックしたPage NumberにHITした段階で、ループを抜けるようにしているので、page upper limitを変えても速度は変わらない。 -- commit済み。 -[?]:次の段階はボタン表示をGoogle調にするのか? _______________080303____________________________ [問題]: ファイルアップロード<input type="file">タグがあるとページの有効期限切れになる [対策1]:ページ更新切れのページを検索した。 -http://jazzoo.co.jp/blog/index.php?itemid=9 -http://chalow.net/2004-06-07-2.html -http://community.tabbrowser.jp/forum/viewtopic.php?p=6632&highlight=%C6%C3%C4%EA%A4%CE%A5%DA%A1%BC%A5%B8%A4%C7%A4%CE%A1%D6%CC%E1%A4%EB%A1%D7%A5%AF%A5%EA%A5%C3%A5%AF%A4%C7%A1%D6%A5%DA%A1%BC%A5%B8%A4%CE%CD%AD%B8%FA%B4%FC%B8%C2%C0%DA%A4%EC%A1%D7%A4%C8%A4%CA%A4%EB%B8%BD%BE%DD%A4%F2%B2%F3%C8%F2%A4%B9%A4%EB%A4%E8%A4%A6%A4%CB%A4%B7%A4%C6%A4%DB%A4%B7%A4%A4%A4%C7%A4%B9%A1%A3%B9%B9%BF%B7%A2%AA%BA%C6%BB%EE%B9%D4%A4%CE%C1%E0%BA%EE%A4%AC%CC%CC%C5%DD%A4%CA%A4%CE%A4%C7%A4%B9%A1%A3#6632 -http://virus.okwave.jp/kotaeru.php3?q=1804781 -http://www.gesource.jp/programming/etc/ie01/index.html -http://oshiete1.goo.ne.jp/qa3206000.html -http://oshiete1.goo.ne.jp/qa3234981.html -http://www.excite.co.jp/search.gw?search=input+type+file+%83y%81%5B%83W%81@%97L%8C%F8%8A%FA%8C%C0%81@%90%D8%82%EA&target=combined&look=excite_jp&Language= [結論]:「ファイルフィールド(<input type="file">がある場合は、次のページがキャッシュされません。」とのことで基本的解決になっていない。 」 _______________080316____________________________ [問題]: ファイルアップロード<input type="file">タグがあるとページの有効期限切れになる [対策2]: ファイルアップロードフォームへのリンクを張ってそのアップロードフォームでplotボタンを押すと、元のフォームでplotボタンを押すのと同じ状態することができた。これでページ有効期限切れは回避できるか? 具体的には、ファイルアップロードフォーム(upload.html)は以下のように実装した。 <?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" /> <title>アップロード用フォーム</title> </head> <body> <h1>アップロード用フォーム</h1> <form action="db.cgi?#plot" method="post" enctype="multipart/form-data"> <input type="file" name="uploaded_file"> <input type="submit" name="button" value="plot" > <!--<input type="submit" value="送信">--> </form> </body> </html> [注意点]: upload.htmlでplotをおすと同時にupload.htmlを閉じるよう実装する必要がある。又、リンク元ページでプロット情報はすでにsessionに保存されている必要がある(そうしないと、プロットでその情報だけ抜け落ちる)。 [結論]:できない [理由]:upload.htmlでplotを押すリンク元のページが更新されず、新たにdb.cgi#plotページが生成されてしまう。から、javaなどで元のページを操作する必要あり?javaはわからない。 _______________080414____________________________ [作業]:使えそうなjavascriptを作ってみた。 http://astro3.sci.hokudai.ac.jp/~yamada/sample_select_radio2.html [説明]: セレクトメニュー => radioボタンの切り替え or radioボタン => セレクトメニュー切り替え [アルゴリズム]: A1 + B1 = 0, A1 + B2 = 1, A2 + B1 = 2, A2 + B2 = 3, ここで、ラジオグループA(A1, A2), B(B1,B2)であり、和の値はセレクトメニューのindex番号に対応している。 A1 A2 B1 B2 A1 × × 0 1 A2 × × 2 3 B1 0 2 × × B2 1 3 × × これから、 |A1 A2 | = | 0 2| |B1 B2 | | 0 1| であることがわかる。 (注)行列の要素は A? + B? の値 今の場合、セレクトメニューのoptionの数=4,の場合(4×4行列) これを、任意のN×N行列に拡張するようにすれば、使えるのでは? _______________080518____________________________ [作業]:UpLoad機能の実装 [経過]:List OptionにUpload Filesの表示、および、プロットは実装できた。 [残りの作業]:List OptionにおけるUpload FilesのLinestyle, Linetype, del, show機能の実装をする。 [名言]:ADSを制する者は宇宙を制する? _______________080525____________________________ [本日の作業]:upload filesとlinesize,type,styleの対応づけまでをした。 [バグを発見]:Plot OptionのLegendを変更すると表示されなくなる。 そのときのplotコマンドをみると、title "" pt ps となっている ので、pointype, pointsizeがカラに設定されているのが原因とみられる。 たぶん、_allocate_indexが問題だと思われる。 [バグの原因]:_allocate_legend_indexのif ($r_files->[$i] =~ /.+_$dum1[$j]\.dat/) の部分が問題。@dum1=@legendで、defaultではr_filesの一部に@legendが入っているが、書き換えてしまったらこのif文は意味がない。 my @dum1 = @legend; my @dum2 = @linetype; my @dum3 = @linesize; @legend = (); @linetype = (); @linesize = (); foreach my $i (0..$#{$r_files}){ foreach my $j (0.. $#dum1){ $dum1[$j] =~ s/,/_/; if ($r_files->[$i] =~ /.+_$dum1[$j]\.dat/){ #$lg->Debug("\$r_files->[$i] : $r_files->[$i] | \$legend[$j] : $dum1[$j] | \$linetype[$j] : $dum2[$j] | \$linesize[$j] : $dum3[$j]"); $dum1[$j] =~ s/_/,/; $legend[$i] = $dum1[$j]; $linetype[$i] = $dum2[$j]; $linesize[$i] = $dum3[$j]; } [バグ対策案]:legend,linetype,linesizeのindexを上のようにするのではなく、plot_filesのindexに合わせるようにすればいいと思う。つまり、allocate_index_oneの foreach my $i(0..$#{$r_files}){ $dummy[$i] = $r_files->[$i] if grep(/$r_files->[$i]/, @{$r_list}); } $dummy[$i] = $r_files->[$i] if ($r_files->[$i] = $r_list->[$j]); とかして, @dum_leg = @legend; @legend=(); $legend[$i] = $dem_leg[$j]; などとすればいいのかも。。 [Next 作業]:上のバグ修正。Upload List Optionのdel, show機能実装。メソッドの整理。Upload filesにセッションIDをつける。あと、_setup_defaultに書いたUpload filesのsetup部分は 違うメソッド_setup_default_uploadなどに書いて呼び出すようにしないといつかエラーになる。 [感想]:日曜作業は自由がないし、精神的にツライ... HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH [Freeメモを取ることにした]: ★Gnuplot::Plot->_setup_default() -linesize,type,styleを最初にsetしている箇所:Gnuplot::Plot->_setup_default(); -my %class = &Classification::Class_Hash(); --my @Class = ("MP", "EMP_RGB", "EMP_MS", "Crich_RGB", "Crich_MS", "CEMP_RGB", "CEMP_MS"); --sub Class_Hash{ my %class; foreach my $i(0..$#Class){ (my $key = $Class[$i]) =~ s/_/,/; $class{$key} = $i+1; } return %class; } => @linetypeにuse --my $class = $self->_obtain_class(\%class, $r_files->[$i-1]); push(@legend, $class); - } elsif($plot_option eq 'single_selected'){ my $fm = $self->_get_fm(); my $r_files = $fm->Get_File_Names(); my @plot_files = $self->_load_vars('plot_files');#071119 my @del_files = $self->_load_vars('del_files');#071119 my $prefix = $self->_get_filepre(); my %class = &Classification::Class_Hash(); for(my $i = 1; $i <= @{$r_files}; $i++){ my $class = $self->_obtain_class(\%class, $r_files->[$i-1]); push(@legend, $class); # ex ) $class = "MP" $lg->Debug("\$legend[$i-1] : $legend[$i-1], \$r_files->[$i-1] : $r_files->[$i-1]"); push(@linetype, $class{$class}); push(@linesize, 1); push(@linestyle, "points"); } ★Gnuplot::List_Option - %listsize = ('1' => 1, '1.5' => 1.5, '2' => 2, '2.5' => 2.5, '3' => 3); - $q->scrolling_list(-name => "linesize", -values => [keys %listsize], -default => $linesize[$i-1], -size => 1, -labels => {%listsize}), )."\n", ★[行番号] -Gnuplot.pm --1065 : Gnuplot::List_Option --1097 : my @listtype = ("1", "2", "3", "4", "5", "6", "7"); --1089 : %listsize = ('1' => 1, '1.5' => 1.5, '2' => 2, '2.5' => 2.5, '3' => 3);
テキスト整形のルールを表示する