CGIだけど、なんか質問ある?Part 5
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
01/12/26 10:51ID:???Part 3 http://pc.2ch.net/test/read.cgi/php/988727833/l50
Part 4 http://pc.2ch.net/test/read.cgi/php/1000804655/l50
その他参考になるスレッドを >>2 に纏めたので、十分に調べた上で質問して下さい。
0018名無しさん@お腹いっぱい。
01/12/26 17:59ID:???前スレで、CGIの負荷はむしろアクセス数のほうが問題だ。みたいな事言われているんですが、
ログを書く代わりにhtmlに保存するような掲示板の場合、そのhtmlを書くときに多少無理やっちゃっても大丈夫でしょうか?
たとえば、100kb位の配列をreverseとか。
0019名無しさん@お腹いっぱい。
01/12/26 18:04ID:???絶対やっちゃ駄目
100KBの配列をreverseすると、しない時と比べてメモリを2MB以上消費します(構文解析時のワークエリアも含めて)
良くてアカウント停止、最悪サーバが落ちます
002018
01/12/26 18:08ID:???ありがとうございます。
自鯖で試して、明らかにreverseが重かったので不安になってました。
ところで、reverseの代替となるアルゴリズムって何かありますか?
負荷にならないようなのがいいんですが。。。
0021名無しさん@お腹いっぱい。
01/12/26 18:10ID:???Perlの話ですけど便乗質問よろしいでしょうか?
reverseでやるとまずいそうですけど、例えば
foreach(reverse(@data){$_を処理}
for($i=$#data;$i>=0;$i--){$data[$i]を処理}
この2者の場合、後者の方がいいということでしょうか?
002221
01/12/26 18:12ID:???0023名無しさん@お腹いっぱい。
01/12/26 18:14ID:???>18 配列のサイズ書かれても分からんよ
50KBの要素が2個の配列か、1バイトの要素が102400個かで全然違うだろ?
つーか構文解析に2MBも使わないって(苦笑
0024名無しさん@お腹いっぱい。
01/12/26 18:15ID:???0025名無しさん@お腹いっぱい。
01/12/26 18:16ID:???002621
01/12/26 18:18ID:???ありがとうございます。
自分のスクリプトを手直ししてみようと思います。
ところでこういった事はどこで勉強されるのでしょう?
大抵の書籍とかはプログラミングの仕方は書いてあっても
こういった速度などに関するものはあまりないように思えて・・・。
よろしければご指導お願いします。
0027名無しさん@お腹いっぱい。
01/12/26 18:50ID:???双方向リスト反転してるだけじゃ無いの? #未確認だけど・・・
0028こういう質問はここでいいのかな?
01/12/27 01:36ID:DukV2Cc1たとえばネット対戦できる麻雀ゲームを作成するとすればどういうスキルを習得すればできるんでしょうか?
初心者には無理だってことは承知ですが、参考までにおしえてください。
0029名無しさん@お腹いっぱい。
01/12/27 01:42ID:???彡 ミ 彡 ミ, ヤ |
,,彡 ミ、、、、、、、、彡 ミ, (⌒) レ |
彡;:;: ミ, ( ヽ ヤ
〜三;:;::::: 彡〜 ノ ノ レ
~~三:;:;:;::::: -=・=- -=・=- 三~~ ヽ ( : ;;
~~彡::;:;:;:;:::.. ___ ,三~~ ( ノ ,,,,, : ;;
~~彡;:;:;:;:;:;:;:. |┴┴| ,ミ~~ ノノ ;'" ,,ノ―、 ,;'
~~彡:;:;:;:;:;:;:;:;. ノ――| ---==ニノ ,;'′ >=ニ(二二二()
,...-''''""~~,::;:;::;::;::;::;' ミ,, ,;'′ ゝ--〈
____,;";;:;;;;;;;;;;;;;;;;;;;;;:;:;:;:;:;:;:; i! ミ,,,,;'′ `ー‐'
::::ミミミ:;:;:;: ミ:: ,;' ̄ ̄ ̄ ̄| \___/
:::::ミミミ:;:;: ミ:::, ,;::''′ |. \/
::::ミミミ:;:;:: ,;+''"~~゙+、~'''''~ | |
::::ミミミ:;:;:;: ,+'" ミ::::: | ━┷━━━┳━━━━
:::::ミミミ:;:;:;:;: >':;: ミ:: | ┃
::::::ミミミ:;:;:;:;:;../;:;:;: ;:" | ┃
::::::::ミミミミ:;:/;:;:;:;: ,.+'"''-、________|__ ┃
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄;':;:;:;: ,.+'" ミ、 l ┃
::::::ミ;:;:;:;:.. ..ミ:::ミ:;: ミ l ┃
::::::しUUU┘::::ミ:;: ミ l ┃
:::::::::::::::::::::::::::└UUUじ l ┃
__________________________________,l ┃
━━━┻━━━
0030名無しさん@お腹いっぱい。
01/12/27 01:59ID:???0031名無しさん@お腹いっぱい。
01/12/27 02:16ID:???0032
01/12/27 04:13ID:N1sjwrTI自鯖でCGI(掲示板、C言語で書かれた物)を動かそうと思ってるんですが、うまく動いてくれません。
拡張子をexeに変えてローカルで実行すると、ファイルが大きすぎてメモリに入りきらないというエラーが返されます。
winの設定の問題でしょうか?ちなみに、メモリは256MB,OSはWin2k、httpdはan_httpdです。
#もしかして板違い・・・??(;´Д`)
0033login:Penguin
01/12/27 04:17ID:???不幸だ。
コンパイラって知ってる?
003432
01/12/27 04:34ID:???そのコンパイル済みのバイナリファイルが実行できないんです。
vine2.1.5でコンパイルしてきた奴なんですけど、それじゃダメっすか??
003532
01/12/27 04:35ID:N1sjwrTI003632
01/12/27 04:37ID:N1sjwrTI>拡張子を〜〜
のとこで勘違いされました??
コンパイル→exe→cgi→(゚д゚)マズー
じゃぁexeのまんまでどうだ?→(゚д゚)・・・ー
です。
0037デフォルトの名無しさん
01/12/27 04:55ID:???vineのソフトはWINじゃ動かないだろ?
それともクロス魔術師がコンパイルしたんだろうか
0038login:Penguin
01/12/27 04:55ID:Y9+IS1nfえ・・・vine上でコンパイルしてどこで実行しようとしていらっしゃるのでしょうか
003932
01/12/27 04:56ID:???それでもダメでしょうか?
0041デフォルトの名無しさん
01/12/27 05:00ID:???コードを生成します。
しかし、諦める事はありません。
enterキーを押す時に強く念じるのです!
「これはWINで使うんだよぅ〜〜 (-人-)ナムナム」
そうすれば、小人さんがWINDOWS用のexeファイルを頑張って作ってくれます
難しいけど、、、
頑張って!
# と言うコピペがどっかで有ったよ ^^;
004232
01/12/27 05:01ID:???やぱダメですか・・・(;´Д`)
つーかワラタ(w
winでなんとかコンパイルする方法ありませんか??
ヘッダファイルを無理矢理持ってくるとか・・・
0043デフォルトの名無しさん
01/12/27 05:06ID:???http://www.borland.co.jp/cppbuilder/freecompiler/
んでもって、コイツを設定してこれでコンパイルしてみ
だた処理系依存は当たり前だから、下手するとヘッダさえ
見つからない事もある
と言うか、大きいアプリなんかは絶対無理だ
# BBS位ならうごくかもね
004432
01/12/27 05:08ID:???でも、コンパイルするとヘッダファイルが足りないみたいなんです。
今日はもう寝ますんで、明日また色々調べて挑戦したいと思います。
こんな時間にありがとうございました。
0045デフォルトの名無しさん
01/12/27 05:18ID:???まぁ、規模にもよるだろけどBBS位なら大抵同等のヘッダが有るから
それを使え、ついでにC++もべんきょすれ
004632
01/12/27 05:21ID:???いやぁ、よくわからないんですけど、unistd.hてのがincludeフォルダに無いんですよ(;´Д`)
どっかで落として来れるもんなんでしょうか?
明日linuxから持ってきてincludeフォルダに置いて再度挑戦してみます。
それでは、おやすみなさい。。。
0047login:Penguin
01/12/27 05:23ID:Y9+IS1nf何も考えず、そのままvine上で動作させれば良いと思うんだが
004832
01/12/27 13:30ID:???>>47
いえ、今鯖をlinuxに移行する為の準備期間ってことでlinux勉強中なんですよ。
で、繋ぎとして新しい掲示板をwinで使って見ようかな、と。
さ、これから歯医者いってから試してみたいと思います。
結果は後ほど・・・
004932
01/12/27 17:08ID:???必要なヘッダファイルを持ってきた所、なんとかコンパイルできました。
チョト強引かもしれませんが・・・(;´Д`)
しばらくはこれで繋いで、頑張ってlinux勉強しようと思います。
ありがとうございました。
0050えいじ
01/12/27 19:35ID:VRi8wtO1print OUT "あいうえお\n";
close(OUT);
でfilename.txtが新規作成されますよね。
でも作成場所をトップディレクトリにした場合はは
新規作成されません。
どうしたら解決できるかご存知の方おられますでしょうか。
よろしくお願いいたします
0051名無しさん@お腹いっぱい。
01/12/27 20:00ID:???何箇所にマルチポストしてるの?
0052sage
01/12/28 00:55ID:P8B6/AoK簡単に出せますよ。
$CPU_start = (times)[0] ;
処理内容
$CPU_end = (times)[0];
printf("<DIV align=right>消費時間: %.3f CPU秒</DIV>\n",$CPU_end-$CPU_start);
printf("</body></html>"); # by水沢
0053sage
01/12/28 00:56ID:P8B6/AoKprint "Content-type: text/html\n\n";
出すの忘れないでね(汗
0054
01/12/28 01:07ID:D/y9CjEcread.cgiっていうフォルダを探しちゃったりしないんでしょうか?
それとも、そうさせないための方法とかあるんでしょうか?
どなたか、ご教授下さい。
0055名無しさん@お腹いっぱい。
01/12/28 01:12ID:???ニホンゴハナセヨヴァーカ
005754
01/12/28 01:18ID:D/y9CjEcread.cgiより後ろの文字列は、URLとして解釈されるのか、それとも環境変数に代入(?)されるのでしょうか?
0058名無しさん@お腹いっぱい。
01/12/28 01:24ID:???0059名無しさん@お腹いっぱい。
01/12/28 01:25ID:a98yftGHコンパイラちゃうくて、
インストーラーだっけ?
なによく知らんけど、
WINってバージョンあったよね。
0060馬鹿
01/12/28 01:27ID:???0061名無しさん@お腹いっぱい。
01/12/28 01:30ID:???何が言いたいのか分からない。
環境変数ってどの環境変数??
URIとして解釈されないとパラメータの意味が無くなると思うんだが・・・・
006254
01/12/28 01:50ID:???hoge.cgi/**
の、**の部分が環境変数PATH_INFOに入るということは実験できたのですが、
それでもcgiの実行結果が返ってくるということはhttpdはそのディレクトリは探してないのでしょうか??
>>61
ちょっと自分でもこんがらがって、うまく伝えられない状況(;´Д`)
ググールへ逝って来ます・・・。
0063名無しさん@お腹いっぱい。
01/12/28 02:09ID:???httpdがリクエスト貰ったらDocumentRootからディレクトリを辿って行くのな。
んでディレクトリじゃ無くてファイルか見つかった時点で
httpd_conf何かの設定を見て、そのファイルがexecCGIされてたら
/ 以降をhttpdがEnvのPATH_TRANSLATED何かにセットしてファイルをオープンする訳
まあ大体どんなサーバでもこんな感じでファイルを探してる
これでOK?
0064名無しさん@お腹いっぱい。
01/12/28 02:11ID:???http://pc.2ch.net/php/index.html/foo
006554
01/12/28 02:41ID:???なるほど、これで謎が解けました。
つまり、優先順位(?)はディレクトリよりファイルが先だからhoge.cgiが見つかって
それが実行出来る物であったら、それ以下、?より前の部分がPATH_INFOに入れられるワケですね。
口下手ですいませんでした、ありがとうございました。
0066あげてみる
01/12/28 09:35ID:???通らないってどゆこと?
普通に見えちゃったんだけど・・・。
けど、webprog板だけ、何故かバナーと背景が見えないなあ。
他の板は普通に見えるのに。
謎だ。なんか基本的なことを見落としているのだろうか・・・。
0067名無しさん@お腹いっぱい。
01/12/28 09:50ID:???優先順位も何も、同じ名前でファイルとディレクトリは作れない。
0068名無しさん@お腹いっぱい。
01/12/28 10:28ID:I1y72yIjCGIでやる場合はHTTP_HOSTで振り分けるの?
0069名無しさん@お腹いっぱい。
01/12/28 11:36ID:???0071初心者ですみません
01/12/29 07:33ID:IhpmkgLt掲示板のレス部分にタイトル変更機能が付いてない物を改造しているのですが、
親記事のタイトルが$subj、レスが$rsubjに格納しているとして
if ($subj) { $rsubj = "Re\: $subj"; }
print "\t<b><font color=\"#ff00ff\">$rsubj</font>
これでレス部分に「Re:(親タイトル)」表示が出来たのですが、
自分がレスフォームから書き込んだタイトルを反映させるにはどうすればいいでしょうか。
<input type="text" size="30" name="rsubj" value="Re: $subj">
このようにタグは書いています。
http://pc.2ch.net/test/read.cgi/php/988808396/
0074ななぴ
01/12/29 10:23ID:A1ZmLDMN0075名無しさん@お腹いっぱい。
01/12/29 11:04ID:???00762チャンネららら
01/12/29 18:45ID:Dxg9d8II2ch型なんだけど・・・。
2ch型マイナー掲示板「はにちゃんねる」
http://www.isn.ne.jp/~honey/hc/
アクセス数アップキャンペーン中、みんな紹介よろしこ。
0077名無しさん@お腹いっぱい。
01/12/29 19:24ID:RtOopK2q0078名無しさん@お腹いっぱい。
01/12/29 19:26ID:???ハイパーテキストアクセス
0079名無しさん@お腹いっぱい。
01/12/29 19:27ID:???0080娘にハァハァ
01/12/29 23:25ID:???0081デフォルトの名無しさん
01/12/30 00:45ID:???0082どこが違うの?
01/12/30 08:08ID:Xs3aU9Xx$rhost = $ENV{'REMOTE_HOST'};
print "Content-type: text/html\n\n";
print "<html><head><title>ENV REMOTE_HOST</title></head><body>\n";
print "あなたのリモートホストは、$rhostです。\n";
print "</body></html>\n";
0083どこが違うの?
01/12/30 08:13ID:Xs3aU9Xxなんでリモホはダメなのかなあ
0084名無しさん@お腹いっぱい。
01/12/30 11:18ID:???あなたの脳内を他人は読めないよ
0085名無しさん@お腹いっぱい。
01/12/30 11:21ID:???最近は使えないところが多いね。
何でダメかはサーバー会社にでも聞いたら?
0086名無しさん@お腹いっぱい。
01/12/30 12:14ID:???gethostbyaddrとか使っても駄目かい?
0087どこが違うの?
01/12/30 12:16ID:???アクセスしても、「あなたのリモートホストは、です。」
しか出てこない。
>>85
あっ。そうですか。リモートホスト取得
ってなんか鯖に不都合な事ってあるんですかね?
0089名無しさん@お腹いっぱい。
01/12/30 12:54ID:???0090名無しさん@お腹いっぱい。
01/12/30 13:15ID:???$host= $ENV{'REMOTE_ADDR'};
$host = gethostbyaddr(pack('C4',split(/\./,$host)),2) || $host;
0091名無しさん@お腹いっぱい。
01/12/30 14:25ID:u8VYHHVbif ($ENV{'REMOTE_HOST'} eq $ENV{'REMOTE_ADDR'} || !$ENV{'REMOTE_HOST'}) {
$ENV{'REMOTE_HOST'} = $ENV{'REMOTE_ADDR'} if (!$ENV{'REMOTE_HOST'});
$ENV{'REMOTE_HOST'} = gethostbyaddr(pack('C4',split(/\./,$ENV{'REMOTE_HOST'})),2) || $ENV{'REMOTE_ADDR'};
0092名無しさん@お腹いっぱい。
01/12/30 16:18ID:???> ってなんか鯖に不都合な事ってあるんですかね?
いちいち要求がくるたびにリモートアドレスからホスト名をルックアップしていたら、
サーバーに多大な負荷がかかるから。
通常は必要時だけ(Perlのgethostbyaddr()等で)逆引きできるしてある。
それでもiswebみたいに逆引きできないところがあるけど。
009392
01/12/30 16:19ID:???○できるようにしてある。
0094名無しさん@お腹いっぱい。
01/12/31 02:15ID:j9i5Z4Nrとかってやつの ? 以降を URL エンコードするってよくいいますよね。
で、その URL エンコードってのには、& や = でバラしたりとかいう作業も
含まれているとは思うんですが、
単純に + を半角スペースにしたり %7e を ~ にしたりすることだけのことは
なんていうんでしょうか?
やっぱり URL エンコード?
それとも URI エスケープ?
0095名無しさん@お腹いっぱい。
01/12/31 02:39ID:???0096名無しさん@お腹いっぱい。
01/12/31 02:55ID:9syMh91n0097名無しさん@お腹いっぱい。
01/12/31 03:02ID:9syMh91n>けど、webprog板だけ、何故かバナーと背景が見えないなあ。
>他の板は普通に見えるのに。
<img src="../
~~~
が原因。
ディレクトリが1層下になるからね。
read.cgiもこれを利用して、
<a href=66>
見たいにできるの。
0098名無しさん@お腹いっぱい。
01/12/31 03:32ID:???> で、その URL エンコードってのには、& や = でバラしたりとかいう作業も
> 含まれているとは思うんですが、
URLエンコードはURLに使用できない文字を暗号化すること。
ちなみにエンコード・デコードに分割は関係ない。
0099名無しさん@お腹いっぱい。
01/12/31 12:55ID:???010094
01/12/31 16:20ID:+8aj9sSZ>>98
ってことは、暗号化や復号化の処理自体がエンコードなりデコードってことで
いいってことなんですか、、、ありがとうございます。
いや、ちょっと気になったもので。
こういう「ちょっと気になる」ってのがいちばんイライラするんですよね。
とにかく、ありがと。
0101名無しさん@お腹いっぱい。
01/12/31 17:39ID:???BBSやカウンターを取りつけるには
まずサーバーにページを借りてからするものでしょうか?
0102名無しさん@お腹いっぱい。
01/12/31 18:00ID:???ページを借りるって言うのも意味がわからない。
もう少し詳細を書いてくれんと答えようがないYO!
0103名無しさん@お腹いっぱい。
01/12/31 18:07ID:???BBSを借りてきて、実際使えるように設定するには
サーバーからHPスペースをもらってからでないと
ちゃんと設定できないのしょうか
0104名無しさん@お腹いっぱい。
01/12/31 18:20ID:???別にスペースを借りてこなくても
自分のPCで疑似環境を構築してテストしてから借りればいいんじゃん?
0105名無しさん@お腹いっぱい。
01/12/31 18:24ID:JU12p1Rxその場合、ページの切り替えのときは<a>タグじゃなくて<form>で
切り替えていかないといけないのでしょうか?
リンク先がたくさんあると<form>がその分多くなってしまう気が・・・
何か良い方法があれば、ご教授ください。
0106名無しさん@お腹いっぱい。
01/12/31 18:26ID:???レンタル掲示板やレンタルカウンタの事?
大方は前もって掲示板を借りてても問題は無いと思うけど。
必要な時は自分で設置するから借りた事は無いが、理論上は問題無い。
サービスによっては前もって把握したがるサービスもあるかもしれないけど。
せいぜい気にすべきは掲示板での戻り先くらいな物だろうけど、これは多分後で
設定できるだろうし。
…でもこの質問、少し板違いな気もするが。
Web製作の方がまだ良いかと思われ。
0107名無しさん@お腹いっぱい。
01/12/31 19:05ID:???GETじゃダメなの?
0108名無しさん@お腹いっぱい。
01/12/31 19:58ID:???URIに埋め込むとreferer洩れした時にまずい。
0109名無しさん@お腹いっぱい。
01/12/31 20:45ID:???0110名無しさん@お腹いっぱい。
01/12/31 23:47ID:HmADGb+Hここで使うスクリプトはeucコードじゃないとだめだっけ?
(設定によるのかな?)
文字ヴァケで悩みまくり・・・。
データをjcodeでsjisにして、保存して、見てみると文字ヴァケ・・・。
(htmlのmetaで文字コードは指定していません)
サーバの使いかた忘れちゃったよ。
0111名無しさん@お腹いっぱい。
02/01/01 00:13ID:???何か勘違いしてないか?
0112110
02/01/01 00:38ID:jV/yJayj全部sjisにしたら直りました(たぶん・・・)
0113名無しさん@お腹いっぱい。
02/01/01 01:08ID:???なんか殺伐としてるからさぁ・・・。
あごめん、邪魔した?
0114名無しさん@お腹いっぱい。
02/01/02 01:53ID:iq5oPPqB本屋行っても全然ないんで困っちゃってます。誰か助けて。
0115名無しさん@お腹いっぱい。
02/01/02 02:09ID:???あとはコマンドラインアプリ作ってhttpdと話すだけ
CGIよりhttpdの設定本の方が良いかもね
0116名無しさん@お腹いっぱい。
02/01/02 02:15ID:???標準入出力でやりとりするだけだから易しいもんだよね。
わざわざVC++なんかで組むのが馬鹿らしいくらい。
0117名無しさん@お腹いっぱい。
02/01/02 02:33ID:X3xNyY3jということは、先ずは最初に何か関連本を読んだほうが良いということですね。
早速、本屋に行ってみます。ありがとうございました。
0118親切な人
02/01/02 02:41ID:???ネットサーフィン中に、凄い人気掲示板、発見!!!
「はにちゃんねる」↓
http://www.isn.ne.jp/~honey/hc/
ネット内では、現在、この掲示板の話題で、持ちきりです。
■ このスレッドは過去ログ倉庫に格納されています