CGIだけど、なんか質問ある? Part 9
■ このスレッドは過去ログ倉庫に格納されています
0001ななし ◆E6qQ.htN7o
03/01/03 02:56ID:H5ub4PWW※CGIは特定の言語に依存するものではありません。
※Perlのコーディングに関する質問は専用スレがありますのでそちらでお願いします。
↓
【Perl】初心者コーナー Part18
http://pc.2ch.net/test/read.cgi/php/1037797479/l50
過去ログ・関連スレッドは >>2-5 あたりに
0653648
03/03/13 08:31ID:9FkJfCBrごめんなさい
もう少し詳しく書きます
別のcgiは別のサーバにあります。
で、POSTでそのcgiに値を渡し
そのcgiが(ブラウザに)出力する結果を元に
処理を行う、それをいくつか繰り返す
以上の事をcgiで行うことは可能でしょうか
0654nobodyさん
03/03/13 08:59ID:???可能
ただし、これ以上の質問は使っている言語専用スレで
> cgiで行うことは可能でしょうか
cgi の部分を、PerlなりPHPなり自分が使っている言語に
置き換えて読み返してみれば、すぐ解ることでしょが
0655nobodyさん
03/03/13 09:09ID:Lbm4LPV1http://homepage3.nifty.com/digikei/
0656bloom
03/03/13 09:18ID:+b8Vztun0657632
03/03/13 15:56ID:rD3WUou4ちょっと質問悪かったかも。
重い・軽い・っていうのは、どういう作りによっておきるのか?
と、聞きたかったのです。
それで、設定項目が・・・なんてことを言ったのですが。
>>634
うーん、そっか。
んじゃあとりあえず、40KBとかあるスクリプトが必ずしも
重いとは限らないわけね。
0659nobodyさん
03/03/13 16:38ID:xb4yxiHKアクセス解析するページを見ると、×印が表示されます。
FAQの
http://www.futomi.com/library/faq/acc_faq.html#1
は見ました。
standard版だと上記の方法で×印が表示されないようには出来たんですが
professional版だと駄目でした。
サーバーはxreaの無料鯖を使ってます。
×を表示しないようにする方法を知ってる方がいたらぜひとも!
教えてください。
0660nobodyさん
03/03/13 16:41ID:???私は、このウェブサービスが、初心者向けサービスでないことを知っています。最低限必要な情報しか提供していないことを知っています。
私は、問題を自分で解決する努力をします。わからないことはまず自分で調べます。
(XREA 規約より)
0662659
03/03/13 16:47ID:???やった事を書くのを忘れていたので書かせて頂きます。
自動広告表示が原因だと思うのですが
自動広告をやめてhtmlに直接タグを書いて広告を表示しても
×印が消えなかったです。
futomi's CGI Cafe のFAQではこれで×は消えると書いていたのですが
駄目でした。
検索エンジンでも調べてみましたが駄目で、
自分で言うのもあれですが努力はかなりしました。
出来れば解決方法が分かれば教えてください。
宜しくお願いします。
0663nobodyさん
03/03/13 16:47ID:???重い = 処理時間が長い
つまり効率的な処理ができていないものと言える。
(処理そのものが複雑な場合もあるが、それはとりあえず置いておく)
効率的な処理というのは、>>632で挙げられたことと全く関係がない
わけではないが、そこに大きな関係を見出すことは難しい。
また処理の方法というのは、ほとんどの場合幾通りものアプローチが
あるもので、どれが効率良いかは試験と経験でしかわからない。
というわけで、ネット上で配布されているようなものに関して言えば、
使ってみるかソースを読んで解析するかしないとわからないよ。
既ユーザに使用感を聞いてみるのが一番簡単な方法かもね。
0664nobodyさん
03/03/13 19:07ID:ajLCHyyn0665nobodyさん
03/03/13 19:47ID:???>設定項目(=変数)が多いと重い?
設定項目が多くても、処理が少なければ軽い。
>サブルーチンが多いと重い?
サブルーチンが少なくても、全体の処理が多ければ重い。
>それとも行数が多いと重い?
たった1行でも無限ループになっていたらそっちの方が重い。
>コメントが含まれていると重い?
誤差の内。
結局は、計算機が計算を行なう回数と、ファイルアクセスなどを行なう回数及び時間に関わる。
結果として、>663さんの言うのが正しいわけだが。
どういう作りで、というなら、シンプルな方が軽い。
もちろん、下手な奴が作ればシンプルでも重くなるが。
あとはベンチマークでもやって自分で計るのが一番。
いうまでもないがローカルでな。
0666nobodyさん
03/03/13 20:32ID:???0667nobodyさん
03/03/13 21:37ID:???出来る範囲で分割させた方が管理しやすいと思うんだけど。
書き込みと表示を分けるとか。
0669nobodyさん
03/03/13 21:49ID:0oN+bQDd0670nobodyさん
03/03/13 21:57ID:???一画面に収まらない関数を作った場合は再検討する。
0671nobodyさん
03/03/13 22:26ID:???これについては、C-BOARDは強烈。画面をまたぐifのブロック。
0672nobodyさん
03/03/13 23:58ID:???1ファイルは大体20kb以内。500行ぐらいが己の限界です。
2000行なんて書いてたら、思いついた所を探す時には、泣いちゃうよ〜。
0673nobodyさん
03/03/14 00:05ID:???>これについては、C-BOARDは強烈。画面をまたぐifのブロック。
あなたが挙げているインデントの増加という面ではこれはむしろその抑止に働いていると思う。
kbだから大体2KBってとこか。平均10文字で200行。微妙かも。
0674nobodyさん
03/03/14 00:14ID:???0675nobodyさん
03/03/14 15:39ID:d7q/oEUSちゃんとコメントつけると、私は数十行などすぐ逝ってしまいます。
0678nobodyさん
03/03/14 17:06ID:???0679nobodyさん
03/03/14 17:07ID:???0680nobodyさん
03/03/14 17:15ID:???変数などの命名がヘタなんだろう。
0681657
03/03/14 17:29ID:Qg58BTXTちなみに私がつくったんじゃないっす。そこまで技術力は(以下略)
>>663,665
あ、なあんだ・・・そういうことだったのか。
なんとなく、変数があるとそれを記憶するのにメモリを使う=重い
なんてこと思ってた・・・。
コメントは極力ないほうがいいのか、っていうのも、Perlが「上から」
見ていく言語だから、飛ばすものは無いほうが、なんてことを考えてた・・。
#行が増えると検索に時間がかかる、のと同じレベルで考えてました。
そっか。これで安心してコード書けそう。
>>675
私はせいぜい設定項目にコメントつけて、サブルーチンに
これは何をするヤツって書くぐらい。
シンプルな掲示板なら数十行まではいかない。
配布するつもりないから使用条件とか書かなくていいし。
0682nobodyさん
03/03/14 18:02ID:???まだ勘違いしているようだが。
重いのとメモリ食うのははまた別。
0683nobodyさん
03/03/14 20:29ID:i5QyaZbU以下のようなイメージで「ソース」をクリックすると、ページの
ソースが見えるようにしたいのですが、このままですと
当然CGIそのものが実行されてしまいます。
print '<a href="http://11.11.111.111/cgi-bin/hogehoge">ソース</a>';
教えていただけませんか。
0686どーでもいい話だけど
03/03/14 20:45ID:???なんなのIEは。
0687683
03/03/14 20:57ID:???そうなんです。拡張子を.txtにしてもなぜかcgiが実行されてしまい
ます。ただし別ディレクトリに保存したら正しくソースが表示
されますが...できれば*.txtのファイルは別途作成せずに
やりたいです。
0688nobodyさん
03/03/14 21:15ID:???cgi-binの中に画像ファイルを置いても表示されないことがあるのはそのタイプ。
apacheならScriptAliasってやつだね。
で問題のソースの表示だけど、
別ディレクトリにtxtで置くか、ファイルの中身だけを表示するCGIを別に作成する。
後者は下手なプログラムだと知らない人に遊ばれちゃうので注意が必要。
0689nobodyさん
03/03/14 21:46ID:???0690683
03/03/14 21:53ID:0q8cRWlrありました。別ディレクトリに.txtをおくことにします。
0691nobodyさん
03/03/15 02:42ID:Ch+qUXLEログを更新する際、
open(IN,"hoge.log");
@lines = <IN>;
close(IN);
push (@lines,"$d0<>$d1<>$d2<>$d3<>$d4\n");
open(OUT,">hoge.log");
@lines = <OUT>;
close(OUT);
って感じに一度全て配列に代入し、
配列に新しい値を加えた後、
ログファイルに書き込んでるんですが、
open(OUT,">>hoge.log");
print OUT "$d0<>$d1<>$d2<>$d3<>$d4\n";
close(OUT);
↑これじゃあだめなんでしょうか?
だめな理由とかあれば教えていただけないでしょうか?
0694nobodyさん
03/03/15 02:59ID:???ケントのは読み込んでからデータを追加してファイル丸ごと上書きだろ。
別に追加でも構わないけど、下のじゃロックもかけてないからダメだ。
0695nobodyさん
03/03/15 03:08ID:???追加でもかまわないんですね。
どうもありがとうございました。
あと、ロックですが、
前後に&lock;と&unlock;
してあるんで大丈夫と思います。
0696nobodyさん
03/03/15 03:15ID:???0697nobodyさん
03/03/15 03:38ID:5hlN9xGBドメイン検索エンジンは、通常どういった仕組みで作られて
いるのでしょうか。
検索してもこれといったものが見つからなかったため、
質問させていただきました。
すみませんが、どうか宜しくお願いします。
0698nobodyさん
03/03/15 03:42ID:???0699nobodyさん
03/03/15 04:08ID:???何を知りたいのだろう?
0700nobodyさん
03/03/15 04:21ID:5hlN9xGB説明不足ですみません。
お名前.comのような、.com等のドメインが空いているか
サーチするプログラムを自前で作りたいということです。
0701nobodyさん
03/03/15 04:22ID:???見たいな事をしたいんですが、どのように書けばいいでしょうか?
0703nobodyさん
03/03/15 04:27ID:???0706nobodyさん
03/03/15 18:05ID:sA3oWGif質問です。
よく吐きだしたhtmlを直接表示させる掲示板cgiがありますけど、その吐きだした
htmlをいったんファイルとして保存して、そのhtmlを掲示板として表示させるように
するにはどうしたらいいんでしょ?
0707nobodyさん
03/03/15 19:04ID:???そのまんま。
答え出てるじゃない。
0708nobodyさん
03/03/15 19:16ID:???> 吐きだしたhtmlをいったんファイルとして保存して、
> そのhtmlを掲示板として表示させるようにするにはどうしたらいいんでしょ?
htmlファイルを作る処理を終えたら、そのhtmlファイルに飛んだらいい話かと。
Perlなら print "location: URL\n\n";
0709706
03/03/15 19:57ID:1k1hrfmMしたいことの論理が正しいことは分かりましたが(w、具体的なやり方が
分からないのでし。
>>708
>htmlファイルを作る処理を終えたら、そのhtmlファイルに飛んだらいい話かと。
>Perlなら print "location: URL\n\n";
この行はどこに挿入したらいいんでしょうかぁ? フッター作成の後?
それともcgiの最終行ですか?
0711706
03/03/15 20:10ID:1k1hrfmMすみません
>printで画面に表示する部分をファイルに出力に改造して、
これの具体的な書き方を教えてください。
それから受け手のhtmlファイルですけど、何か準備は要りますか?
0712nobodyさん
03/03/15 20:16ID:???0713nobodyさん
03/03/15 20:18ID:???自分でスクリプト書くスキルないのならKent-Webとか
CGIスクリプト配布サイトにあるの使っては?
下のが記事部分をHTMLファイルで出力してるタイプ。
http://www.kent-web.com/bbs/sunbbs.html?
0714706
03/03/15 20:20ID:1k1hrfmM本来の目的は、掲示板cgiが生成して表示した掲示板のhtmlでは検索エンジンが
拾って来れないようなので、それを拾ってこれるようにするためです。
0716706
03/03/15 20:27ID:1k1hrfmMいや、URLの末尾がxxx.cgiになっているものは拾ってきてくれないようですが。
0717nobodyさん
03/03/15 21:26ID:???print "文字"; てのがあるはずだが、その部分を
open(FH,">$htmlfile"); print FH "文字"; close(FH) て感じにする。
そのままだと画面表示されないので、Locationで作成したHTMLにジャンプするって感じだな。
index.htmなどからリンクをはる時には $htmlfileにリンクをはれば良い。
ファイルロックするとかLocationを使いたくない時は自分で考えれ。
上からの流れをまとめるとこういう感じだ。
自分でできないと思ったら、あきらめるか>>713のところのを使うとよい。
0718nobodyさん
03/03/15 22:26ID:???ロボット避けのMETAタグとかの勉強をした方が早いと思う。
0719nobodyさん
03/03/15 22:28ID:5hlN9xGBどうもありがとうございます。
おかげさまで前進することができました。
0720706
03/03/15 23:44ID:1k1hrfmMうがー
>print "文字"; てのがあるはずだが、その部分を
>open(FH,">$htmlfile"); print FH "文字"; close(FH) て感じにする。
毎行こうするわけですか。かなりめんどい・・・
当分、諦めるかな・・・ 気が向いたら>>713も検討してみます。
>>718
ロボット避けのMETAタグは使用していないでし。
0721nobodyさん
03/03/16 00:22ID:???0722nobodyさん
03/03/16 00:25ID:???select FH;
0723706
03/03/16 01:04ID:???単にフレームのhtmlファイルをこしらえて、そこにcgiを流し込んだの
です。htmlファイルにはキーワードをしっかりと仕込みました、はい。
いろいろとお教えいただきありがとうございました。
0724nobodyさん
03/03/16 02:01ID:0/UJ/9KJ+-2003
+-03
| +-16
| | +-0.dat
| | +-1.dat
| +-18
| +-0.dat
| +-1.dat
+-05
+-04
+-0.dat
とかなっているディレクトリ構成で、CurrentDirが今2003にいたと
して ./2003/03/ 配下の全データ(サブディレクトリ、ファイル)を
削除しようとした場合、みなさんどんなソース書きます?
やっぱ一番下までディレクトリ見に行って、ファイルを全部消して
からぽちぽちとディレクトリを消していかねばならんのですか?
なんか おぉ〜 っていうソースないですか?
0725nobodyさん
03/03/16 02:04ID:0/UJ/9KJ+-2003
+-03
| +-16
| | +-0.dat
| | +-1.dat
| +-18
| +-0.dat
| +-1.dat
+-05
+-04
+-0.dat
ね。
0726nobodyさん
03/03/16 02:12ID:???0727nobodyさん
03/03/16 02:13ID:???ちなみに>1はちゃんと読んだか?
0728nobodyさん
03/03/16 05:44ID:zuyh3uNEこんにちは!!!!!!!!!!!!!!! だとか
あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえお だとか。
0731nobodyさん
03/03/16 11:12ID:???<input type="radio" name="test1" value="$c_data1">
<input type="text" name="test2" value="$c_data2" size=6 maxlengh="6">
↑みたいな感じでラジオとテキストボックスでデータの入力を
選択できる状態にして・・・。
もしも、テキストボックスに文字列が入っていたら
ラジオボックスのデータを無効にしてテキストボックスに入力された
データを保存しる。ってものをやってるんですけど・・・。
テキストボックスに特定の文字列が入っていたら。の処理はわかりますが
その文字列が予測できないんで、不特定多数になっちゃって特定できず
ifのカッコ内でどう処理すりゃいいかワカンネーんです・・。
こんな説明で判ってくれる人がいたらヨロヨロでつ・・。
0732nobodyさん
03/03/16 11:31ID:???0733nobodyさん
03/03/16 13:08ID:bu9vx7r5ありがとです。やっぱそうなっちゃうかな。
んで板の注意ありがと。
やっちまいました。逝ってきます(T-T)
0734731
03/03/16 13:15ID:???0735nobodyさん
03/03/16 13:18ID:0oFKfJrdhttp://homepage3.nifty.com/digikei/sample/sample.html
0736nobodyさん
03/03/16 14:33ID:vu3Qqexlif ($testが「TEST>>」から始まっていれば) {
print "$testから「TEST>>」を抜いたもの";
}
ということをしたいんですが、正規表現がよくわからず、
思ったように動いてくれません。
どのように書けばよいのでしょうか?
0737nobodyさん
03/03/16 14:58ID:???print $1;
}
0740nobodyさん
03/03/16 15:53ID:???&&gt;ってことです・・・
0741nobodyさん
03/03/16 16:00ID:F4DlRSun教えていただけないですか?
0743nobodyさん
03/03/16 16:27ID:???できるけど、お前には無理だからやめとけ。
そんな漠然とした質問じゃ、掲示板のログの最新時間を
書き出せとしか言いようがない。
0745nobodyさん
03/03/16 17:10ID:zuyh3uNEあほ が含まれてるだとか、判断したいんです。
0746nobodyさん
03/03/16 17:11ID:???0747nobodyさん
03/03/16 17:12ID:???0748nobodyさん
03/03/16 17:22ID:zuyh3uNE0749nobodyさん
03/03/16 18:15ID:???【Perl】初心者コーナー Part19
http://pc2.2ch.net/test/read.cgi/php/1044717887/
0750nobodyさん
03/03/17 02:07ID:???これは凄い。しかし難しい。
記憶などがテーマになってる映画だが、
観ている側も気を抜かず、正確に記憶しないと、
話がわからなくなる。
そんな気がした映画でした。
しかし、今まで観た映画の中で一番疲れたかも。
0751nobodyさん
03/03/17 02:08ID:???■ このスレッドは過去ログ倉庫に格納されています