2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

C/C++ CGIスレッド

1 :nobodyさん:04/02/26 08:58 ID:GDAQuNNS.net
C言語CGI専用スレッド
http://pc2.2ch.net/test/read.cgi/php/988918264/

C/C++ CGI 専門のスレッドです。

スクリプトを検索できるサイトです。

http://cgi.resourceindex.com/Programs_and_Scripts/C_and_C++/
http://www.cgifiles.com/scripts/cc++/index.shtml

前スレ
http://pc2.2ch.net/test/read.cgi/php/988918264/

2 :nobodyさん:04/02/26 09:00 ID:???.net
あ、スレッドナンバー入れるの忘れた。part 3かな?

3 :パックで前歯折りage!:04/02/26 09:33 ID:???.net
>>2
C/C++統合スレだからPart1でいいよ

4 :nobodyさん:04/02/26 09:35 ID:???.net
Cで書かれたchat
http://www.asahi-net.or.jp/~fj9y-ynym/SofChat/


5 :nobodyさん:04/02/26 10:01 ID:???.net
スクリプトを検索

6 :nobodyさん:04/02/26 13:43 ID:???.net
相変わらず CGIどまりですか?

apache module はやらないんですね…

7 :nobodyさん:04/02/26 20:33 ID:???.net
次は
C/C++ Webアプリ全般スレッド
かな

8 :nobodyさん:04/02/26 20:43 ID:???.net
>7
いつになることやら

9 :nobodyさん:04/02/27 01:38 ID:qZWWODH+.net
>>8
荒れればあっという間

10 :nobodyさん:04/02/27 02:32 ID:???.net
#include <cgi>

11 :nobodyさん:04/02/27 03:00 ID:???.net
#include <2c.h>

12 :nobodyさん:04/02/27 10:27 ID:???.net
C/C++のネイティブ感がたまらん。

13 :nobodyさん:04/02/27 16:32 ID:???.net
>>6
そこまで行くとこの板の範疇じゃ無いだろ。

14 :nobodyさん:04/02/27 23:40 ID:???.net
C++っていいよね。

15 :nobodyさん:04/02/27 23:58 ID:???.net
前スレからC++がいいと言う人が何人かいますが
そういう人はどんなコンパイラを使っているのでしょうか?

16 :nobodyさん:04/02/28 01:47 ID:???.net
ふつうにgccじゃないの?

17 :nobodyさん:04/02/28 19:52 ID:???.net
書くときは VC++ 2003。

18 :nobodyさん:04/03/01 00:38 ID:???.net
CGI書くのにわざわざVC++使いますか?

19 :nobodyさん:04/03/01 10:31 ID:???.net
MinGWのGCCは、std::wstring周りがうまくいかない希ガス

20 :nobodyさん:04/03/02 18:04 ID:???.net
>>13
apache modle で blog とか 掲示板とか をつくったりするなら
web prog じゃないかなって思ったんだけどね

21 :nobodyさん:04/03/02 23:32 ID:???.net
cのCGI動かす時、apacheの設定どうしてますか?

perlのスクリプトと混在してると
perlに送られてエラー500返されちゃうので困ってます。

22 :nobodyさん:04/03/02 23:33 ID:???.net
( ゚д゚)ポカーン

23 :nobodyさん:04/03/02 23:34 ID:???.net
>>21
(゚Д゚)ハァ?

24 :nobodyさん:04/03/02 23:47 ID:???.net
尋ね方がおかしかったでしょうか。
それとも根本的な勘違いでしょうか。

後者なら出直して参ります。

25 :nobodyさん:04/03/03 00:28 ID:???.net
スレ汚し申し訳ありません。
”とんでもない勘違い”をしていました。

無事動作致しました。

26 :nobodyさん:04/03/09 16:32 ID:???.net
CGIに不正入力はつき物だが

その場合戻り値でmainまで報告するか、それともexitを使ってその場で終了か
どっちがいいかの。

27 :nobodyさん:04/03/09 18:35 ID:???.net
C++なら例外投げるヨロシ

28 :nobodyさん:04/03/10 07:03 ID:???.net
Cで書いた CGI で画像を表示したいと思ってるんだが、どうもうまく行かない。
鯖は Windows の Apache、C で書いたテキストベースの CGI は問題無く動作してるのだが・・・。

CGI 本体はこんな↓感じ。

infile = fopen( filename, "rb" ); /* もちろんファイルネームは入れてあるよ */
if( NULL != infile ) {
  i = fread( rbuf, 1, SIZE, infile ); /* SIZE は画像ファイルのサイズだよ */
  printf( "Content-Type: image/gif\n\n" );
  setmode( _fileno( stdout ), _O_BINARY ); /* Windows だからこうする(涙) */
  fwrite( rbuf, 1, SIZE, stdout );
  setmode( _fileno( stdout ), _O_TEXT ); /* そして元に戻しておく */
  fclose( infile );
}

で、MIME タイプを書き出す printf だけをやめて、鯖 PC でこの CGI を直に実行して
リダイレクトで画像ファイル作ると、ちゃんと出来てるんだな これが。

呼び出す時は何の変哲も無く img タグによる CGI 呼び出しなんだが、
バッテンしか表示されない・・・。

正直、行き詰まってます。どなたかお助けを・・・。

29 :nobodyさん:04/03/10 13:08 ID:???.net
>>28
img じゃなくて ダイレクトにそのCGIを呼んだらどうなる?

30 :28:04/03/11 09:03 ID:???.net
ごめんなさい呼び出す HTMLが間違ってました吊ってきます・・・

あ、ちなみに上記のよーなソースで、ちゃんと出来ましたですよ。これで Cでも画像出すのはオッケー。

31 :28:04/03/11 09:05 ID:???.net
>>29
えとですね、MIMEタイプで imageにしちゃってるんで、imgタグでないと無理です、たぶん。
吐き出してる内容はバイナリなんで、MIMEタイプを textにするってワケにも行きませんし。

32 :nobodyさん:04/03/11 09:46 ID:???.net
MIMEタイプで imageにしちゃってるんで、imgタグでないと無理

33 :nobodyさん:04/03/11 10:27 ID:???.net
ブラウザのアドレス欄にそのCGIのURL入力でも表示できるだろ。

34 :nobodyさん:04/03/11 14:15 ID:???.net
>>31
試してみた?

>>32
したっかぶりっこ?

MIMEがついてるんだからこそブラウザ側で判断してくれてちゃんと画像として表示されるよん

35 :nobodyさん:04/03/11 14:22 ID:???.net
したっかぶりっこ?

36 :nobodyさん:04/03/11 14:33 ID:???.net
つーか、ブラウザで.gifへのリンクが開けないとでも思っているのか、と。
http://pc2.2ch.net/ba.gif

>34
>32は晒し上げしているのではないかと。

37 :34:04/03/11 16:01 ID:???.net
>>36
ああ 本当だ すまそ >>33

38 :28:04/03/11 19:49 ID:???.net
>>29
あ、ダイレクトに、ってのは、ブラウザからって意味ですか・・・。
すみません、思い切り勘違いしてました。
(imgタグでない、他の方法で HTMLに記述しろ、という意味かと思ってました・・・ formとか)

試してませんが、たぶん出来ると思います。>>33>>34>>36さんの言ってる通りではないかと。

お騒がせしたです・・・。

39 :sage:04/03/12 01:21 ID:vGYEPhj3.net
Web製作版から出直しな

40 :nobodyさん:04/03/12 01:22 ID:???.net
書くとこ間違えた_| ̄|○

41 :nobodyさん:04/03/12 02:23 ID:???.net
WindowsでLinux用バイナリを吐くことができる
C++コンパイラってありますか?

42 :nobodyさん:04/03/12 08:35 ID:???.net
>>41
答えにはならないけど、LiveCD使うといいのでは?
漏れはLinuxユーザだけど、FreeBSDのサーバで動かすために
FreeBSDのLiveCDを使ったらうまくいった

43 :nobodyさん:04/03/12 11:09 ID:???.net
>>42
FreeSBIEとかいうやつ?

44 :nobodyさん:04/03/12 11:36 ID:???.net
>>43
http://livecd.sourceforge.net/
http://www.freesbie.org/
http://www.netboz.net/

漏れはひとつめのLiveCDというのを使った
aaacafeで動いてる
libc(?)以外のライブラリは静的リンクにしてある

% ldd hoge.cgi
hoge.cgi:
libm.so.2 => /usr/lib/libm.so.2 (0x28091000)
libc.so.4 => /usr/lib/libc.so.4 (0x280ad000)

linuxだとgccやglibcのバージョンに気をつけて選ぶといいかもしれない

45 :nobodyさん:04/03/12 17:02 ID:???.net
>>42-44
試してみます。ありがとうございました。

46 :nobodyさん:04/03/14 14:00 ID:???.net
Lindowsじゃ無理?

47 :nobodyさん:04/03/14 14:37 ID:???.net
>>46
個々のdistroの詳細は板違いなので
Linux板のdistro比較のスレなどを見たほうがいいかも

とりあえずこのへんをチェック
http://www.distrowatch.com/
http://www.distrowatch.com/table.php?distribution=lindows

48 :nobodyさん:04/03/14 22:45 ID:???.net
CでCGI書くとき、filelockはどうやってます?

49 :nobodyさん:04/03/14 23:13 ID:???.net
fcntl

50 :nobodyさん:04/03/15 08:03 ID:???.net
http://pc.2ch.net/test/read.cgi/linux/1077124382/221
あのキモヲタがゴリゴリCでCGIを書く時のライブラリを作っているらしい。

51 :http:// FLA1Aah099.kyt.mesh.ad.jp.2ch.net/:04/03/15 09:04 ID:???.net
guest guest/98

52 :nobodyさん:04/03/16 00:14 ID:???.net
>48
mkdir

53 :nobodyさん:04/03/16 13:40 ID:???.net
flock()

54 :nobodyさん:04/03/16 23:46 ID:???.net
fcntl(2)
flock(2)
lockf(3)

55 :nobodyさん:04/03/18 02:03 ID:???.net
resize.plの C版みたいなの知りませんか?
ここ検索すれとか、何か情報キボン。

いちおうググってみたいけど、ロクなのが見つからない・・・ OTL

56 :nobody55:04/03/18 02:04 ID:???.net
みたいけど

みたけど

57 :nobodyさん:04/03/18 17:25 ID:???.net
ロクなのが見つからない

58 :nobodyさん:04/03/21 00:25 ID:NzuooVWx.net
いかりや長介さん、亡くなっちゃいましたね。
ご冥福をお祈り申し上げますです。

59 :nobodyさん:04/03/21 00:45 ID:???.net
それはいいが
なぜこのスレに書き込んだのかが、大きな問題だ。

60 :nobodyさん:04/03/21 00:47 ID:h03qa3k8.net
>   【訃報】いかりや長介さん逝去
> すばらしい笑いと、円熟の演技を与えてくれたいかりや長介さ
> んが亡くなりました。
> ご冥福をお祈りします。
>
> なお、現在news系のサーバはアクセス過剰で繋がりにくくなっ
> ています。
> いかりやさんを偲ぶのには以下の板をご利用ください
> http://live8.2ch.net/livesaturn/
> http://live10.2ch.net/livevenus/

61 :nobodyさん:04/04/01 03:11 ID:???.net
http://acpp.sourceforge.jp/
こんなの見つけた

62 :nobodyさん:04/04/01 22:19 ID:???.net
>>61

説明ド下手糞な気がするんだが

63 :61:04/04/01 23:23 ID:???.net
>>62
俺もそう思った

64 :nobodyさん:04/04/12 09:09 ID:/q6VLnQf.net
age

65 :nobodyさん:04/04/14 20:29 ID:???.net
char AtoH( char c ){

if( ('0' <= c) && (c <= '9') ) return c - '0';
if( ('A' <= c) && (c <= 'F') ) return c - 'A' + 10;

return 0;
}


// 特殊記号を変換する
void form::Escape( char* src )
{
if(src){
char *dst;
for(dst = src; *src; src++ ){
if( *src == '%' )
*dst++ = ( AtoH( *++src ) << 4 ) + AtoH( *++src );

else if( *src == '+' ) *dst++ = ' ';

else *dst++ = *src;
}
*dst++ = '\0';
}
}

URLエンコード文字列をデコードする関数なんですが、
これがVC2003でうまく動かないんです(VC6ではできたのに)。

原因がわかる人がいらしたら教えてください。
VC2003はほとんど初期設定です。

66 :nobodyさん:04/04/14 20:34 ID:???.net
( ゚д゚)ポカーン

67 :65:04/04/15 18:39 ID:???.net
自力解決しますた…
お騒がせスマソ…

68 :nobodyさん:04/04/17 18:21 ID:???.net
なんて過疎

69 :nobodyさん:04/04/21 16:53 ID:???.net
CGI/1.2ドラフトを訳していたのですが、質問です。
http://cgi-spec.golux.com/cgi-120-00a.html

章8.2 のLocationに関する項目を読むと、絶対URIがスクリプトによって返されると、
サーバは'302 redirect' HTTP応答メッセージを発生させるだろう、とあります。

しかし、302はMoved Temporarilyで、307 がTemporary Redirectになります。
これは誤植と解してよいのでしょうか?

70 :nobodyさん:04/04/21 21:33 ID:???.net
>>69
スレ違いな気もするけど…。
307コードがHTTP/1.1以降だからでは。

71 :nobodyさん:04/04/21 21:54 ID:???.net
ああ、このドラフトはHTTP/1.0策定時点のままということか。
了解しました。サンクス。
http://www.itmedia.co.jp/dict/internet/www/server/03011.html

つーか、ドラフトのまんまでなぜ決定しないんでしょうかね。

72 :nobodyさん:04/05/01 20:42 ID:???.net
M$が不要と言うから

73 :nobodyさん:04/05/02 15:38 ID:???.net
1月1日はドラフト記念日

74 :nobodyさん:04/05/04 00:34 ID:???.net
このスレを活気付かせるにはどうしたらいいものか

75 :nobodyさん:04/05/05 01:01 ID:???.net
>74 が C/C++ による CGI 用のフレームワークを作成してくださるそうです。

76 :nobodyさん:04/05/05 03:48 ID:???.net
aprを積極的に利用してみるスレにしたら

77 :nobodyさん:04/05/05 21:54 ID:???.net
巨大なクエリ来た時にどうするのが王道でしょうか

78 :nobodyさん:04/05/06 02:53 ID:???.net
無視する

79 :nobodyさん:04/05/06 07:13 ID:???.net
>>61情報thx。

http://acpp.sourceforge.jp/
どうもプリプロセッサっぽい感じなんだが、こういう言語仕様に踏み込むもんより、
便利関数ライブラリの方が喜ばれると思うんだがなぁ。

とは言うものの、今困ってるのはサムネ画像生成だけなんで、他はいらんけど・・・。

80 :nobodyさん:04/05/06 07:24 ID:???.net
>>77

>>78が正解でしょ。
より詳しく書くなら、まず「大量とは、どれだけなのか」を規定し、規定以上のは無視。って事で。

81 : ◆Ad8rdfdZgs :04/05/06 18:24 ID:???.net
>>65

関係ないが
char AtoH( char c ){
if( ('0' <= c) && (c <= '9') ) return c - '0';
if( ('A' <= c) && (c <= 'F') ) return c - 'A' + 10;
return 0;
}



char AtoH( char c ){
if( ('0' <= c) && (c <= '9') ) return c - '0';
if( ('A' <= c) && (c <= 'F') ) return c - 'A' + 10;
if('a'<=c)&&(c<='f')) return c-'a'+10;
return 0;
}

EzWeb機が%ffみたいに送ってくるから、後々のためにもこの方が。

>>77
if(atoi(getenv("CONTENT_LENGTH"))>=1024000) return 0;
char *buf = new char[atoi(getenv("CONTENT_LENGTH"))+1];
//あとは好きにしる

delete [] buf;

82 :65:04/05/06 18:38 ID:???.net
>81
あるんだそういうの
サンクス


ちなみに
*dst++ = ( AtoH( *++src ) << 4 ) + AtoH( *++src );



*dst = AtoH(*++src) << 4;
*dst = AtoH(*++src);
dst++;

にしたらうまくいったんすよ
なんかやっぱMSだなと思た

83 : ◆Ad8rdfdZgs :04/05/06 18:59 ID:???.net
>>82
dstの位置変わってないから
*dst = AtoH(*++src) << 4;
の意味がなくなってる気もするんだが。

*dst = AtoH(*++src) << 4;
*++dst = AtoH(*++src);
dst++;
とでもしないと、dstに下位4ビットだけを突っ込んでる気がしてならないんだが。

84 :nobodyさん:04/05/06 20:02 ID:???.net
*dst += AtoH(*++src);
だた


85 : ◆Ad8rdfdZgs :04/05/06 21:54 ID:mtQhCRig.net
>>84
あ、漏れの書いたのが間違ってた・・
こっちのほうがまずいw

納得

86 :nobodyさん:04/05/06 23:36 ID:???.net
>>77
エラートラップ。

>>82
> *dst++ = ( AtoH( *++src ) << 4 ) + AtoH( *++src );
二箇所の*++srcのどちらが先に処理されるかは未定義。

87 :nobodyさん:04/05/07 02:51 ID:???.net
>>65>>82

>>86も言ってるが、今はコンパイラが働き者だから、1行で済ます必要は無いと思うぜ・・・。
恥を忍んで言うが、漏れが *dst++ = ( AtoH( *++src ) << 4 ) + AtoH( *++src );  こんなの書こうとしたら、
数行になってしまう。でも間違いにくいから良いんだと思ってる。勝手に。

副作用とかいちいち憶えてらんないし・・・マクロ書く時に苦しむのもやだし。

88 :nobodyさん:04/05/07 09:40 ID:???.net
>>87
いいこといった。

89 :nobodyさん:04/05/09 14:01 ID:???.net
>65
>なんかやっぱMSだなと思た

自分のバグを他人のせいにするな。


90 :65:04/05/09 16:10 ID:???.net
ごめn

91 :nobodyさん:04/05/23 22:40 ID:Mos9rAOM.net
なんだかどうも、プログラムの引数に「=」の文字を入れると動作がおかしいのです。

というのは、
たとえば Perl の CGI で
 test.cgi?a=5
とすれば、$ENV{'QUERY_STRING'} の中身は "a=5" になるのに、

C で作った CGI (printfするだけのモノ) だと
 test.cgi?a=5
としても、main(int argc,char *argv[]) の argc が 1 で引数が受け取れてないのです。
test.cgi?a5
とすれば、argc は 2 になって、argv[1] の中身が "a5" になるのですが。

そういうわけで引数に「=」を使えない理由と対処をキボン願います。


92 :91:04/05/23 22:43 ID:???.net
ちなみに、自宅サーバで
Apache HTTP Server 2.0.49
を使ってます。Apacheの設定に問題があるのかな…


93 :nobodyさん:04/05/23 22:58 ID:???.net
釣り…か?

Perlの$ENV{QUERY_STRING}に相当するものはstdlib.getenv("QUERY_STRING")なわけだが。

94 :nobodyさん:04/05/23 23:31 ID:???.net
別にC言後とは関係ないけど引数で処理したかったら

hoge.cgi?-hoge+true+-fuga+false
などとすれば

./hoge.cgi -hoge true -fuga false
こうなる

あとはgetopt(3)でも使えばオプションの処理ができるかな
まあ一般的ではないな

95 :nobodyさん:04/05/24 15:40 ID:???.net
>>91
Cで作る CGI プログラムは、普通のコンソールアプリと基本的には同じだが、
main関数でもらえる「引数」と、CGI で渡される「引数」は、全くの別物だ。

main関数の「引数」は、コマンドラインで与えられるものだが、CGI の方は
サーバから環境変数を経由して与えられる。なので>>93が言ってる事を試してみそ。

>>93
釣りにしてはあまりにあまりな・・・・なので、さすがに釣りではないと思うよ。

96 :91:04/05/24 23:40 ID:???.net
>>93-95
なる。基本的なところを忘れてました。環境変数でしたね。
getenvでできましたです。ありがとうございました。


97 :nobodyさん:04/05/24 23:58 ID:???.net
>>96
(・∀・) オメデトウ!コレカラモガンガッテイコウ!

98 :nobodyさん:04/05/25 09:45 ID:???.net
POSTの場合は?
ってゆうかそのあたりも含めて楽になるperlのCGIモジュールみたいなのとかあるんでしょうか?


99 :nobodyさん:04/05/25 13:14 ID:???.net
POSTはstdinから。
aprとか使えば少しは楽になるかも
http://apr.apache.org/

100 :nobodyさん:04/05/25 17:05 ID:???.net
GETも POSTも、環境変数渡しという点ではほとんど同じ。POSTの方がちょっぴり手間が多いだけ。

POSTの場合は、環境変数 CONTENT_LENGTHに、POSTされた文字列長が入っているので、
そのぶんだけ stdinから読み込む。簡単に書くとこんな感じ。

int i;
char * env_p;

env_p = getenv( "CONTENT_LENGTH" );
if( NULL == env_p ) {
 /* 何もないです */
}
else {
 for( i = 0 ; i < atoi( env_p ) ; i ++ ) {
  /* ここで getchar とかする */
 }
}

こういう定型処理をラクにするライブラリとかは、いろいろ出回ってるから探すが吉。

101 :nobodyさん:04/05/28 21:45 ID:???.net
自分もその辺気になりつつも資料見つけられず躊躇してたんですが
挑戦してみようと思います。

/*ただスクリプトの時にはあまり気にしなかったメモリ管理とか不安もあります。
何かしら”C/C++ゆえに気をつけるべき事”とかあるんでしょうか?*/

102 :nobodyさん:04/05/29 10:51 ID:???.net
C++はあまり詳しくないが、Cについて気を付けるべき事はたくさんありすぎて、とてもここでは書ききれないがな。
漏れが言えるのはこれくらい。レベル的にバラバラの事書いててスマソ。

・取得したメモリリソースは必ず解放せよ
・変数の型には気を付けすぎるくらい気を付けよ(ロジック調べても分からんバグの原因になる)
・ポインタは理解して使え
・コンパイルするので、変数名は長くてもいい、分かりやすいものを!
・同じ理由で、コメントもしつこく書け
・同じ理由で、短く書こうとするな(バグの原因になる事がある)
・1つの関数を長くしすぎるな
・==演算子で定数と変数を比較する時は、定数を左辺に書け(間違って=にしてもすぐ分かる)
・プログラムテストは慎重に細心に、完璧を目指せ


103 :nobodyさん:04/05/30 01:08 ID:???.net
C++でも入出力系はstdioのほうがやり易いと思う
小さいし

104 :nobodyさん:04/05/30 05:37 ID:???.net
>>101
Cなら文字列操作とメモリ管理のライブラリをどこかから調達するか、
自作してから取り掛かった方がいいよ。
バッファオーバーフロー対策が一番面倒だから。

105 :nobodyさん:04/05/31 18:03 ID:???.net
perlとかにあるsplit関数に当たるものがあると便利

106 :nobodyさん:04/05/31 19:24 ID:???.net
>>102
ありがとうございます。
C/C++以外でも使えそうなTIPSが多くて参考になります。
慎重さは勿論のこと、ちょっとした工夫も大事と再認識しました。
>>104
こちらもありがとうございます。
まずはそういうライブラリを読むところから始めてみますね。

107 :nobodyさん:04/06/01 00:28 ID:???.net
昔、Lispやっててperlのsplit関数自作したことあったな

108 :nobodyさん:04/06/06 21:23 ID:NScYEbPc.net
jcode.plのようなものってありませんか?

109 :nobodyさん:04/06/06 21:48 ID:???.net
iconv

110 :nobodyさん:04/06/07 01:33 ID:H9Q5V/FE.net
C/C++/D用(ってかx86用)のアプリケーションサーバが出たら乗り換えますか?
関数、クラスの単体テストエンジンとかついたようなヤツで。

111 :nobodyさん:04/06/11 01:06 ID:???.net
スタンドアローンて拡張性無いけど手軽なのよね

112 :nobodyさん:04/06/26 15:46 ID:???.net
perlやphpに比べて生産性が低くて不利ですな。
mod_perlにスピードで負ける事もあるし。
mod_cobolとかあるのかしら

113 :nobodyさん:04/06/26 15:49 ID:???.net
( ´_ゝ`)フーン

114 :nobodyさん:04/06/27 18:25 ID:EhMRIfAG.net
すまん、CでCGI作るときに便利なライブラリとかってないかな。
探しても探してもでてこないんだが・・・

115 :nobodyさん:04/06/27 20:07 ID:???.net
( ´,_ゝ`)プッ

116 :nobodyさん:04/06/27 20:10 ID:EhMRIfAG.net
こんなに必死に頼んでいるのに教えてくれないなんて、
ここはひどいインターネットですね!

117 :nobodyさん:04/06/27 20:21 ID:???.net
(・∀・)ニヤニヤ

118 :nobodyさん:04/06/27 20:25 ID:???.net
2chだからある程度は割り切らないと

119 :nobodyさん:04/06/27 20:43 ID:EhMRIfAG.net
// ここはひどい(ry のネタ知らない人がいるっぽ
探してもやっぱり見つからんです。


120 :nobodyさん:04/06/27 20:56 ID:???.net
いい加減なやつしかいないスレにはいい加減に書き込めばいいんだよ

121 :nobodyさん:04/06/27 21:56 ID:???.net
>>114
>探しても探してもでてこないんだが・・・

http://www.gnu.org/search/fsd-search.py?q=CGI
お好きなのをどうぞ。




122 :nobodyさん:04/06/28 16:49 ID:Mb32PIG4.net
webminなんかがどう関係あるんだろうと小一時間(ry

123 :nobodyさん:04/06/28 18:59 ID:???.net
フォームのデコード&検索クラスがあればあとはどうでもいいけどね
所詮ラインプログラムだし

124 :nobodyさん:04/06/28 19:14 ID:???.net
>>122
gnu.orgの人に聞いてくれたまえ。


125 :nobodyさん:04/06/29 15:43 ID:???.net
gnu.orgの人も大変だな

126 :nobodyさん:04/06/29 18:42 ID:iEl5sUlF.net
ttp://www1.harenet.ne.jp/~a-mura/cgisoft/dakentype/dakentop.html
これに英文の問題を入れたい場合、Word.jsはどのようにいじれば?

127 :大学の宿題だけど意味不明、おしえてけろ:04/07/02 22:30 ID:rGD5/XCW.net
下記のフォローチャート教えて!
2進数の乗算
シフト演算と加算と減算の繰り返しによって2進数の乗算を行う。
条件 一、乗算と被乗算は符号なしの16ビット整数
   二、乗算と被乗算以外の変数は32ビット整数
   三、シフトは論理シフト(表記方法:左シフトは<、右シフトは>)
      例、 X=X<1 Y=Y>1
参考 一、左シフト⇒nビットシフトは(2のn乗)倍になる
   二、右シフト⇒nビットシフトは{1/(2のn乗)}倍になる
一般法則  一、乗数の2の0乗ビットが1の時、被乗数をそのまま加算し、
        0の時は何もしない。
      二、乗数の2のn乗ビットが1の時、被乗数をnビット左シフト
        して加算する。0の時は何もしない。


             ( 開 始 )
                |
             X = 被乗数
             Y = 乗数
             Z = 0    ←←乗算結果
                |

128 :nobodyさん:04/07/02 22:40 ID:???.net
ローカルルールくらい読んでくれな

129 :大学の宿題だけど意味不明、おしえてけろ:04/07/02 22:45 ID:rGD5/XCW.net
下記のフォローチャート教えて!

図形の右90度回転
  配列H[Y:1〜7][X:1〜7]は、図のような図形要素が
  格納されてます。これを図2のように右に90度回転
  した配列要素を配列I[Y:1〜7][X:1〜7]へ作成する。

図1
     X軸
   1 2 3 4 5 6 7
  1■■■■■■■
 2 ■
y 3   ■
軸 4 ■ ■■■
  5 ■ ■
  6 ■ ■
  7■■■■■■■


図2
   x軸
 1 2 3 4 5 6 7
1■     ■
2■■■■  ■
3■     ■
4■■■■■■■
5■  ■  ■
6■  ■  ■
7■     ■

130 :nobodyさん:04/07/03 00:39 ID:???.net
>>129

(Start)
 ↓
[回転処理]
 ↓
(End)


131 :nobodyさん:04/07/03 11:52 ID:???.net
$gzip = '/bin/gzip/';

if($ENV{'HTTP_ACCEPT_ENCODING'} =~ /gzip/ && $gzip ne ''){

print "Content-type: text/html;charset=Shift_JIS\n";

if($ENV{'HTTP_ACCEPT_ENCODING'} =~ /x-gzip/){

print "Content-encoding: x-gzip\n\n";

}else{

print "Content-encoding: gzip\n\n";

}

open(STDOUT,"| $gzip -1 -c");

}else{

print "Content-type: text/html;charset=Shift_JIS\n\n";

}

これのC版はどうすればいいんですかね・・・?

132 :nobodyさん:04/07/03 11:53 ID:???.net
( ゚д゚)ポカーン

133 :nobodyさん:04/07/05 15:51 ID:/46odsg/.net
Cで画像のアップロードCGI作ってるんだけど、
データの取得の方法が分からんのよ。

if ( strcmp(method, "POST") == 0 ) {

// コンテンツ長の取得
contentLength = getenv("CONTENT_LENGTH");

// バッファサイズの判定
if( atoi(contentLength) > LINE_BUFFER ) {

// バッファサイズエラー
exit(0);
}


fgets(Data, (int)contentLength, stdin);

}
これじゃDataには入らないの?

134 :nobodyさん:04/07/05 16:25 ID:???.net
% man 3 fgets

135 :nobodyさん:04/07/05 16:27 ID:???.net
>>133
>これじゃDataには入らないの?

http://www2k.biglobe.ne.jp/~motoi/cdecgi02.html
参考になるかも。

アップロードの場合、
getenv("CONTENT_TYPE")がapplication/x-www-form-urlencoded
じゃなくて、multipart/form-data; boundary=----------hogehogeohogehoge
ってなってるはずだから読み込んだデータを分離する必要あるんじゃない?

136 :nobodyさん:04/07/05 18:14 ID:/46odsg/.net
>multipart/form-data; boundary=----------hogehogeohogehoge
>ってなってるはずだから読み込んだデータを分離する必要あるんじゃない?

色々と試した結果、データ分離前まではできました。
分離させんの大変そうだなぁ。

137 :nobodyさん:04/07/05 18:16 ID:???.net
( ゚д゚)ポカーン

138 :nobodyさん:04/07/05 18:49 ID:???.net
>>137

ageてまで何が言いたいのかわからん。
いいあるなら方法教えてよ。

139 :nobodyさん:04/07/05 20:15 ID:???.net
教えて君ウザイ

140 :いいあるなら:04/07/05 21:12 ID:???.net
いいあるなら

141 :138:04/07/05 21:38 ID:???.net
>>139-140
   , -‐−-、  ヽ∧∧∧ //  |
.  /////_ハ ヽ< 釣れた!> ハ
  レ//j け ,fjlリ / ∨∨V ヽ  h. ゚l;
 ハイイト、"ヮノハ     //   |::: j  。
  /⌒ヽヾ'リ、     //     ヾ、≦ '
. {   j`ー' ハ      // ヽ∧∧∧∧∧∧∨/
  k〜'l   レヘ.   ,r'ス < 初めてなのに >
  | ヽ \ ト、 ヽ-kヾソ < 釣れちゃった!>
.  l  \ `ー‐ゝ-〈/´   / ∨∨∨∨∨∨ヽ
  l     `ー-、___ノ
  ハ   ´ ̄` 〈/‐-、

142 :nobodyさん:04/07/05 22:36 ID:???.net
stdinから丸呑みしてファイルにでも保存してみろ。

143 :138:04/07/05 23:42 ID:???.net
>>142
またまた釣れた。

144 :nobodyさん:04/07/06 08:43 ID:LzoVUw8w.net
CでCGIは既に古典的なんだから
知らない人の手助けでもせんと
このスレの意味ないじゃん

145 :nobodyさん:04/07/06 09:27 ID:???.net
% man 2 read
% man 3 fread
% man 3 fgets

146 :nobodyさん:04/07/06 10:28 ID:???.net
ここは、そんな餌で俺がクマーなインターネッツですね

147 :nobodyさん:04/07/06 11:39 ID:???.net
プログラム板へ書き込んだのですが放置されました。。(涙)
マルチで申し訳ないですが再度書き込まさせていただきます。

この度RedHat7.3(@)からRedHat9(A)へ移行したのですが、
@で問題なく動作していたCGIがAの環境で一部動作しなくなりました。
//環境
@RedHat7.3
gcc-2.96-113
apache-1.3.27-2
ARedHat9
gcc-3.2-2-5
httpd-2.0.40-21.9

原因を調べていくとどうも日付計算部分がエラーを起こしているようです。
一般的な日付計算ですが何が問題なのか検討もつきません。
(ググッたのですが・・わかりませんでした。。gccが原因??)
どなたか教えていただけないでしょうか?よろしくお願いいたします!!
※apache1.3.31でも同様の現象がおきました。。。
/*-----ソース一部抜粋------*/
#include <stdio.h>
#include <time.h>

struct tm*ptr;
time_t lt;
intNowYY, NowMM, NowDD;

lt = time(NULL);
ptr = localtime(&lt);
NowYY = ptr->tm_year + 1900;
NowMM =ptr->tm_mon + 1;
NowDD = ptr->tm_mday;
/*----------------------*/

148 :nobodyさん:04/07/06 11:42 ID:???.net
機種依存文字使うなヴォケ

149 :147:04/07/06 11:50 ID:???.net
書き忘れましたが、Cで作っているプログラムです。コンパイル問題なく通ります。
apacheのエラーログを見ると”premature end of script headers”と出ているので
どうもhtmlに出力時にCGIが死んでる見たいです。
同じ現象が出ている人も多いと勝手に思ってるのですが、私だけなんでしょうか??
ググっても perlのことばかりなんで・・・・

150 :147:04/07/06 11:53 ID:???.net
>>148
localtime(&lt);のことですか?
&を大文字で書かないと2ちゃんに書き込むときに
">"に変換されてしまうんで・・・


151 :nobodyさん:04/07/06 12:03 ID:???.net
なんだ、ネタだったのか…
釣られちゃったよ orz

152 :nobodyさん:04/07/06 12:07 ID:NBQAU1O/.net
CGIの出力でSSIを使いたいのですが
使えます?使ってる人いますか?


153 :nobodyさん:04/07/06 12:19 ID:???.net
(´-`).。oO(アホか・・・)

154 :152:04/07/06 12:23 ID:NBQAU1O/.net
>>153

なんで?なんでアホなの??
サーバーがパースしてくれないから絶対使えないの??

155 :nobodyさん:04/07/06 12:25 ID:???.net
そんな餌で俺がクマー(AA略

156 :152:04/07/06 12:27 ID:NBQAU1O/.net
マジな質問でも釣りとかいわれるスレなんだね・・・

157 :nobodyさん:04/07/06 12:29 ID:???.net
それ以前にスレ違い

158 :152:04/07/06 12:33 ID:NBQAU1O/.net
なんで?CのCGIでSSIを出力したいんだよ?
このスレジャン

159 :nobodyさん:04/07/06 12:38 ID:???.net
こいつはCのCGIで出力するhtmlについてもここで聞くのだろうな・・・

160 :152:04/07/06 13:20 ID:NBQAU1O/.net
>>159

知らないんだろ?w

161 :nobodyさん:04/07/06 13:28 ID:???.net
釣れますか?

162 :152:04/07/06 13:30 ID:NBQAU1O/.net
くだらない釣りすんなよ・・スレ汚しが・・・

163 :nobodyさん:04/07/06 13:31 ID:???.net
このスレ、なんか臭いな

164 :152:04/07/06 13:34 ID:NBQAU1O/.net
お前が臭くしたんだよ・・・

165 :147:04/07/06 13:41 ID:???.net
>>151さん
ネタじゃないんですよ。。本気で悩んでます。。

>>152さん
SSIを使いたいというのはよくわからんのですが
特定のHTMLの一部分に数値等を表示させたいということでいいんですか?

166 :nobodyさん:04/07/06 14:01 ID:???.net
localtime(<);

167 :152:04/07/06 14:11 ID:NBQAU1O/.net
>>165

<!--#include file="他のファイル.html" -->を使って他のhtml
ファイルを取り込んでブラウザーに出力できないかなって思ったんです。

SSIってhttpdがファイルをパースして結果を置き換えますよね・・・

なんで出力をパースさせればいいのかな??
CGIからの出力をパースさせるのはhttpdの設定(apacheなんでhttpd.conf)??

なんて考えてたんですけど実際はどうすればいいのかわからないので
質問してみたんです・・・・・



168 :nobodyさん:04/07/06 14:28 ID:???.net
SSIの基本を理解してないならくだ質スレへどうぞ

169 :152:04/07/06 14:35 ID:NBQAU1O/.net
>>168

はあ?どこがわかってねえっていうんだよボケ!
つーかどこが理解してないかいえねえだろ?
トリアエズくだらねえツッコミばっか入れてるキモイてめえはこんりんざいだまってろ
アホ。

170 :nobodyさん:04/07/06 14:38 ID:???.net
どうもならんな・・・
己の無知に気がついていない

171 :152:04/07/06 14:45 ID:NBQAU1O/.net
何もいわないで適当に批判すれば頭がよくみられるんだなこのスレでは・・・

172 :nobodyさん:04/07/06 14:50 ID:???.net
もう回答は得られないのだから好きに吠えていろ池沼

173 :nobodyさん:04/07/06 15:00 ID:???.net
おまいら、これでも見てモチツケ
http://www.sweetnote.com/images/5604972680f574242200eccb0dc39af4.jpg
http://www.sweetnote.com/images/549af04143a8f0a1c24a5c1826ab3234.jpg

174 :152:04/07/06 15:03 ID:NBQAU1O/.net
147みたいなまともな人もいるんだけど、
172みたいなどうしようもない負け犬がわんわん吠えると
とたんに堕スレになっちゃうな。


175 :nobodyさん:04/07/06 15:19 ID:???.net
>>173
見れないよう

176 :147:04/07/06 15:45 ID:???.net
>>152
あんまりあつくなっても・・・・
SSIうんぬんではなくて
Cでパースして出力すればできるのでは?

177 :黒死犬 ◆EgxBlf8nvc :04/07/06 16:45 ID:???.net
AddType

178 :fff:04/07/06 16:50 ID:???.net
>>SSI
http://httpd.apache.org/docs/misc/FAQ-F.html#ssi-part-iii
という感じで、"You can't."だと。しかし、
This is a feature The Apache Group hopes to add in the next major release after 1.3.
で、付加される機能かも知れない。知らないが。

179 :nobodyさん:04/07/06 16:56 ID:???.net
>>147
とりあえずprintfとかでヘッダーを出力した後にfflushしておけばそのエラーは出ないかも。

180 :179:04/07/06 17:08 ID:???.net
というか、その前に落ちているのか。
おそらく問題は他にある。

181 :黒死犬(魚かも) ◆EgxBlf8nvc :04/07/06 17:18 ID:???.net
ヘッダにいらんもん出力してるって分かってんだから
プログラムが出力してる内容を見れば良いだけじゃない・・・

182 :nobodyさん:04/07/06 17:19 ID:???.net
>>181
ヘッダを出力する前に落ちているだけだろ。馬鹿かお前は。

183 :黒死犬(魚かも) ◆EgxBlf8nvc :04/07/06 17:21 ID:???.net
いやいや、違いますよ
>>149
を読んでください

184 :黒死犬(魚かも) ◆EgxBlf8nvc :04/07/06 17:22 ID:???.net
すまそ誤爆った
でしゃばってすまぬ

185 :nobodyさん:04/07/06 17:22 ID:???.net
落ちてヘッダを出力していないから「premature end of script headers」になるんだよ。


186 :nobodyさん:04/07/06 17:32 ID:???.net
CGIが出力するhtmlにSSIを書いても動きません。

はい終了。

方法はあるけど152みたいなやつには教えん。

187 :nobodyさん:04/07/06 17:40 ID:???.net
少なくともapache 2.0.50で動くことは今確認できた
でも完全にスレ違いの話題だな

>>152はこんなところで煽ってる暇があったら自分で調べろよヴォケ

188 :147:04/07/06 17:58 ID:???.net
179さん、黒死犬(魚かも)さん、187さん

アドバイスありがとうございます。

プログラムの内容は、
@入力フォームのhtmlの数値を取り込み計算
A計算結果画面のhtmlに計算結果数値を埋め込んでいく

という一般的なものなんです。
Time関数を使用している箇所を除くと表示できるのですが。。
187さんの言うとおりapacheの問題かもしれませんね。2.0.50で試してみます。
スレ違いで申し訳ありませんでした。

189 :nobodyさん:04/07/06 18:02 ID:???.net
>>188

シェル上で擬似的なパラメータを渡してテストとかしないの?
>Time関数を使用している箇所を除くと表示できるのですが。。
そこまでわかっているのなら簡単なサンプルでデバッガのお世話
になるとか?

190 :147:04/07/06 18:11 ID:???.net
>>189

うっ・・おっしゃるとおりです。。
問題の部分のみで再度チェックいたします。

191 :nobodyさん:04/07/06 18:19 ID:???.net
>>188
>>187はSSIのことね
CGIが出力したSSIが動くということ

>>147>>189タンの書いた通り
まずコマンドラインから実行できるかどうかチェックすべき

あとは、ヘッダを出力する前に落ちているのであれば
原始的な方法だけど、ヘッダを出力する場所を変えてみるとか
最初にヘッダを出力した場合動くかどうか

192 :nobodyさん:04/07/06 18:21 ID:???.net
>>188
機種依存文字を使うなと前にも言われただろ

193 :nobodyさん:04/07/06 20:57 ID:???.net
>>169
こんな暴言吐く人に回答する義理も無いわけで。
漏れはスルーしてたけど、ここの住民さんは意外と優しいのだな・・・。

194 :152:04/07/07 08:18 ID:Zb/loxvw.net
>>176

そうですよね・・・SSIにこだわる理由はないですね・・・
冷静に考えたらオーバーヘットもあるしSSIを出力する意味ないですよね。
素直にCでパースします。ありがとうございました。

>>俺様に暴言を吐いた有象無象ども

おめえら使えねえんだよ、アホ。
たいした知識でもねえのに出し惜しみするチンカスは一生すっこんでろボケ。

195 :nobodyさん:04/07/07 09:28 ID:???.net
なんだ、結局SSIで動かすことができなかったんだな(プ

196 :152:04/07/07 10:55 ID:Zb/loxvw.net
>>195

出来たけどお前には教えない(プ

197 :nobodyさん:04/07/07 16:01 ID:???.net
【厨房のための煽り煽られ講座】

言い返せないけど負けは認めたくない
  → ( ´,_ゝ`)プッ
  → 無知白痴は黙ってろ
  → 知能障害をおこす
  → 出来たけどお前には教えない(プ  ←>>152

198 :nobodyさん:04/07/08 02:16 ID:???.net
まぁ夏だからしょうがないのか・・・

199 :nobodyさん:04/07/08 04:04 ID:???.net
暑さはヒトをダメにする

200 :nobodyさん:04/07/08 10:26 ID:073/5w7j.net
そもそも今時CでCGIというのが不自然なんだから
変なのが湧いてくるのは仕方がない。

Cの入門者用に掲示板程度のサンプルを提供するのは意味があるかもしれんが
それ以上の高機能なものは大人しくperlかPHPで作ればいいんです。
CでCGIを開発出来ても誰も誉めてくれないし一銭にもならないのではないか?

          ,.. -―-- |
       ,.' ´ ``´  ̄ ``. .|
     ,. '´   ,   、   .|
   /   ,  l  i  ヽ \ .|
   / ./ /,'  !ヽ ヽ  ヽ. ヽ.|
  / / ./ l _⊥ヽ‐ヽ、'T''| |って書き込んだらC信者が何人か釣れるのカナ?
  {{ |  | レ'! ヽ\_\,,-,‐-.|
  l l l  | | |/Tハ    |::f;;}||
   !ヽN |、 | !` l:リ}     ‐'‐'.| 
      `!ヽN ヽ" `ー    .| 
      | | | `i - ..,.. '´''.|
        ! ! l,-┴/ハ   |
       ヽ N,. '´,.=El=、、/|

201 :nobodyさん:04/07/08 13:45 ID:???.net
【厨房のための煽り煽られ講座】

言い返せないけど負けは認めたくない
  → ( ´,_ゝ`)プッ
  → 無知白痴は黙ってろ
  → 知能障害をおこす
  → 出来たけどお前には教えない(プ  ←>>152
→ 釣りを始める ←>>200(>>152)

202 :nobodyさん:04/07/08 19:05 ID:???.net
C++っぽく・・・

bool urldecode(std::string &s){ //省略。}
struct form_pair
{
string name;
string value;
};
istream &operator >>(istream &is,form_pair &fp)
{
string s;
getline(is,s,'&');
if(is.fail() || is.bad())
return is;
string::size_type pos = s.find('=');
if(pos == string::npos)
{
fp.name = s;
fp.value = "";
}
else
{
fp.name = s.substr(0,pos);
fp.value = s.substr(pos+1,s.length()-(pos+1));
}
if(!(urldecode(fp.name) && urldecode(fp.value)))
{
is.setstate(ios::failbit);
}
return is;
}
typedef istream_iterator<form_pair> urldecode_iterator;

203 :nobodyさん:04/07/08 20:14 ID:???.net
( ゚д゚)ポカーン

204 :nobodyさん:04/07/08 21:03 ID:???.net
このスレもうだめぽ゚・(ノД`)・゚・。

205 :nobodyさん:04/07/09 13:27 ID:???.net
なんか、もう、ぬるぽだな

206 :nobodyさん:04/07/11 02:25 ID:???.net
>>205
ガッ

207 :名無しさん@そうだ選挙に行こう:04/07/11 17:20 ID:8T5rEfNa.net
http://puppy.cute.tc/の、
ReportBoardのCGIは何処のCGIですか?
似たCGIでもいいです。
わかる人がいたら教えてください。

208 :名無しさん@そうだ選挙に行こう:04/07/11 17:34 ID:???.net
>>207
板違い

209 :nobodyさん:04/07/18 23:47 ID:???.net
保守

210 :C言語がイイよね?:04/07/28 23:38 ID:UZklF3eT.net
CでURLエンコードするコードを考えてマス
文字列の中で2バイト文字だけ判別して
判別した文字を16進数にキャストしてやれば
出来ると思うのですが、具体的なコードが浮んできません。
ウマイコードあったら参考にさせてください。

211 :nobodyさん:04/07/29 05:58 ID:???.net
>>210
ここ↓の
ttp://www-cms.phys.s.u-tokyo.ac.jp/~naoki/CIPINTRO/CCGI/index.html
「FORMデータの処理」「漢字コードの処理」を参考にしてまつよ。
他にも検索すれば出てくると思う。

212 :GROAD ◆4C1MajRa36 :04/07/31 11:59 ID:???.net
ぬるぽ

213 :nobodyさん:04/08/01 14:53 ID:???.net
>>212
ガッ

214 :nobodyさん:04/08/04 20:03 ID:???.net
C++( string 使いたいだけで )でCGIを組んでいましたが、
エラーログに
malformed header from script. Bad header=\x1f\x8b\b: /home/****/hoge.cgi
とでます。"Content-type: text/html; charset=EUC-JP\n"
を出力する前に何も出力関係の関数は使っていません。
マシン負荷などに関係なくでます。
だいたいは正常に動作していますが、時たま程度のエラーですが気になります。

原因が解る方が居たら、お力を御貸し願いたい。
apache1.3.27、 gcc 2.95.2.1です。

215 :nobodyさん:04/08/05 18:01 ID:???.net
ヘッダ後の改行は2回だがまさか…違うよなぁ。

216 :nobodyさん:04/08/06 00:00 ID:???.net
で、当然、"\x1f\x8b"が何なのかはぐぐってみたんだよな?

217 :nobodyさん:04/08/08 15:16 ID:???.net
>>214 の自己レス

gzipをpopenで出力してた。
mod_gzipにしたら解決しました。

218 :nobodyさん:04/08/08 20:39 ID:???.net
>>217
解決おめ

219 :nobodyさん:04/08/11 23:44 ID:???.net
Fast-CGIを利用すると、更に速くなるのかな。

220 :nobodyさん:04/08/11 23:57 ID:???.net
むしろ使わないとPHPとかmod_perlより遅い。

221 :nobodyさん:04/08/12 14:52 ID:PHf7JWmC.net
(・∀・)renice!

222 :nobodyさん:04/08/14 15:00 ID:inflZLdK.net
>>220

まじで?なんでえ?

223 :nobodyさん:04/08/14 17:15 ID:???.net
プロセス起動コスト

224 :nobodyさん:04/08/14 21:20 ID:???.net
modではないPerlとかRubyよりは早い
コードがへたれだとそれよりも遅い

225 :nobodyさん:04/08/14 21:23 ID:???.net
( ゚д゚)ポカーン

226 :nobodyさん:04/08/14 21:28 ID:???.net
言語の違いにおける速さの差は線形だけど、
アルゴリズムの差は簡単に対数以上になっちゃうからね

227 :nobodyさん:04/08/14 21:41 ID:???.net
回るのは遅いけど何か書くと即効でレスが返ってくるんだよなここ
見てる奴は多いのかな

228 :nobodyさん:04/08/14 21:42 ID:???.net
粘着がいるだけだろ

229 :nobodyさん:04/08/15 11:26 ID:???.net
HPでCのCGIを使いたいのですが、
コンパイル時のコマンドは
gcc -o test.cgi test.c
でよいのでしょうか?

230 :nobodyさん:04/08/15 11:55 ID:???.net
>>229
HP-UXだとccだろ。


231 :nobodyさん:04/08/15 12:15 ID:???.net
>>229-230
ワラタ

232 :229:04/08/15 12:39 ID:???.net
HPはホームページの略で使いましたが…紛らわしいですね。
ccは使えないんですが…

233 :229:04/08/15 13:24 ID:???.net
とりあえず
gcc -o test.cgi test.c
でコンパイルして
テストしてみたのですが、エラーが出てしまいます。

パーミッションは755でcgi-binディレクトリにも入っているけど
エラー500が出てしまいます。

また、ソースも問題ないと思うのですが…

#include <stdio.h>

int main(void)
{
printf("Content-type: text/html\n\n");
printf("Hello");

return 0;
}
原因は何でしょうか?

234 :nobodyさん:04/08/15 13:35 ID:???.net
( ゚д゚)ポカーン

235 :nobodyさん:04/08/15 14:55 ID:???.net
エラーメッセージも書いてない香具師に釣られるなよ

236 :nobodyさん:04/08/15 14:59 ID:???.net
>>235
Internal Server Errorと言う答えになんの意味があるというのだ。

237 :nobodyさん:04/08/15 15:00 ID:???.net
\n -> \r\n\r\n

238 :nobodyさん:04/08/15 15:00 ID:???.net
Windowsかよ

239 :nobodyさん:04/08/15 15:02 ID:???.net
サーバと違うOSでコンパイルしてるんじゃないのか?
テキストモードでうぷしたりしてるんじゃないのか?
sshで接続してスタンドアロンで動くかどうかまず確かめろよ。
あとは考えるのマンドクセ。

240 :229:04/08/15 15:04 ID:???.net
確かサーバー側はLINUXだったので違うOSですね。


241 :nobodyさん:04/08/15 15:10 ID:???.net
サーバーでコンパイルするかクロスコンパイルでぐぐってね。
ばいばい。

242 :nobodyさん:04/08/15 16:05 ID:???.net
>>240
で、コンパイルマシンはHP-UXなのか?

243 :229:04/08/15 23:43 ID:???.net
コンパイルマシンはWINDOWSです…

244 :nobodyさん:04/08/16 00:08 ID:???.net
窓のアプリケーションがLinuxで動くわけなかろーがこのバカチンがー

マジレスすると、お前には無理なので諦めろ

245 :nobodyさん:04/08/16 00:14 ID:???.net
おまいら釣られすぎ

246 :nobodyさん:04/08/16 00:18 ID:???.net
>>244
Perlと同じ感覚なんじゃないかと

247 :229:04/08/16 00:28 ID:???.net
もうちょっと勉強してからやります。
Perlと同じような物だと思ってました…

248 :nobodyさん:04/08/16 06:26 ID:???.net
>>247
>もうちょっと勉強してからやります。
>Perlと同じような物だと思ってました…

プロの釣り師だな

249 :nobodyさん:04/08/20 02:03 ID:???.net
>>229 >>247
マジ釣られしてやろう。スクリプト言語は文字ベースの互換性があるが、
コンパイル言語はバイナリベースでの互換性を確保しなければならん。
よって、互換プラットホーム間でなければ動かん。
もっと勉強汁。

250 :nobodyさん:04/08/21 11:33 ID:???.net


251 :nobodyさん:04/08/21 12:59 ID:???.net
WindowsでGCC使ってクロスコンパイルかけたのかもしれないじゃないか。
100%ないけど。

252 :nobodyさん:04/08/21 16:06 ID:???.net
gccを使っているのは確かだ。

253 :nobodyさん:04/08/22 23:49 ID:OO5ezOdW.net
でもいかりや長介が逝っちゃったことに
変わりはない。

無念!

254 :nobodyさん:04/08/23 09:54 ID:???.net
>>253
コスモを感じる

255 :nobodyさん:04/08/24 12:54 ID:???.net
UTF-8の掲示板作ったら、出力サイズが2chに比べて2〜3倍になったorz
2chのhtmlを保存してUTF-8に変換してもまだ1.5倍。
マークアップしつこすぎたかな…。

<div class="res">
 <div class="data">
  <h3 class="name"><span class="number">5</span> <span class="label">投稿者</span> <a href="mailto:tokimushi@yahoo.co.jp" title="この投稿者にメールを送る">名前</a></h3>
  <ul>
   <li class="time"><span class="label">投稿時刻</span> 2004年08月07日(土)17時54分04秒</li>
   <li class="url"><a href="http://www.w3.org" title="この投稿者のウェブサイトへ">HOME</a></li>
  </ul>
 </div>
 <div class="comment c3 kuma"><p>なんだかんだ</p></div>
</div>

256 :255:04/08/24 12:56 ID:???.net
誤爆すいません

257 :nobodyさん:04/08/24 13:22 ID:???.net
>>255
UTF-8の掲示板は重いから嫌

258 :nobodyさん:04/08/30 09:03 ID:???.net


259 :nobodyさん:04/09/07 13:19 ID:???.net


260 :nobodyさん:04/09/07 22:17 ID:???.net
ネタがありませんなあ

261 :nobodyさん:04/09/08 00:54 ID:???.net
こっちは微妙に伸びとる
ttp://pc5.2ch.net/test/read.cgi/php/1048393217/


262 :nobodyさん:04/09/08 01:07 ID:???.net
http://pc5.2ch.net/test/read.cgi/php/1048393217/

263 :nobodyさん:04/09/26 01:20:15 ID:???.net
遅レス
>>255
うほ、いいdiv厨

264 :nobodyさん:04/09/27 13:16:42 ID:???.net
カウンタを作ってるのですが
日にちがかわったら今日のカウントを昨日のカウントへコピーして
今日のカウントを初期化するIF分がわかりません
教えてください

265 :nobodyさん:04/09/27 14:56:10 ID:???.net
(  ゚,_ゝ゚)バカジャネーノ

266 :nobodyさん:04/09/27 16:58:41 ID:???.net
>>264
お前プログラム向いてないよ。サンプル漁る位しれ。

267 :nobodyさん:04/09/27 21:25:52 ID:yrxaF59A.net
釣れた!初めてなのに釣れちゃった!(AA略

268 :nobodyさん:04/09/27 23:08:37 ID:???.net
こんな活きの無い魚でそんなに喜ぶなよ

269 :nobodyさん:04/10/01 15:04:26 ID:???.net
活きの無い

( ´,_ゝ`)プッ

270 :nobodyさん:04/10/01 16:56:12 ID:???.net
4日も経ってからsageで煽るなって

271 :nobodyさん:04/10/01 17:46:36 ID:qscnRJvR.net
あのーPHPがアパッチのモジュールで動作するから早いって聞いたんですよ・・・

Cで書いてもCGIとして実行してたらプロセスとして実行するから結構負荷がかかっちゃいますかね・・・
でもCGI使わずにモジュールで動作するようにすればCの方が早いんですかね・・・

PHPの開発は日本人が多いから日本国内ではPHPの方が早いってことになってるんですかね・・・
それともベンチマークテストやったら実際に早いんすかね・・・

そこらへんをすっきり説明してくださる方おりませんか?

272 :nobodyさん:04/10/01 17:48:41 ID:???.net
なんか不勉強で人頼みな奴ほど速度を気にするように思うんだけど、
これってマーフィーの法則ですか。

273 :nobodyさん:04/10/01 17:52:03 ID:qscnRJvR.net
はいーわたしはマーフィーの法則にしたがって行動しております。

補足なんですけど〜CGIもモジュールですよね〜
PHPのそれはどんなモジュールなんですかね〜
PHPより高速になるCGIモジュールってありますかあ?

274 :nobodyさん:04/10/01 17:53:56 ID:???.net
裏が取れないという点ではそうかも
背景としては、本来速度を気にする人ってのはハードなシステムを組まされてる人なんだけど、
この手の輩は四六時中ボトルネックを探してるので、何すれば早くなるかとか、早いってのは
どういうことかとか正攻法で理解してて、あんま質問を垂れ流さないってのがあるんだと思う

ところで最近はチューンするにしてもApacheのモジュールにしちゃうこと減りましたね
ってこのネタもスレ違いかorz

275 :nobodyさん:04/10/01 17:54:54 ID:???.net
>273
うっぜ
死ねカス

276 :nobodyさん:04/10/01 18:04:01 ID:qscnRJvR.net
あれへんだなあ・・

何言ってるかわかんなくなってきちゃった・・・・
でもさあPHPってHTMLに記述するスクリプト言語ですよねェ〜

それをパースして実行するんですからあきらかにコンパイルしたCの
プログラムの方が早そうに思えるんですけどねエエ・・・・

277 :nobodyさん:04/10/01 18:07:17 ID:qscnRJvR.net
>>275

ウゼェ じゃないんですかああ?
うっぜってどこの方言ですかアア??

やぱありCGIでPHPを使った方がいいんですかねえ・・・
どうなんですかねええ
優秀なみなさ〜〜ん

278 :nobodyさん:04/10/01 18:09:14 ID:???.net
phpをネタに持ってきた時点で脳が古い。
センスもなし。

279 :nobodyさん:04/10/01 18:18:02 ID:qscnRJvR.net
>>272

あ〜ちなみにおくれつっこみですけどお〜〜
それはマーフィーの法則とはいいませんよ〜
それは272さんとその仲間達(272本人かも・・)の法則ですよ〜〜

それとも次ぎのマーフィーの法則に載るんですかあ〜〜
それともマーフィーの法則っていっとけばカッコイイと思ったんですかあ〜

マーフィーの法則をネタに持ってきた時点で脳が古いですよ〜
扇子あげましょうか?

280 :nobodyさん:04/10/01 18:23:01 ID:???.net
>>274
2chでのやりとりなんてほとんどマーフィーの法則に嵌ってるだろ。

281 :nobodyさん:04/10/01 18:29:10 ID:???.net
>>278
昔はPHPなら速度比較と処理負荷だけで飯五杯はいけたんだが・・・
もはや残ってる部分といえばコードキャッシュネタくらいか
Cでおかずになるネタは・・・このスレの伸びが何かを語っているな・・・

282 :nobodyさん:04/10/01 18:31:49 ID:???.net
>>280
それ自体もそうでつか

283 :nobodyさん:04/10/01 18:35:57 ID:???.net
たいていがマーフィーの法則に当てはまることが法則ってのじゃ利用価値ないじゃん。
どうでもいいけど昔、マ板かどっかにCのコーディングにありがちな「マーCの法則」スレとか無かったっけ。
田代がまだ只の人だったころの話なのだが。

284 :nobodyさん:04/10/01 18:48:52 ID:???.net
>>283
そりゃ田代本人が出した本のタイトルじゃないのかw
PHPは旬過ぎたけど user ml がまだまだアツイぜ

285 :nobodyさん:04/10/01 19:01:49 ID:???.net
http://news13.2ch.net/test/read.cgi/news/1096597691/
反応が薄いな

286 :nobodyさん:04/10/19 10:52:37 ID:eOcRyqWU.net
Apache2のWinネイティブなCGIでActiveXEXEと
やりとりってできないんでしょうか?
CGIを普通に起動する分にはちゃんとできてるのですが・・・
いちおうApacheのサービスは「デスクトップとの対話を許可」してあります

287 :nobodyさん:04/10/21 10:38:39 ID:GNUlgmPe.net
cとphp

おれはcの方が早いと信じたい!

288 :nobodyさん:04/10/21 23:49:17 ID:???.net
>>286
なにがやりたいのかいまいち不明

289 :nobodyさん:04/10/24 21:41:04 ID:???.net
アルゴリズムによってはCの方が早くなるんじゃないだろうか

url文字列のほうは良いんだがmultipart/form-dataのクラスをどういう構造にしたら分りやすいかちょっと悩む
ただの文字列はoperator[]でファイルのときはファイルの情報を持ったオブジェクトを返すでいいかな

290 :nobodyさん:04/10/24 21:57:41 ID:???.net
車輪の再開発してないで既存のライブラリ使えよ

291 :nobodyさん:04/10/27 11:54:00 ID:???.net
単純で良い物が無い

292 :nobodyさん:04/10/27 23:05:12 ID:???.net
単純でよければ自作すればいいじゃーん

293 :nobodyさん:04/10/27 23:06:32 ID:???.net
だからしてるんじゃないか

294 :nobodyさん:04/10/28 06:15:52 ID:???.net
このスレはドリフだな

295 :nobodyさん:04/10/30 02:13:13 ID:???.net
>>289
自分が使いやすい/使いたいように作れば、それで良いと思うよ

296 :nobodyさん:04/10/30 02:26:46 ID:???.net
C++でCGI作ろうと思ったけど全然ライブラリが揃って無くて駄目だね。
Perlならcpanでサクサク拾えるのに。

297 :nobodyさん:04/11/02 10:30:42 ID:???.net
>>296
Cのライブラリを使えばいいじゃん

298 :nobodyさん:04/11/30 12:32:26 ID:q4147YdE.net
レスポンスがあるかわかりませんが..

POSTで受け取った文字が化けるのでiconv使って変換をと思ったんですが

iconv_t icv_hook;
char *inp;
char *outp;
size_t ret_val;
size_t in_buf_left;

memset(out_buf, 0, BUFSIZ);
in_buf_left = strlen(in_buf);
out_buf_left = BUFSIZ;

ret_val = iconv(icv_hook, inp, in_buf_left, outp, out_buf_left);
警告: 互換性のないポインタ型からの引数 2 個の `iconv' を渡しますです
警告: 引数 3 個の `iconv' を渡しますにより、キャストなしで整数からポインタを作りました
警告: 互換性のないポインタ型からの引数 4 個の `iconv' を渡しますです
警告: 引数 5 個の `iconv' を渡しますにより、キャストなしで整数からポインタを作りました


http://docs.sun.com/app/docs/doc/806-2802/6jc0bne4u?l=ja&a=view
これの通りにしたのに
どこがおかしいのでしょうか?

299 :nobodyさん:04/11/30 13:42:39 ID:???.net
>>298
char *とchar **は違う。

300 :nobodyさん:04/11/30 19:18:07 ID:q4147YdE.net
どうもありがとうございます。

char *とchar **は違うとはわかりますが、ではどこをどう直せばよいのでしょうか?
宣言時にchar**とやったり、キャストを入れてみてもやはり警告が出ます。

コンパイルは通りますが、実行時に
iconv()を呼ぶときに必ず
「セグメンテーション違反です
のエラーが出ます

301 :nobodyさん:04/11/30 19:56:28 ID:???.net
>>300
const char *inp;
char *outp;
(中略)
ret_val = iconv(icv_hook, &inp, in_buf_left, &outp, out_buf_left);

302 :nobodyさん:04/11/30 20:09:48 ID:???.net
>>301

char *inp;
char *outp;
ret_val = iconv(icv_hook, &inp, &in_buf_left, &outp, &out_buf_left);

なぜか指示どうりではだめでしたがこうやったら正しく実行できたので
とりあえず報告します。


303 :nobodyさん:04/11/30 20:20:55 ID:???.net
>>302
初めて使う関数は、きっちりmanを見たほうがいいよ。
副作用のこともあるし。

http://www.linux.or.jp/JM/html/LDP_man-pages/man3/iconv.3.html
これはLinuxのだけど。

304 :nobodyさん:04/12/03 15:18:44 ID:???.net
C/C++ CGIで、最初に1回だけユーザ認証をやって、
その後同一の実行ファイル上で、ログイン状態を維持する

これを実現するための考え方と、参考になるソースを教えてください。


305 :nobodyさん:04/12/03 22:30:06 ID:???.net
>>304
同一の実行ファイル上ってのがよくわからない。
言葉通りに解釈すると、Cookieにそのファイルのpathを設定すればいいだけだけど。


306 :nobodyさん:04/12/04 00:34:37 ID:???.net
PHPのセッション管理のような仕組みを作っちゃえば楽なんだろうけど、作るのは楽じゃない。

307 :nobodyさん:04/12/05 06:35:51 ID:???.net
>>304

>>305に1票、もしオレがやるなら、やっぱ Cookie使う。
セッション管理より楽だし。
厳密性を求めるのは厳しいけど、ユーザ認証が目的なら、
同じブラウザを使ったかどうか分かる Cookieは充分有効な手段でしょ。

308 :nobodyさん:04/12/05 06:40:37 ID:4YEMHaP5.net
>>304
ソースくらい検索してほしいが、オレのブックマークにこんなのが入っていたので参考までに。
ttp://sometime.minidns.net/~ccgi/taggedstr.html

309 :nobodyさん:04/12/05 06:41:11 ID:???.net
sageるつもりだったがついうっかり・・・ OTL

310 :305:04/12/05 10:05:05 ID:???.net
> C/C++ CGIで、最初に1回だけユーザ認証をやって、
> その後同一の実行ファイル上で、ログイン状態を維持する

通常、CGIプログラムはリクエスト毎に終了してしまうので、
プログラム内の変数にログイン状態のデータを維持する事は出来ない。

そこで、データの永続化。
具体的には、ファイル、データベース、共有メモリでもなんでもいいので、
CGIプログラムが終了してもデータが残るような媒体にデータを記録する事になる。

その際、Process IDやIP address等からユニークなIDを作成し、
このIDをキーとしてログイン状態などの情報を記録する。
同時に、このIDをセッションIDとしてブラウザのCookieに設定させることで、
認証を済ませたユーザかどうかを確認する。これがセッション管理。

一度認証を済ませたあとは、
ブラウザが送ってくるCookie(CGIの場合は環境変数などに設定される)
のセッションIDと一致するキーのデータを引き出し、そのログイン状態を確認すれば良い。


>>306
簡単なセッション管理の実装で、
セッション毎に./session/$SESSION_ID$ ファイルを作成するとかはどうだろう。

>>307
>>305は、一応、セッション管理を前提に書いてました。
"同じ実行ファイルの上で"が同一URL上でという意味ならCookieのpath設定だけで済むかと思ったので。


311 :nobodyさん:04/12/05 11:23:18 ID:???.net
http://sometime.minidns.net/~ccgi/taggedstr.html

312 :nobodyさん:04/12/05 16:32:23 ID:???.net
普通にクッキーデコーダクラス作ればいいだけの話じゃん。
おいらはurl_decodeクラスとそこからget,post,cookieの継承クラス作ったけど。
データ構造は自作二分木

313 :nobodyさん:04/12/05 17:12:51 ID:???.net
そういう手続き型のはモジュールでやったほうがいいと思われ

314 :nobodyさん:04/12/05 17:17:25 ID:???.net
>>313
そうか?
ヘンテコな抽象化だなとは思うが、リクエストとかユーザステートみたいな
他の設計クラスとかち合わなきゃどうでもよくね。
クラス=メソッドってOOとしてはNGだけど、Cppなんだし。

315 :nobodyさん:04/12/05 17:28:03 ID:???.net
C++はオブジェクトをとるかデータ構造をとるかでよく迷わされる
Cでやることも考えるなら、そう迷うこともないけど

316 :nobodyさん:04/12/05 17:30:13 ID:???.net
おいおいLispスレが立ったぞ。ドンケツ脱出だな。

317 :nobodyさん:04/12/05 18:46:29 ID:???.net
>>316
ACLかよw
そりゃ間違いなく脱出だが

318 :304:04/12/07 09:58:50 ID:???.net
アドバイスありがとうございます。
色々試してみます。


319 :nobodyさん:04/12/25 01:16:54 ID:???.net
みんなUTFとか使ってる?

320 :nobodyさん:05/01/19 15:43:33 ID:???.net
((void *)0)

321 :nobodyさん:05/01/21 13:43:21 ID:Z6ezIjZ/.net
ばかばかしい質問かもしれないんですが
bluequartz上でC/C++ cgiがどうして動かせなくて困ってます。

gcc バージョン 3.3.2 20031022 (Red Hat Linux 3.3.2-1)
もちろんapacheは動いています Server version: Apache/2.0.51

コンパイルしたファイル(xxx.cgi)はコマンドラインからは実行できるのですが、
これをブラウザから見ようとすると、 「xxx.cgi ファイルを保存しますか?」
となってしまいます。
どこがおかしいのでしょうか

何か見落としているかも知れないので指摘いただきたいです


322 :nobodyさん:05/01/21 15:52:04 ID:???.net
>>321
content-typeが変なのになってるんじゃないでしょうか。

323 :321:05/01/21 16:58:47 ID:???.net
普通に
Content-type: text/html
です。

テスト用に時刻表示するやつを作ってみましたが
以下のテキストを吐き出すだけです。
Content-type: text/html

<html>
Fri Jan 21 16:53:21 2005
</html>

これもブラウザから見ようとすると
やっぱりファイルを保存しますか?となってます


324 :nobodyさん:05/01/21 17:39:21 ID:???.net
>>323
保存したファイルの中身は?

325 :321:05/01/21 18:10:27 ID:???.net
>>324
保存したファイルの中身を見てみましたが実行用のバイナリファイル
そのものだと思います。
出力結果とかが保存されてるわけではない(と思う)です



326 :nobodyさん:05/01/21 18:44:53 ID:???.net
AddHandlerは?

327 :321:05/01/21 18:56:11 ID:???.net
今のところこうなってます

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
.....
AddHandler cgi-script .cgi
AddHandler cgi-script .pl



328 :nobodyさん:05/01/21 22:24:50 ID:???.net
>>321
どっちかと言うと C/C++ に関する問題ではないような。
だってコマンドラインから実効出来るという事は、「Cプログラム」としては正しいわけだろ。
たぶん Apache のディレクティブがきちんと設定されてないのでは?
CGI 実行ディレクトリについて、Options +ExecCGI とかやってる?

ちなみにウチのディレクティブは、CGI 関連はこんな感じ(Win32/Apache 2.0)。

LoadModule cgi_module modules/mod_cgi.so

ScriptAlias /cgi-bin/ 実際のディレクトリ

<Directory "実際のディレクトリ">
AllowOverride None
Options +ExecCGI
Order Allow,deny
Allow from all
</Directory>

AddHandler cgi-script .cgi .pl

設定してからだいぶ経つので細かい意味は忘れてしまった・・・ウチも色んなトコ見て
コピペを繰り返したので、検索しまくってガンガッてほしい。


329 :nobodyさん:05/01/22 07:40:07 ID:???.net
>>327
Perl CGIは実行できてるんだよね。

330 :321:05/01/22 11:24:45 ID:???.net
すみません
今確認してみたらPerlCGIも実行できてませんでした...



331 :nobodyさん:05/01/22 13:33:32 ID:???.net
どこに置いて実行しようとしているんだ?

/cgi-bin/ならデフォルトでAliasが設定されているから>>328のように
Options +ExecCGIを追加しないとならないし。
俺は/cgi-bin/のAliasをコメントアウトして全ディレクトリで使えるようにしてある。

DocumentRoot "実際のディレクトリ"

<Directory "実際のディレクトリ">
Options FollowSymLinks MultiViews ExecCGI Includes
AllowOverride ほげほげ
Order allow,deny
Allow from all
</Directory>

AddHandler cgi-script .cgi .pl

332 :nobodyさん:05/01/22 13:34:34 ID:???.net
あるいはユーザディレクトリなら別の部分で設定しなきゃならんよ。

333 :nobodyさん:05/01/25 07:56:51 ID:hWOf15Pd.net
>>304さんに便乗して質問です。
ログイン情報を記録する方法はわかったんですが、
クライアントが適切なログオフ処理をしなかったらセッション管理用のファイルは残りますよね?
例えば、クライアントがブラウザを閉じたらサーバ側で勝手にログオフ処理、なんてことは出来ないでしょうか?

334 :nobodyさん:05/01/25 08:11:21 ID:???.net
絶対無理っしょ。
時間制限でタイムアウトするくらい。

335 :nobodyさん:05/01/25 09:11:15 ID:???.net
普通は>>334の方法でやるね。

336 :333:05/01/25 10:01:05 ID:???.net
わかりました。一時間リクエストがなかったらログオフするようにしたいと思います。
ありがとうございました。

337 :nobodyさん:05/01/25 16:55:53 ID:???.net
クッキー使えばええやん

338 :nobodyさん:05/01/26 09:08:53 ID:???.net
>>337
どうやって?
クッキーつかってもクライアントがブラウザ閉じたかなんてサーバー側では
判らんと思うが?

339 :nobodyさん:05/01/26 15:10:15 ID:???.net
有効期限を過去に設定すればブラウザを終了させた時点でクッキーが消える。

340 :nobodyさん:05/01/26 15:17:37 ID:???.net
>>339
だから?

341 :nobodyさん:05/01/26 15:48:12 ID:???.net
>>340
少しは頭を働かせたら?

342 :nobodyさん:05/01/26 16:06:10 ID:???.net
>>341
お前が一番頭が働いていないようだが

343 :nobodyさん:05/01/26 16:11:38 ID:/NT/JEVZ.net
>>339
クッキーは消えてもサーバのセッションファイルは残るんだよ。
それをどうすればいいかを考えてるの。
ちなみにPHPでは
session.gc_maxlifetime = 1440
とかで時間を指定してガベージコレクションしてる。


344 :nobodyさん:05/01/26 16:26:34 ID:???.net
>>339
消えても次にアクセスがあった時にクッキーがあるかどうかの
判断に利用できる程度だろ。
そういう話をしてるんじゃないの。

345 :nobodyさん:05/01/26 16:43:31 ID:???.net
337が言っているのはセッションを使わずに、という意味だと思うが。

346 :nobodyさん:05/01/26 17:01:46 ID:???.net
>>345
そうか
>>337言葉が足りないんだよ

347 :nobodyさん:05/01/26 17:07:30 ID:???.net
>>345
だとしても的外れには違いない。

348 :nobodyさん:05/01/26 17:10:17 ID:???.net
>>346
確かに。

349 :333:05/01/27 00:23:16 ID:???.net
なんか種を蒔いちゃったみたいですいません…
自分としてはユーザ毎にデータファイルを必要とするプログラム書こうと思うんで
やっぱりタイムアウト処理になると思います


350 :nobodyさん:05/01/27 12:24:39 ID:???.net
当分はこのスレ下がるばかりか・・

351 :nobodyさん:05/01/27 13:55:33 ID:???.net
てかもはやCとかC++の話じゃなくてCGI一般の話ジャン

352 :nobodyさん:05/01/29 01:15:48 ID:???.net
すっかりCGIの話なのでアレだが、
Flash埋め込んでSocket通信させるってのはどうよ。
>ブラウザを閉じたらチェック

353 :nobodyさん:05/02/15 23:46:08 ID:???.net
cgiでscanf使えますか?

354 :nobodyさん:05/02/17 07:25:27 ID:27dZ6TGB.net
質問させて下さい。
フォームから受け取った値をgetcharで読み込んでいるんですが、
「 , 」が%2Cになってしまいます。どうすればいいでしょうか?

355 :nobodyさん:05/02/17 08:36:36 ID:???.net
>>354
%2Cを , に変換すればいい

356 :354:05/02/17 11:16:54 ID:???.net
>>355
ありがとうございました。
URLエンコードという言葉を今日はじめて知りました。。。

357 :nobodyさん:05/02/18 23:50:55 ID:???.net
>>353
標準入力に対するものだから、使える事は使えると思う。
が、入力書式が CGI とは合致しないわけだから、>>354がトライしているように、
getchar とか使って URL エンコードを自前 or ライブラリでやる方が
モアベターだと思う。

358 :nobodyさん:05/02/20 17:03:47 ID:???.net
scanfなんてBOF問題バリバリの関数を使うなよ…

359 :nobodyさん:05/02/20 20:42:33 ID:???.net
ろくに知識がない奴ほど↑みたいな書き込みをするね。

360 :nobodyさん:05/02/21 11:04:26 ID:???.net
>>358
問題を理解した上で、自分の目的を満たすにはこれが良い、と思ったんなら、
どんどん使えば良い。と思うぞ。

包丁なんて怪我しやすい道具を使うなよ…

なんて言わないべ?フードプロセッサー使ったって良いんだけどさw

361 :nobodyさん:2005/04/23(土) 18:11:42 ID:???.net
質問です
今までPerl,PHP等やってきて最近C言語でCGIスクリプト作成をはじめましたが、排他処理は一般的にはどの手法を使いますか?
やはりフォルダを作成する方法ですか?

362 :nobodyさん:2005/04/24(日) 21:13:21 ID:WkqhPVlv.net
VCでHelloWorldのテストCGIを作ったところ、111kBでした。
同じくLSICでコンパイルすると17kBでした。(500で動きませんでしたが。)

なぜこんなにサイズの差があるのですか?もっと減らす方法はありませんか?

363 :nobodyさん:2005/04/25(月) 00:23:01 ID:???.net
>>362
MS-DOSとWin32の違い

364 :nobodyさん:2005/04/27(水) 01:22:34 ID:???.net
>>362
VC++のほうがデバッグモードになってないか?

365 :nobodyさん:2005/04/27(水) 10:44:49 ID:???.net
>>362
やってみたら
Debugで160k
Releaseで40k


366 :362:2005/04/27(水) 21:39:50 ID:???.net
うわ、本当だ…
お騒がせしました

367 :nobodyさん:2005/05/19(木) 21:48:26 ID:GAjOQJM0.net
今晩は、スレで度々話題になってるようですが、いまいちわからないので質問させてください。画像ファイルの質問です。
<input type="file">でjpegやGIF、BMP画像をpostで送信した場合、標準入力に他の文字列等と同様name=に画像ファイルデータ
が送られているのでしょうか?その画像ファイルはどの様に処理したらいいのでしょうか?ご教授ください

368 :nobodyさん:2005/05/19(木) 22:14:38 ID:EjA+9pug.net
http://z57.2?-121-74.?pp.??kw?k.ne.?p:8080
http://z57.2?-121-74.?pp.??kw?k.ne.?pうへへ。

369 :nobodyさん:2005/05/20(金) 10:35:30 ID:???.net
>>367
CのCGIライブラリでも使え
検索したらあるはず

370 :367:2005/05/20(金) 15:58:18 ID:UC8INN3X.net
>>369
CGI用のライブラリーってありますけど製作者のあくがつよすぎて理解するのが大変なんですよね・・・
なんで自分で関数から作った方がいいと思ってるんですよ・・・勉強にもなるし。

371 :nobodyさん:2005/05/20(金) 16:16:48 ID:???.net
>>370
だから、そういったライブラリがあるだろ。
アクが強いとか関係無しに、どういう仕組みかが分かってないから
>>367のような質問をしたんでしょ?

既に動いてるライブラリのソースコードを読めば、そこに答えなりヒントがあるでしょ。
それを応用して自作すればいい。

アクが強いとか理解が大変とか言ってるが、結局、頭悪いだけじゃん。

372 :nobodyさん:2005/05/20(金) 16:23:25 ID:???.net
>>367
http://www.gnu.org/software/cgicc/cgicc.html
つかっとけ。

書き込み見る限り、君のおつむじゃこれよりもまともなのを作るのは無理。

373 :nobodyさん:2005/05/20(金) 17:27:26 ID:???.net
>>367
http://www.boutell.com/cgic/
GDライブラリ開発してるところ
2.0からファイルアップロードに対応してる

374 :367:2005/05/21(土) 07:08:21 ID:???.net
やれやれ・・
コード読め?
読むような質問じゃあないだろうに。あほ
コード読め、コード読め、って猿の一つ覚えのような回答しかできないんだったらだまってろよ。
そのほうが百倍有益w

375 :nobodyさん:2005/05/21(土) 10:33:25 ID:???.net
aso

376 :nobodyさん:2005/05/21(土) 16:05:50 ID:???.net
>>374
読まなくていいから、パクれ。

377 :nobodyさん:2005/05/21(土) 17:00:57 ID:???.net
だれも「読め」とは言ってないが。

日本語は読めて、理解できるよね?理解の方がおぼつかないのかな?
そういうのは十代のうちになんとかしといたほうが良いよ。本当に。

378 :nobodyさん:2005/06/02(木) 04:47:54 ID:tNFRcCbR.net
getenv("PATH_INFO")で文字列取る時に
事前に長さが分からないから異常に長いURLでアクセスされたらやばくない?
と思うんだけど。
このPATH_INFOの文字列のポインタが分かればstrlenで長さを求めて弾くなり必要量mallocするなり出来るけど、
値しか分からないよね?
普通はどうやってこの問題を回避するの?

379 :nobodyさん:2005/06/02(木) 07:21:13 ID:???.net
getenvを使ったことがある人からは
そんな疑問は出ないはずだが

380 :nobodyさん:2005/07/24(日) 09:53:58 ID:FFgeh8au.net
話題がないお

381 :nobodyさん:2005/07/25(月) 08:35:49 ID:???.net
>>378
亀さんのレスです
Apache様が長いURLは規制してくれています

382 :nobodyさん:2005/07/25(月) 23:47:14 ID:bB/wQjJG.net
自分のサイトがF5アタックにめちゃくちゃ弱いことに気づいた。
セッション管理のためにページを開くたびにMySQLに問い合わせに行ってるのですが、もっと良い方法があるのでしょうか?

383 :nobodyさん:2005/07/26(火) 07:44:25 ID:???.net
防御コード書けばいいじゃん。

384 :nobodyさん:2005/07/26(火) 12:18:15 ID:???.net
>>382
CでMySQLへの問い合わせってどうやるの?
出来るなら今度やってみよ

385 :nobodyさん:2005/07/26(火) 15:24:03 ID:???.net
>>384
MySQL純正の接続ライブラリを利用するなら、
それをラップしてる他の言語で慣れてる人ならアホ程簡単。

386 :nobodyさん:2005/07/26(火) 20:27:09 ID:???.net
>>384
このへんだろうね。
http://www.softagency.co.jp/mysql/TIPS/C/connect.html
http://dev.mysql.com/doc/mysql/ja/c.html

私もCで接続したこと無いけど。

387 :nobodyさん:2005/07/27(水) 15:50:58 ID:???.net
>Cで接続

(;´Д`)ハァハァ

388 :nobodyさん:2005/07/28(木) 07:20:11 ID:???.net
ボキもSegmentation faultで泣かされますた

389 :nobodyさん:2005/08/25(木) 07:40:55 ID:URNXAJj0.net
以下のプログラムが思惑通りの挙動を示してくれません。
C言語でのCGIでは、forkは使えないのでしょうか?


#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <sys/wait.h>

int main(void)
{
pid_t pid;
int status;
printf("Content-type: text/html\n\n");
printf("<html>\n");
printf("<head>\n");
printf("<title>test</title>\n");
printf("</head>\n");
printf("<body>\n");
pid = fork();
if(pid == 0){
printf("child<br>\n");
}
else{
wait(&status);
printf("parent<br>\n");
}
return 0;
}


390 :nobodyさん:2005/08/25(木) 07:43:44 ID:URNXAJj0.net
思惑とは、CGI実行時のHTMLソースで、

<html>
<head>
<title>show sFlow statistics</title>
</head>
<body>
child<br>
parent<br>

と、なってほしいのに、実際実行すると、

<html>
<head>
<title>show sFlow statistics</title>
</head>
<body>
child<br>
Content-type: text/html

<html>
<head>
<title>show sFlow statistics</title>
</head>
<body>
parent<br>

と、なってしまっております。

391 :nobodyさん:2005/08/25(木) 08:19:05 ID:???.net
stdioのバッファリング

392 :nobodyさん:2005/08/25(木) 13:08:38 ID:URNXAJj0.net
>>391
なるほど!
ありがとうございます。
fflushで、解決いたしました。


393 :nobodyさん:2005/08/26(金) 20:14:39 ID:Tl6OQEOB.net
最近C/C++CGIって廃れてるよな…

394 :nobodyさん:2005/08/26(金) 20:16:53 ID:???.net
あえて言おう。

廃 れ て な い 時 が あ っ た の か ?

395 :nobodyさん:2005/08/26(金) 22:30:48 ID:phIbl7Mf.net
■■■■■■■■■■■■■■■■■■■■■■
VIPの馬鹿大学生が市役所に内定!「俺は神」「彼女二人いる」などDQN発言全開。
その後、どの市役所か特定されたような書き込みがあり、本人逃亡!!w


地元市役所に内定した俺様は神!
http://ex11.2ch.net/test/read.cgi/news4vip/1125046666/l50


その後、公務員板にも、本人を特定するためのスレが立つww


【市役所合格】こいつ誰だかわかる?
http://society3.2ch.net/test/read.cgi/koumu/1125051467/l50


調子に乗った馬鹿VIPPERの哀れな運命、見るだけでも見に来ない?w
■■■■■■■■■■■■■■■■■■■■■■




396 :nobodyさん:2005/09/03(土) 14:14:39 ID:???.net
>>393
やっぱライブラリ不足が原因だろう。
cgiccってでかい割にほとんどなんも出来ないし

397 :nobodyさん:2005/09/22(木) 00:50:59 ID:Lo9GY17f.net
2chのCGIはCで作られている。
証拠

http://pc8.2ch.net/test/read.cgi/tech/1123869310/

398 :nobodyさん:2005/09/22(木) 01:33:37 ID:???.net
わけあって初めてC++でCGI組んでみた(普段はPHPとか)
複雑な構造のデータを処理する場合とか、やっぱり速いね。

399 :nobodyさん:2005/09/22(木) 07:44:47 ID:???.net
>>397
bbs.cgiはPerlだよ。mod_perlとかfastcgiとか検討されたけど今はSpeedyCGI使ってる。
read.cgiは2ちゃん閉鎖の危機のときにCのソースが公開されてgzip圧縮が追加された。

400 :nobodyさん:2005/09/22(木) 13:25:27 ID:???.net
Web に向いていないというのはあるけど,Web を趣味でやっている人間の技術
レベルが低いというのも原因の一つでは?

# 前に read.cgi のソース見て、そのあまりの汚さに絶句したことあり

401 :nobodyさん:2005/09/22(木) 16:48:47 ID:???.net
はいはいすごすすごす

402 :nobodyさん:2005/09/22(木) 16:50:45 ID:WZseHGJ/.net
ついでにage

403 :nobodyさん:2005/09/22(木) 17:33:25 ID:???.net
1つのバイナリで使えるOSが限られるしね。
どうしてもインタプリタ型になってしまう罠。

404 :nobodyさん:2005/09/23(金) 00:29:42 ID:???.net
>>400
2002年ぐらいに一度見たのは、確かにアレだったけど、
その後にちらっと見たのは、新しく書き下ろされたように結構綺麗だった。
今はどうなってるんだろう。

405 :nobodyさん:2005/09/23(金) 14:20:20 ID:???.net
まだソースは転がってるのか!?

406 :nobodyさん:2005/09/23(金) 15:38:07 ID:???.net
今のはもう無理だと思うけど、
古いのは、ネットのどっかに転がってるかも。

407 :nobodyさん:2005/09/23(金) 16:23:56 ID:???.net
ここになんか沢山出てる
ttp://66.102.7.104/search?q=cache:fpFsrkBwL9YJ:sunos.saita.ma/2ch-cgi-lw.html+read.cgi+&hl=ja

408 :nobodyさん:2005/09/23(金) 17:29:18 ID:???.net
http://sunos.saita.ma/2ch-cgi-lw.html

409 :nobodyさん:2005/09/27(火) 19:53:24 ID:???.net
読みにくい…

410 :javaさん:2005/10/06(木) 01:36:36 ID:9/nHwpYz.net
CGIではなくてJavaでいうServletコンテナのようなものとVelocityのようなテンプレートエンジンを探しています
ご存知ないですか?


411 :nobodyさん:2005/11/20(日) 17:08:19 ID:Va/OuDM7.net
下がりすぎ

412 :nobodyさん:2005/11/21(月) 02:40:39 ID:/C8jg8zb.net
C言語のプログラム作成はどこですか?

413 :nobodyさん:2005/11/21(月) 02:50:55 ID:???.net
>>412
日本語がわからんが単にC言語のこと聞きたいならプログラム板

414 :nobodyさん:2005/11/21(月) 21:22:28 ID:???.net
C言語でCGIを動かす利点は何ですか?

415 :nobodyさん:2005/11/21(月) 21:45:27 ID:???.net
>>414
利点:既にコンパイルされてるから実行が早い。
欠点:一から作るのは死ぬほど面倒。

416 :nobodyさん:2005/11/26(土) 02:09:45 ID:???.net
c++ならそんな面倒でもない

417 :nobodyさん:2005/11/26(土) 12:19:56 ID:lGwtghir.net
今日からC始めるぞage

418 :nobodyさん:2005/11/28(月) 21:19:30 ID:???.net
挫折した

419 :nobodyさん:2005/11/29(火) 07:09:03 ID:???.net
はやっ

420 :nobodyさん:2005/12/13(火) 02:50:45 ID:0HjM7Fv9.net
windowsでのcgiの扱いの事なのですが、C言語で.作った.exeの拡張子を.cgiに変えると途端に上手く動作しなくなります。
win上ではcgiの拡張子は.exe一択になってしまうのでしょうか?

自分だけアドレスがhttp://〜/cgibin/testing.exeになるのが恥ずかしいんですけど。。


421 :nobodyさん:2005/12/13(火) 03:28:57 ID:???.net
>>420
httpdに何使ってるのか知らんがハンドラ変えればいいだけの話じゃないのか

422 :nobodyさん:2005/12/13(火) 21:01:21 ID:???.net
普通 .cgi でもうまく動作するはずだけど……
というかネゴシエートすれ。 .exe も .cgi も恥ずかしいことに代わりはないから。

423 :nobodyさん:2005/12/13(火) 22:33:44 ID:???.net
.pdfとかにすれば良い。


424 :420:2005/12/14(水) 19:01:11 ID:???.net
>>421
>>422
>>423
URLの変換にも色々あるようで、参考になりました
レス有難うございました

425 :nobodyさん:2005/12/14(水) 21:45:05 ID:???.net
カウンタ作るのも一苦労ですたいorz

426 :nobodyさん:2005/12/24(土) 00:54:12 ID:???.net
ファイルのアップロード処理で下記の内容を参考にしているのですが
どなたかご存知でしたら、お教え下さい。

ttp://www-cms.phys.s.u-tokyo.ac.jp/~naoki/CIPINTRO/CCGI/multdisp.html

ブラウザがバイナリファイルを送信した場合に、マルチパートデータに
含まれるContent-Type:はブラウザのMIME判定に
依存されると思いますが、その後の改行した後に送信するデータって
バイナリファイルのデータがそのままで送信されてくるんでしょうか?
上記の解説だと、「ファイル内容がほぼそのまま置かれ」って
記述されているのですが・・・何らかの手順(BASE64とか)で
エンコードされていたりするのでしょうか。



427 :nobodyさん:2005/12/27(火) 16:08:10 ID:???.net
>>426
画像なんかはバイナリのまま送られてくるね。
一応rfc2388,rfc2046を参照しておくといいかも。

428 :nobodyさん:2006/01/13(金) 16:47:51 ID:sdM07NCL.net
あけましておめでとうございます。

429 :nobodyさん:2006/01/13(金) 22:23:10 ID:itKm2IBl.net
ここにもオススメCGIが載ってますよ!

ttp://my-hero.versus.jp/cgi-navi/

430 :nobodyさん:2006/03/19(日) 09:20:21 ID:???.net
この板には人がいないようですが...
C++でサーブレットコンテナ作ってみました。
まだまだ、おもちゃのみたいなものですが...
http://www.j2cc.org/shibaken/

431 :430:2006/03/19(日) 23:54:56 ID:???.net
私用でageすいません。
どこに晒せば良いかもわからずです。(ならば晒すなと言わないで)
板違いorスレ違いであれば良い場所教えて下さい。

432 :nobodyさん:2006/03/19(日) 23:59:32 ID:???.net
ム板の方が盛り上がるかも。
ム板は特定スレしか見てないから、分からないけど…。

433 :430:2006/03/20(月) 01:18:15 ID:???.net
ムですか...了解です。
明日にでもム板にマルチポストで叩かれに言ってみます。

434 :nobodyさん:2006/04/13(木) 19:42:23 ID:???.net
保守

435 :http:// 202-71-90-222.ap-w01.canvas.ne.jp.2ch.net/:2006/04/13(木) 23:31:32 ID:???.net
guest guest

436 :nobodyさん:2006/04/18(火) 17:41:56 ID:6Kyc62WF.net
板違いと言われたのでこちらでも質問させてください。

クライアントプログラムとCGIとの間で通信をやりたいと思っています。
クライアントはソケット通信で最初にポート80(Apache)にconnectするようになっています。

この状態でクライアント側で試しにCGIをシェル上で走らせてみると
CGIに書いてあるHTMLは表示されるのですがscanfがまったく無視された形で戻ってきます。

自分としてはCGI上に書いてあるscanfで処理が1回止まり、1度文字の入力ができれば
いいなぁと考えていたのですが、この考え方は間違っているでしょうか。

正しいか間違っているか、また間違っているならば後学の為にも正しい処理の概要を
教えて頂ければ幸いです。
言語はC言語、サーバーはRedHatです。よろしくお願いします。

437 :nobodyさん:2006/04/19(水) 00:35:56 ID:???.net
>>436
間違ってる。CGIへの入力はGETまたはPOSTしか無い。
つかCGIをかなり大幅に勘違いしてるようだからちゃんと勉強してからおいで。

438 :nobodyさん:2006/04/19(水) 00:44:20 ID:???.net
CGIに関しては>>437の通りなんだけど、

>クライアント側で試しにCGIをシェル上で走らせてみると

http経由じゃなくてシェル実行でもscanfが効かないなら
何か根本的なところが間違ってるんじゃないか?

439 :nobodyさん:2006/04/30(日) 02:49:16 ID:???.net
【質問】
 http://ysserve.int-univ.com/susi/Lecture/c2/
↑のページの【必須CAI課題】のどれかをクリックして適当に学生の番号入力するとオンラインのコンパイラに飛べますが、
このようなC言語のオンラインコンパイラを自分のHPに設置したいのですがどうしたらいいのでしょうか?

ちなみに自分のHPサービス(sakura.ne.jp)にはCGI,PHP,C言語(gcc)等のコンパイラがあり、パスも分かるのですが
そこからどうしたよいのでようか?
ソースが入力された文章を受け取って、次にgccのパスを・・・どうやったらコンパイルできるのでしょうか?教えてください
gccのパス:http://takaharamayou.sakura.ne.jp/proglang/gcc
ちなみにCやVBといった言語やHPビルダーは使えますが、Webプログラミングの勉強はしたことないので、HPビルダーで出来る程度でお願いします。


(さらにこのオンラインコンパイラだとscanf関数等数値のキーボ−ド入力が出来ないので、余裕があれば改善したいです。HTMLだけじゃ無理そうですが・・)

440 :nobodyさん:2006/04/30(日) 03:33:14 ID:???.net
>>439
何か恐ろしいレベルで勘違いしてそうだからあらかじめ言っておくが、
オンラインコンパイラなんて代物は存在しない。

とりあえずCGIというものについてちゃんと勉強してから来なさい。
ちなみにホームページビルダーでは何も出来ない。以上。

441 :nobodyさん:2006/04/30(日) 03:36:11 ID:???.net
>>439
つか本当にC言語使えるのか?
gccの使い方知らん上にインタプリタとコンパイラの区別もついてないように見えるが

442 :nobodyさん:2006/05/01(月) 00:57:00 ID:???.net
C,C++プログラミングスレッドで、反応なかったんで、こっちで聞いてみます。
linux(RedHat4)上のCのcgiのプログラムなんですが、コンパイルしてコマンドラインから実行すると動くんですが、
ブラウザ経由で実行すると、共有ライブラリが無いよ、のエラーになります。
LD_LIBLARY_PATHとか、httpd.confのSetEnvとか、ldconfigとか試しましたが、
現象変わらずです。
ldd というコマンドが有るとわかったので、コンパイルした実行形式をlddしてみると、
問題ないのですが、cgi-binにコピーしてlddすると、無いよと言われる共有ライブラリが、not found
になります。
これ、ナニが問題なのでしょうか?

443 :nobodyさん:2006/05/01(月) 01:12:42 ID:???.net
>>442
コンパイルしたディレクトリにライブラリがあるんじゃないの?

444 :442:2006/05/01(月) 08:59:47 ID:???.net
>>443

ライブラリというのは、OracleのOCIなんですが、そこは確認しています。
ライブラリ自体と、ライブラリのあるところのパーミッションも変えてみましたが、
現象変わらずでした。
ちなみに、>>442 では、LD_LIBRARY_PATHのスペル間違ってますが、
これは書き込みミスです。

445 :nobodyさん:2006/05/01(月) 12:51:31 ID:???.net
>>442
共有ライブラリの参照先が相対パスになっているとか?
lddの結果を見せてもらえるとわかるかも。

446 :442:2006/05/01(月) 13:59:54 ID:???.net
>>445
絶対パスで表示されています。

で、色々いじくり回した結果、SELinux を無効にしたら動きました。
SELinuxの設定でしょうか?

このあたりはスレ違いっぽいので、ほかで聞いてみます。

>>443さん、>>445さん ありがとうございました。


447 :nobodyさん:2006/06/04(日) 14:30:46 ID:???.net
なんか簡単に使えるフレームワークとかライブラリが有ればいいのに。

ejbとmod_jkみたいなのを希望。

448 :nobodyさん:2006/06/04(日) 14:38:35 ID:???.net
そう思ったら、自分で作って公開することをお勧めする。

449 :nobodyさん:2006/06/08(木) 20:51:42 ID:???.net
みんな思いつきそうだけど手は動いてないね。

450 :nobodyさん:2006/08/07(月) 15:01:57 ID:f+NIkUuU.net
C/C++界隈には凄い人いっぱいいそうなのになんでだろ?
啓蒙活動には興味ないのかな。
まあ、いまどきC/C++でCGIやるような人が
ポピュラーでキャッチーなコードを書いてるわけないか。
自分最適化バリバリっぽいな。

451 :nobodyさん:2006/08/07(月) 15:27:49 ID:???.net
まあ作れるスキルあったら売り物にするからね。
時間もかけてるしビジネスノウハウもつぎ込んでるから無料で公開というのは無い。

452 :nobodyさん:2006/08/07(月) 21:24:16 ID:???.net
サーバーサイドはJavaのserverVMの方が速くて安全でライブラリが揃ってるから、
C,C++で作る意味がない。

453 :nobodyさん:2006/08/09(水) 10:03:29 ID:???.net
CよりJavaの方が速いってありうる?

454 :nobodyさん:2006/08/09(水) 19:52:36 ID:???.net
javaのvmのほうが速いってことは無いよ。
常にCで生成した実行バイナリのほうが桁違いに速い。

455 :nobodyさん:2006/08/09(水) 22:43:45 ID:???.net
>>454
だよね。>>452はJava厨か。

456 :nobodyさん:2006/08/09(水) 22:57:54 ID:???.net
速いcで作りたいけど一から作るのマンドクセ。
結局はフレームワークが揃ってるjavaに流れるって罠?

457 :nobodyさん:2006/08/11(金) 23:13:47 ID:???.net
javaは速さがどうとか言うよりもクロスプラットフォームという点が大きいと思う。
まぁ、今更Cを学ぼうという人間もなかなかいないしね。

そのせいか稀に素っ頓狂なjavaソースを目にすることがあるが、これも愛嬌。

458 :nobodyさん:2006/08/12(土) 17:50:30 ID:???.net
javaじゃ遅くてハード代がかかるのでCにするって、身の回りでは多いけどなあ。
特に事業とかコストを考えるとJavaでは苦しくなることが多い。

459 :nobodyさん:2006/08/12(土) 22:32:47 ID:???.net
>>458
javaは動き出しちゃえば(そこそこ)速いんだよね。メモリバカ食いするけど。
今時のハードだと安くてもメモリさえ積めば充分だし。

プラットフォームが確定してればCの方がパフォーマンス良いけど、WebProgって
求められる機能がアホみたいにコロコロ変わるから、Cは向いてないよなぁ。

460 :nobodyさん:2006/08/14(月) 01:51:31 ID:???.net
こんな時代だからこそ C+++CGI なんだと思った

461 :nobodyさん:2006/08/14(月) 13:13:13 ID:???.net
Cばかりが速いとは限らない。
JITコンパイラの最適化能力と、GCの性能は一気に上がった。Javaも実際は一部JITで機械語にコンパイルしたり(いまだに完全インタプリタ言語だと思ってる人が数レス前にも)、メモリを予約するよう工夫されている。言語だけて決め付けるのは古い。
(しかしASP.NETの方がJavaわずかに全体的に速い。純MSの一部アセンブラ言語だから当然か。Win鯖限定)

CGIの起動の負荷もある。特に高負荷。

あと技術レベルとコスト。大したやつじゃないなら既存のC/C++をパパッとやって出来上がりだけど、さすがにネトゲの鯖プログラムをCでってのは勘弁してほしい。
JavaでStringを+で連結しまくる困ったちゃんもいるし、やっぱり言語を扱う人間のレベルの方が影響が大きいんじゃないか?

チラシの裏
某f〇2のアク解の鯖はOSからhttpdまで完全C++の自作らしい。どれだけさばけるのか気になる。

462 :nobodyさん:2006/08/15(火) 01:34:31 ID:???.net
完全スクラッチを謳う鯖って大概NetBSDのカスタマイズだったりするからなぁ・・・

463 :nobodyさん:2006/08/15(火) 11:25:18 ID:???.net
求められる機能がアホみたいにコロコロ変わるって仕様が十分に練れてないだけじゃん。
普通はハードは減価償却終わるまで替えないから、Cバイナリでも十分。

jit使うならiccやgcc使うのと変わらんだろ。
しかもjitなら全ソース無いとjitの意味ないし。

JbossみたいなJ2EEのワークフレームがCにも欲しい。

完全スクラッチである必要は無いと思うが。
組み込み系なのか?

464 :nobodyさん:2006/08/15(火) 13:01:56 ID:???.net
C言語の依頼ならたまに来るけども(JavaとPHPがほとんどだが)、C++はほとんどない。なんでだろ?

465 :nobodyさん:2006/08/15(火) 13:45:40 ID:???.net
>>463
お前さん、流れ読めてないだろ

466 :nobodyさん:2006/08/17(木) 00:55:09 ID:???.net
そもそもC++である必要が無い。
マカが絶賛するObjCも必要性無いからマカ以外使われないし。

Javaの客ならサンの高い鯖でも買ってくれで対応出来るだろうけど、phpだと下手にアクセス数増えると大変だよね。
小規模サイトのうちは平和だけど。Javaに移ってくれでハードごと交換してもらえるほど余裕無い場合がほとんどだし。

467 :nobodyさん:2006/08/18(金) 00:58:54 ID:???.net
いつまでも C/C++ なんていってるから散漫になってだめなんだよ。
強い C++ 文化を作らなきゃ。

468 :nobodyさん:2006/08/18(金) 01:05:04 ID:???.net
いやもう正直いまさらつーか

469 :nobodyさん:2006/08/18(金) 13:19:43 ID:???.net
現状ではC++ほどトータルバランスに優れる言語はないと思う。
でもC++の言語ポテンシャルに気づくまでには情報の壁があるよね。
URLデコード処理なんかistringstream使えば死ぬほど単純なのに。

C++に必要なのはC視点から脱却した体系的な解説サイトだな。

470 :nobodyさん:2006/08/19(土) 05:10:13 ID:???.net
C++に必要なのは移植性
Cと違ってコンパイラによって対応度が全然違うから、
g++で通るのに商用UNIXのコンパイラでコンパイルが通らなかったりしてうんこ。

471 :nobodyさん:2006/08/19(土) 16:03:29 ID:vMxG7enI.net
質問です。
C++でCGIを書こうと思ってC++勉強してるんですが、
POST methodで受信した文字列をcinでもらったり、
出力をcoutで出したりするのはセキュリティの観点等から見て
適切でしょうか?
Cだとfgetsとかputs使ってたんで、何をやってるかよくわからない
cinとかcoutはちょっと怖いイメージが…

472 :k ◆WFGp1NZuiw :2006/08/19(土) 16:36:07 ID:???.net
>>471
せっかく C++ 使うのなら,Apache のモジュールにした方がいいよ.

473 :nobodyさん:2006/08/19(土) 17:13:35 ID:???.net
怖いならソースを読むといいと思うよ

474 :471:2006/08/19(土) 21:38:55 ID:???.net
>>472
標準入出力をモジュールを介して行うということでしょうか?

>>473
そうですね。もう少しC++に慣れたら読んでみようと思います。

475 :nobodyさん:2006/08/25(金) 23:55:06 ID:???.net
そもそもアパッチも自分で作ったほうがいいよ。
アパッチって変なことやり過ぎで変になってるし。mod_rewhiteのところとか。

商用UNIXのコンパイラでコンパイルが通る様に組めないおまいがどう見てもウンコ。
素人なのか?

C++なんてイラネ。ANSI Cこそ最強ですよ。

476 :nobodyさん:2006/08/26(土) 12:54:55 ID:???.net
apacheを自分で作る??
httpdじゃなくて?

477 :nobodyさん:2006/08/26(土) 20:24:16 ID:???.net
rewrite のスペルもまともに書けない人間はプログラミング以前に、
中学校レベルの英語から人生やり直した方がいいと思うゾ。

478 :nobodyさん:2006/09/08(金) 22:30:29 ID:zv3xWmqW.net
みんな HTML 出力クラスどう設計してる?

479 :nobodyさん:2006/09/08(金) 23:24:55 ID:???.net
どうって言われてもな。
オブジェクトに要素渡して最後にoutputさせるだけだが。

480 :nobodyさん:2006/09/09(土) 01:07:22 ID:???.net ?2BP(200)
リホワイトワロタww

481 :nobodyさん:2006/09/09(土) 04:11:02 ID:???.net
>>478
俺はPerlのHTML::TemplateやPHPのSmartyみたいなヤツで出力してる。
C/C++でソース中でレイアウトいじるのはどうなのよ?
いちいちコンパイルしなきゃならんのはめんどくさくね?



482 :nobodyさん:2006/09/13(水) 04:35:05 ID:???.net
でもソース中に埋め込んでないと遅いのでCにした意味がなくなるけどな。
コンパイル面倒ならphpとかperlあたりで作った方が楽だし。

483 :nobodyさん:2006/09/15(金) 01:24:49 ID:???.net
テンプレートなんざオンザメモリですよ

484 :nobodyさん:2006/09/15(金) 10:27:09 ID:???.net
リクエストの度に読み込んでたら遅いしなあ。

485 :nobodyさん:2006/09/15(金) 11:00:49 ID:???.net
やっぱC/C++な人たちは速度に厳しいのかな。
俺はテンプレートくらいって考えちゃうよ。
でもそこまで考えるとやっぱりCGIって枠を抜けたくなってくる。
あーだからみんなCでCGI書かないのか。


486 :nobodyさん:2006/09/15(金) 16:17:35 ID:???.net
80番つかんで自前でリクエスト処理が早いよね。
フロントエンドにアパッチ置いて、ヲレモジュールで繋いだ方が便利だけど。
javaのj2eeのC的アプローチだが。

487 :nobodyさん:2006/10/03(火) 22:36:48 ID:???.net
printfでlocationを実行させようとしたんですが、単にlocation文が出力されるだけなんですが・・・
制御文と認識させるためには、お呪い前処理が必要なんでしょうか?

488 :nobodyさん:2006/10/03(火) 23:06:19 ID:???.net
- locationを実行って何
- 「単に出力されるだけ」ってどこに何が出るの
- 制御文って何
- お呪い前処理って何

総じて意味不明
何をやったのかも何をやりたいのかも伝わってこない

489 :nobodyさん:2006/10/04(水) 00:00:11 ID:???.net
CGIスレだし、Locationでリダイレクトさせたかったんじゃね?
でも別の場所でprintfしてる Content-type: text/html が残ってるせいで文字が表示されてるだけとか

490 :nobodyさん:2006/10/04(水) 00:17:56 ID:???.net
まあつまりStatus:302ってこったろうな。
302時にhtmlを返すこと自体は普通だし。確か。

491 :nobodyさん:2006/10/13(金) 20:22:15 ID:???.net
ttp://labs.preferred.jp/azarac/

492 :k ◆WFGp1NZuiw :2006/10/22(日) 15:08:53 ID:EW4822UW.net
>>491
http://barracudaserver.com/WP/CSP/ の再発明な予感.
(http://0xcc.net/blog/archives/000068.html)

べつに再発明が悪いとは思わないけど,どこが違うのか明示してくれるとうれしいかも.

493 :nobodyさん:2006/10/28(土) 00:02:45 ID:???.net
むしろ調べて報告してくれ。
来週までの宿題ってことにする。

再発明でも、いいよ。
まともに業務に使えそうな機能が欲しい。

494 :nobodyさん:2006/11/09(木) 17:10:13 ID:???.net
CGIの質問はここですればいいのですか??

495 :nobodyさん:2006/11/09(木) 22:46:46 ID:???.net
CかC++で作られたものなら。
それ以外のphpとかperlとかjavaとかなら他へ。

496 :nobodyさん:2006/11/09(木) 23:34:21 ID:???.net
http://www.gigigi.net/up/upload.phpのアプロダは
CかC++でつくられてますかね??

497 :nobodyさん:2006/11/10(金) 00:30:34 ID:???.net
そのurlの最後の三文字を声に出して読んでください

498 :nobodyさん:2006/11/11(土) 14:49:10 ID:???.net
拡張子でファイルの種類を判別できるなんて、あなたは超能力者ですか?

499 :nobodyさん:2006/11/22(水) 16:23:47 ID:???.net
権利関係のとこ見れば良いじゃないんか?
あれはただ表示してるだけですか

500 :nobodyさん:2006/11/27(月) 19:10:34 ID:???.net
そういや拡張子の無いCGIは
.htaccessで
<Files test-cgi>
ForceType cgi-script
</Files>
ってやっているけど、これ以外の方法で設定ある?

501 :nobodyさん:2006/12/04(月) 17:45:41 ID:???.net
mod_rewrite

502 :nobodyさん:2006/12/09(土) 12:15:32 ID:NH9SQeUM.net
>>491
既にあるものを新しく作ったかのように発表するのは、
プログラマとしてダサイ、
研究者として最低、
会社としては?

それとは別にpreferredのコードがazaracと同等だとしたらダメすぎだろ。
コアは良いのにもったいない

503 :nobodyさん:2006/12/09(土) 13:05:08 ID:???.net
既にあるものがベストでない場合も有る訳だし。

新しく作った方が良ければ評価はされると思う。
プログラマでも研究者でも先駆者だけが評価されるのは視野が狭い証。

コアは再利用するけど、もっと使いやすくするのがオープンソースの醍醐味。

504 :nobodyさん:2006/12/10(日) 00:02:51 ID:???.net
>>503
>新しく作った方が良ければ評価はされると思う。
そりゃそうだけどそれを示してないよね。そんな論文どこにだしてもrejectされるよ。
ちょっと>>492にあるやつ見た感じだと示せそうもなさそうだけど。

あえて言えば日本語ドキュメントがあることだけど、それじゃぁね。
まぁ今後に期待。


505 :nobodyさん:2006/12/11(月) 23:50:20 ID:???.net
どこのスレで聞いていいのかわかんないので、ここで聞きます。

カウンターCGIを探しています。(※フリーで配布されているもの)
絶対条件は、GIFアニ画像を使えるカウンターが希望です。

kentのは連結ライブラリを使用するやつしかありませんでした。
他にもいろいろ探しましたが、これといったものが見つかりませんでした。

キリバン機能はあっても無くてもヨシの方向で。
また、ここじゃなくてこっちのスレで聞けやー
っていうのがありましたらそのスレ教えてください。

506 :nobodyさん:2006/12/14(木) 00:13:39 ID:???.net
誰かエンドレスバトルのスクリプトうpしてくれる神はいませんか?

507 :nobodyさん:2006/12/16(土) 19:00:54 ID:nIpz82eR.net
あげ

508 :nobodyさん:2006/12/17(日) 19:00:36 ID:???.net
>>505
失礼な方ですね。

509 :nobodyさん:2007/01/16(火) 18:49:14 ID:xXzalZaX.net
VCで作ったCGIで、C:\WINDOWS直下に置いてあるINIファイルの設定を取得しようとすると取ってこれないのという現象が発生します
他のディレクトリを指定すると正常に動作するのですが、アクセス権限の設定とか必要なのでしょうか?

510 :nobodyさん:2007/01/16(火) 21:04:10 ID:???.net
>アクセス権限の設定とか

わかってて何故確かめない

511 :509:2007/01/17(水) 07:25:17 ID:???.net
IIS、システムフォルダとも確認しました
他に確認する所ありましたっけ?
別のサーバーはちゃんと動いてるんだけどなー

512 :nobodyさん:2007/01/17(水) 10:04:45 ID:???.net
>>509
エラーコードやらメッセージやら確認した?


513 :nobodyさん:2007/02/07(水) 17:14:45 ID:???.net
Cから、INIファイル自体読めるかどうかの確認ぐらいしたら?

オラクルとのやり取りはProCってのがあるみたいだけど、HTML生成と、HTTP周りとGET/POSTやセッション管理のライブラリ欲しい。orz

514 :nobodyさん:2007/02/13(火) 21:17:14 ID:+34QrCfo.net
C言語用のCGIライブラリで有名なものは何ですか?
クエリやHTTPヘッダを解析する程度の、簡単なもので構わないのですが…

515 :nobodyさん:2007/02/24(土) 19:11:47 ID:eSgsNpz0.net
質問させてください。

C言語の勉強をしたいので、C言語でCGIを作ろうと思ったのですが
CGIのほとんどはPerlで組まれてるようで、そのことを考えたら
C言語でCGIを作るのとPerlで作るのではどのくらい作業量が違うのかが気になりました。

CでCGIを作るのとPerlで作るのでは、どのくらい作業量が違うのでしょうか?
また、Perlでないと作るのが難しい処理がある、といったことはあるのでしょうか?

516 :515:2007/02/24(土) 21:05:09 ID:eSgsNpz0.net
一応付け加えさせて頂くと
C言語は基礎的なことは一通り理解しています。

といっても、まだまだ腕に自身がなく
今後仕事で使うことになるので、あえてPerlではなく
C言語で作りたいと思いました。

517 :515:2007/02/24(土) 21:08:08 ID:eSgsNpz0.net
一応付け加えさせて頂くと
C言語は基礎的なことは一通り理解しています。

といっても、まだまだ腕に自身がなく
今後仕事で使うことになるので、あえてPerlではなく
C言語で作りたいと思いました。

518 :515:2007/02/24(土) 21:14:11 ID:???.net
連続投稿して申し訳ござません。

519 :nobodyさん:2007/02/25(日) 13:19:25 ID:???.net
>>515
PerlはもともとCGI用に作られた言語じゃなくて、文字列処理に強いから適してたってだけ。
正規表現系のライブラリさえ用意できればCでもさほど手間は変わらない。

っていうか本当にCを理解してればこんな質問自体無意味だと気づきそうなもんだが。

520 :515:2007/02/26(月) 22:08:57 ID:???.net
>>519
ありがとうございます。
文字列処理に強いからCGIで使いやすいということだったのですね。
Cでがんばってみようと思います。

521 :nobodyさん:2007/03/28(水) 17:29:46 ID:???.net
たまには保守

522 :nobodyさん:2007/03/29(木) 02:57:24 ID:???.net
初心者ながらも悪戦苦闘しWEB作成してます。
掲示板を動かすのはCGIによるものだというのがわかるのですがどうも掲示板の設置方法がわかりません。
掲示板はCGIパール言語ではじめから組み込まれたものなのですか?それともHTMLである程度(HPのヘッダー部分や上のロゴとか)
作ってから掲示板としてはじめたい行からCGIでプログラムを書き始めるものなのでしょうか?
それとも掲示板のページは最初からCGIでヘッダーやロゴの部分もCGIパール言語で書き始める、とういうものなのですか?
このばあい、ロゴとかを前のHPから来るレイアウトでCGIにできる方法など簡単に図示、説明してあるWEBなどないでしょうか?
ど素人の質問ですがどなたかご回答いただけましたら幸いにございます。

523 :nobodyさん:2007/03/29(木) 23:03:39 ID:???.net
>>522
そのレベルだと何説明されても理解できないだろうから
自分で設置しようとか思わずにまずレンタルの掲示板
借りたほうがいいと思うよ

あとスレ違い

524 :nobodyさん:2007/03/30(金) 08:27:18 ID:2TKxnanC.net
>>522
ロゴっていうのがよくわからないが
>それともHTMLである程度(HPのヘッダー部分や上のロゴとか)
>作ってから掲示板としてはじめたい行からCGIでプログラムを書き始めるものなのでしょうか?
この辺はPHPなら出来る

>それとも掲示板のページは最初からCGIでヘッダーやロゴの部分もCGIパール言語で書き始める、とういうものなのですか?
Perlはそう

で、ここは C/C++ のスレです

525 :nobodyさん:2007/04/21(土) 13:51:12 ID:DYrM8nyl.net
>>496
画面下に
ずるぽんあぷろだ + レッツ PHP!
となっているから
phpじゃない?

526 :496:2007/04/23(月) 20:14:06 ID:???.net
>>525
サンクス!

527 :496:2007/04/26(木) 18:01:43 ID:???.net
ところで、デバッグって
みなさんどうやってます?

528 :nobodyさん:2007/04/27(金) 00:43:37 ID:???.net
別に。ふつーにやってる。

529 :496:2007/04/27(金) 18:44:00 ID:???.net
そうですか。
どうも。

530 :496:2007/04/28(土) 11:27:25 ID:???.net
おはようございます。
ここって人いないですね。


531 :496:2007/04/28(土) 20:44:43 ID:???.net
Cで作ったCGIが正常に終了しないで
プロセスとして残ってしまったら
どうやって終了させればいいんですか?


532 :nobodyさん:2007/04/28(土) 23:20:22 ID:???.net
>>496
うぜーから
消えろ!

533 :nobodyさん:2007/04/29(日) 03:13:16 ID:???.net
>>531
reboot

534 :nobodyさん:2007/05/02(水) 01:28:56 ID:???.net
cgiだとhttpdから呼ばれてるから再起動しか無いね。

535 :nobodyさん:2007/05/07(月) 00:58:27 ID:WXo0gSV8.net
独学でC++を使ってcgiを学んでます。

How to Program in C++って本で
「ユーザーが一度注文したアイテムを
ショッピング・カートから消せるようにviewcart.cgiを変更しなさい」
って問題があるんですけど、流れ的にはどうやればいいんですか?

viewcart.cgiは元々ユーザーが注文したアイテムを表示するだけのcgiです。
各アイテムにボタンは追加しました。
ただ、shopping.cgiからコピーしてきただけなので
押すとアイテムの数が一つずつ増えていきます。_| ̄|○

クッキーをostreamで開いて直接消してやらないとダメですか?
でも、途中にあるデータを消すのって大変ですよね…
後ろのを全部コピーしておいてまたペーストとか…。
一般的にはこういうのはどうするんですか?
ヒントをください。そしたら、自分でやってみます。

536 :535:2007/05/07(月) 01:05:44 ID:WXo0gSV8.net
↓ソース(viewcart.cpp)です:

ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.cgi?mode=thr&no=3844

55. viewcart.cpp  C/C++ CGIスレッド - 2007/05/07(Mon) 01:04 No.3942
3942.txt お借りします


537 :nobodyさん:2007/05/07(月) 04:41:51 ID:???.net
いや、ていうかカートの中身をcookieに持つこと自体がまずありえない
まずセッションの使い方を学ぶべし

538 :535:2007/05/07(月) 05:38:49 ID:WXo0gSV8.net
>>537
いや、別に実用するわけじゃないんで
「やっつけ」でカートの中身をcookieに持ってていいんですけど。
(client.txtなんてパスワード暗号化なしですしw)

cookieのいじり方も知っててのレスですよね?
cookieのデータの削除の方法を教えてください。
この本には追加する方法しか書いてないんですよ…。

さっきから検索してるけど全然そういうサイトが見つかりません…。

539 :535:2007/05/07(月) 05:40:36 ID:WXo0gSV8.net
ちなみにセッション管理はPHPで少し勉強しました。

この本の他の問題は全部解いたんですよ。
あとはこれだけなんでどうしても終わらせたいんです。

540 :nobodyさん:2007/05/07(月) 08:48:04 ID:???.net
削除つーか上書きすればいいだけの話なんだが。
あと前提があるならちゃんと最初に書こうな。お互い二度手間だ。

541 :nobodyさん:2007/05/07(月) 08:55:11 ID:???.net
「cookie 削除」でググれば速攻で方法見つかるやん

542 :535:2007/05/09(水) 22:54:06 ID:AhyOmpI4.net
>>540
一つの問題にしては時間がかかりすぎたんでもう諦めました。
本に載ってないことをやらそうとするのが悪い。w
ご協力ありがとうございました。

543 :nobodyさん:2007/05/09(水) 22:56:01 ID:???.net
ゆとり教育の効果は素晴らしいですね(棒読み)

544 :535:2007/05/09(水) 22:58:36 ID:AhyOmpI4.net
>>543
速攻ですな。w
いやね、キーを検索して空白やらマーカーやらで上書きまではやっても
削除にまでは至らなかったんですわ。

ちなみに自分は30歳超えてます。wwwwwwwwww

545 :nobodyさん:2007/05/09(水) 23:30:29 ID:???.net
君がやってるのはプログラミングじゃなくてただのテキストコピー作業だ

546 :535:2007/05/09(水) 23:40:33 ID:AhyOmpI4.net
>>545
その通り!異論なし!w

ま、人間何事もコピーから始まるんですよ。
自分は終わりもコピーですが。

547 :http://softbank219023243191.bbtec.net.2ch.net/:2007/05/10(木) 06:57:35 ID:???.net
guest guest

548 :nobodyさん:2007/05/10(木) 23:09:33 ID:AA4DnND/.net
君たち、ちょっと背伸びしてないか?


549 :nobodyさん:2007/05/11(金) 18:17:50 ID:???.net
削除ってリンクに削除したクッキのリンクを貼ればおk。



550 :nobodyさん:2007/06/07(木) 22:32:05 ID:GrrIKIFJ.net
EUCからUTF-8などに変換できる関数が掲載されているサイト教えて

551 :nobodyさん:2007/06/08(金) 00:26:44 ID:WTsEXDzF.net
iconv

552 :nobodyさん:2007/06/08(金) 03:18:28 ID:???.net
babel

553 :nobodyさん:2007/06/08(金) 20:05:57 ID:???.net
>>551
サンクス。

554 :nobodyさん:2007/06/18(月) 07:16:24 ID:???.net
初めてのCGIをCで作るってのは無茶だよねー。
PerlかPHPかで練習してからじゃないと、
ちょっとした掲示板作るのにすら1ヶ月以上はかかるんじゃないかな。

でもアクセスが集中する大規模サイトは、
Cで書かないとサーバ負荷が高くなりすぎて持たない。
なので、yahooとかもCで書いてる。

そしてCで書く人は、本格的に仕事で書いてる人が多いから>>451になり、
このスレも伸びない。

555 :nobodyさん:2007/06/19(火) 21:49:28 ID:???.net
>>554
Cで書いたって、CGIとして使うなら、一般的にmod_perl使うよりも遅くなる。
速さを追求するためにCを使うんだったら、apacheのmodule書いて、自分で
リクエストを捌くに限る。

C/CGIって、余程特殊な場合(Cしか出来ないとか、ソースを渡したくないとか)
を除いて、メリット無いのよね。

556 :nobodyさん:2007/06/20(水) 00:49:44 ID:???.net
>>555
2chのような掲示板の場合は確かにそうだけど、
いろいろ複雑な処理をする大規模サイトになってくると、結局C最強。

前に管理系CGIでボタンを押すと、最新のデータをもとに
サイト内のHTMLを更新するシステムを作ったんだが、
HTMLの数が数百レベルになって、
PHPやPerlだと数分待っても処理が終わらないということに。
Cで作り直してチューニングしたら、わずか数秒。

最近はWebアプリにいろんなことをさせようとしてるから、
ますますWebアプリの処理速度が重要になってくると思うな。

557 :nobodyさん:2007/06/20(水) 01:01:50 ID:???.net
単にバグってたんじゃないのかw
Perlで毎日400ファイル更新してるけど2秒ぐらいだぞ @Pentium4

558 :nobodyさん:2007/06/20(水) 01:07:54 ID:???.net
>>557
複雑なサイトだから、あちこちで多重ループをかける必要があったり、
レコード数がかなり多かったり。

できるだけ多重ループにならないように工夫もしたんだが、複雑すぎて無理…。

559 :nobodyさん:2007/06/20(水) 02:22:17 ID:???.net
組み方が下手なだけでした。本当にありがとうございました。

560 :nobodyさん:2007/06/20(水) 04:30:38 ID:???.net
>>559
本当に複雑なシステムっていうのを作ったことがないでしょ?
官庁とかから一度受けてみると良いよ。
意味不明な仕様にこだわって、システムが無駄に複雑になる。

561 :nobodyさん:2007/06/20(水) 06:23:39 ID:???.net
えーと、perlは確かに速くはないけど
普通に処理した場合、Cと比較して数倍程度の差しか出ないでしょ。
もちろん、これはそれなりに時間のかかる処理をした場合。
(インタプリタの起動時間と内部コンパイルの時間があるから)

で、下手な奴が作ると、無駄な処理をループ内でやってたり
(不要な初期化とか正規表現のコンパイルとか)して時間がかかる。
Cならコンパイラが最適化してくれたりする部分でも。

562 :nobodyさん:2007/06/20(水) 06:27:37 ID:???.net
あと、普通は(DBとの交信等も含め)I/Oがそれなりの比重を占めるから、もっと差はつまる。

だけど喜んで連想配列をループ内で初期化しまくったり
インデックスで参照できるのに何故かリニアに探索してたり。

563 :nobodyさん:2007/06/20(水) 07:09:28 ID:???.net
>>561-562
確かにCでは最適化したけど、Perlはそこまで最適化したわけじゃないから、
かなりCに有利な比較ではある。

しかしCで作ってると、ウェブサーバにはほとんど負荷がいかないが、
その代わりDBがボトルネックになる。
Javaのレスポンス/オブジェクトキャッシュのように、
CでもDBの負荷を減らせるうまい方法はないものか・・・。

564 :nobodyさん:2007/06/20(水) 07:27:51 ID:???.net
まあその手のキャッシュを使いたい時は、まずCGIってのがネックになるね。
独立したプロセスだから、交信や共有は面倒。

じゃあapache moduleにすれば良いかと言うと、そうでもない。
これも、基本的にシングルプロセスのMPMは無いから
全体で共有することも出来ないし、
プロセス毎にキャッシュするとしても全体でのメモリ使用量等、効率が悪い。

時間が充分にあって自由自在に出来るのであれば
自前で簡単なシングルプロセス/マルチスレッドなサーバーを書いて
apacheでは、必要な時にそのサーバーと交信するmoduleを書いて使う、
というのが速度的にはベストだろう。

まあこのやり方は
実際にはapacheにtomcatを組み合わせるのと本質的な差はないけどね。

565 :nobodyさん:2007/06/20(水) 10:18:48 ID:???.net
ところで皆さんコンパイラは何使ってますか?

566 :nobodyさん:2007/06/20(水) 13:55:22 ID:???.net
>>565
普通にgcc

567 :nobodyさん:2007/06/20(水) 22:08:35 ID:???.net
>>560
「これは○○県警さんでやった方法なんですが」
「では、それとはちょっと変えてください」


いや、別に変えなくても良いものは
無理して変えんでも良いがな...orz

568 :nobodyさん:2007/07/02(月) 07:03:13 ID:???.net
ソースを渡したくないって、飯を食うのには重要だけどな。
毎回ソース渡してたら、いつかは喰えなくなる。

mod_perlが速いってことは無いな。perl自体重いし、perlもCで書かれてるから、perlの構文解析の分遅い。

結局は、常時起動デーモンのトムキャット方式に落ち着くよね。
誰もが通る道なのかと安心した(w

同じ方法だと同じ攻撃に弱いってのはあるから多様性って重要。

古い所のシステムだと、歴史的経緯で非効率な処理を求められることはよくある。
開発費高めでも払ってくれるので好きだけど。他と同じ単価なら受けないけどな。

569 :nobodyさん:2007/07/04(水) 00:35:14 ID:???.net
CからSQL鯖弄るのって、ODBCぐらいしかない?
Cには、JDBCみたいなのは無いよね?

570 :nobodyさん:2007/07/04(水) 02:01:41 ID:???.net
>>569
ODBCとか使わなくても、Cならネイティブドライバ使えばいいのでは…。
他のDBへの移植性を上げたいのならODBCを使うしかないかな。

571 :nobodyさん:2007/07/27(金) 15:06:25 ID:HlWLP/Z4.net
CGI から,GetModuleFileName を呼び出すと、ドライブ名の前に"\\?\"という文字が付きますが、
これって、なんなのでしょうか?、教えてください。

Windows 2003 Server、 IIS、Visual Studio 6.0 です。



572 :nobodyさん:2007/07/27(金) 20:49:30 ID:???.net
そのPCそのものを表す。
PCローカルURIって言うとちと違うのかな?

573 :571:2007/07/28(土) 08:51:56 ID:QYOm8nEM.net
>>572
回答どうもです

が、エクスプローラで「\\?\共有名\ファイル名」とやっても「見つかりません」となります。
(「\\コンピュータ名\共有名\ファイル名」だとOK)

574 :nobodyさん:2007/07/31(火) 00:21:17 ID:???.net
>>564
共有メモリ使えばいいだけ。mod_uploaderのソース嫁

575 :nobodyさん:2007/07/31(火) 01:21:12 ID:???.net
キャッシュに共有メモリって・・・
別にいいけど

576 :nobodyさん:2007/07/31(火) 01:39:34 ID:???.net
何処に不満があるの?
worker MPM使って、dispatchはApacheに任せ、データはshm/mmapで共有ってのが現実的だと思うなぁ。

>これも、基本的にシングルプロセスのMPMは無いから
>全体で共有することも出来ないし、
これミスリーディングだとおもうな。データ共有するのにシングルプロセスである必要なんて全くないだけだし。

577 :563:2007/07/31(火) 03:20:02 ID:???.net
>>574,576
私もあれからいろいろ調べてみたら、
やはり共有メモリを使うって方法にたどり着いた。

ただしDBデータをキャッシュする場合、キャッシュの破棄タイミング、
新しいデータのキャッシュへの反映が難しい。
作成したページをキャッシュする場合も、やはり同じ問題が。

SQLサーバを使わない、もしくはSQLiteを使うとかすれば、
可能ではありそうだけど、それだとDBのクラスタリングが出来ないので意味がない。

PostgreSQLやMySQLのプラグインやトリガーという形で、
キャッシュ管理のプロセスに情報を伝える仕組みが要りそう。

さすがにこれだけの仕組みとなると、とても一人で作るのは無理そうだ。

578 :nobodyさん:2007/07/31(火) 03:22:01 ID:???.net
えーと、あなたのところではSHMMAXが、実装メモリに対して充分な値なわけですね。

例えば、1Gのメモリを積んでいてキャッシュ用途に大部分を使いたいと考えた場合
SHMMAXが数十M程度だとおおいに不満なのですけど。
あ、/proc/sys/kernel/shmmaxで充分な大きさに変更できるならば良いですがね。
それとも、細切れにブロックを確保して頑張ってやりくりしますか。

あと、shmではなくmmapを使う場合を含めて、当然排他機構が必要となるわけですが
たかがメモリの読み書き程度で重いといわれるプロセス間のロックはたまりませんね。
もちろん、プロセス間通信と比較すればずっと軽いでしょうが
ロック期間を短く(こまめにロック/アンロック)という、一般的に推奨される手法には向きませんな。
スピンロックで足りる用途だけならともかく。

579 :nobodyさん:2007/07/31(火) 08:34:44 ID:???.net
SHMMAXについてはおっしゃるとおり。

>たかがメモリの読み書き程度で重いといわれるプロセス間のロックはたまりませんね。
汎用のロックを使わなければ良いだけだと思う。
mod_uploaderがやってるように、共有メモリ領域に対してCPUのatomic命令を使うとか。

ロック期間が短い→CPUのatomic命令
ロック期間が長い→signal

で十分対処できるような。そもそもお金かけて高いサーバ使うならともかくその辺の安いPCでサービス提供するなら別にスレッド使わなくても十分なような。


複数プロセス使うのに必ずしも重い汎用のプロセス間ロックを使う必要なんてないし、なんかミスリーディングだとおもう。最初に結論ありきで論じてませんか?

580 :nobodyさん:2007/07/31(火) 09:43:21 ID:???.net
>>579
ほほー。

ttp://pc11.2ch.net/test/read.cgi/mysv/1173959386/397
システムコール使ってないし、こんなもんか

581 :nobodyさん:2007/08/03(金) 23:31:03 ID:LuhsKnBr.net
>>578
詳しいことは理解できないけど>>578の性格が悪いことだけは分かった。
もっと普通にかけるだろうに。

582 :nobodyさん:2007/08/05(日) 18:32:24 ID:???.net
>>578
おまえの頭がかたいことは良くわかった

583 :nobodyさん:2007/08/09(木) 02:14:08 ID:???.net
>>578のような人間とは仕事したく無いなぁ

584 :nobodyさん:2007/08/11(土) 00:09:14 ID:???.net
2chのread.cgiとかのソース発見!
ttp://www.gedoh.org/aki/2ch/current/bbs/

585 :nobodyさん:2007/08/11(土) 10:14:45 ID:???.net
>>584
それちょっと古いやつね。
前ちょこっとソース読んだ限りでは、完全に2ch用に特化してるから、
汎用性もなにもあったもんじゃないし、ソースも読みにくい。

586 :nobodyさん:2007/08/19(日) 21:44:36 ID:???.net
CGIってPerlのことですよね?
Perlっていうのは言語だからC言語でCGIを作るというのは
C言語でPerl言語を作るということなんですか?????

587 :nobodyさん:2007/08/19(日) 23:42:55 ID:???.net
ぐぐれ

588 :nobodyさん:2007/09/06(木) 17:50:36 ID:VY4R4z3/.net
C言語で掲示板(簡単なもの)を作りたいのですが
入門書2冊読んだ程度でもできるでしょうか…?
ちなみにC言語以外の言語はやったことがなく
C言語歴も1ヶ月で大きなプログラムも作ったことがありません。

589 :nobodyさん:2007/09/06(木) 17:51:48 ID:VY4R4z3/.net
C言語で掲示板(簡単なもの)を作りたいのですが
入門書2冊読んだ程度でもできるでしょうか…?
ちなみにC言語以外の言語はやったことがなく
C言語歴も1ヶ月で大きなプログラムも作ったことがありません。

590 :nobodyさん:2007/09/06(木) 18:18:03 ID:???.net
CGIを書くには少なくとも文字列を自由にあやつる必要があるけれど、
Cで文字列が自由自在になるには初心者が一ヶ月では少し足りないような。

まぁでもやって出来ないこたぁないよ。うん。


591 :nobodyさん:2007/09/06(木) 19:22:43 ID:VY4R4z3/.net
お返事ありがとうございます。
自由自在…今持ってる本で文字列関係?でわかってないのは
str全般とcalloc、malloc、reallocぐらいなんですがここら辺を覚えれば結構違ってきますかね…?

592 :nobodyさん:2007/09/06(木) 20:57:42 ID:???.net
とりあえずHTMLを吐くところから始めてみればいいんじゃない?
POSTとか絡んでくると色々大変だけど

593 :nobodyさん:2007/09/07(金) 03:00:06 ID:???.net
私は数年のプログラム経験があったけど、
CGIに必要なライブラリを一通り作るだけで2週間かかったよ。
どこからかライブラリを拾ってこないと、全部一から作ってたら結構大変。

594 :nobodyさん:2007/09/07(金) 06:49:22 ID:NiQeHZNB.net
>>591
ここ見て頑張れ
http://www.boutell.com/cgic/


595 :nobodyさん:2007/09/08(土) 17:40:25 ID:vnaZ3dnt.net
>>592-593
そうですか・・・とりあえずまだ力不足だしそろそろ学校
も始まってたぶん作る暇もなくなると思うので今は
とりあえずもっと勉強してから作ろうと思います。
>>594
英語多すぎてわかりませんw
でもありがとうございます。出来るだけがんばって読んでみます。


596 :nobodyさん:2007/09/09(日) 04:36:43 ID:???.net
>>594
最低限のライブラリって感じだね。

自作のライブラリってどれくらい容量or行数ある?>All
私のはPHP並に機能揃えたから2.5MBぐらい。

597 :nobodyさん:2007/09/09(日) 10:12:18 ID:???.net
人生はどう手抜きで最大限の成果を得るかだろう

598 :nobodyさん:2007/09/09(日) 12:29:09 ID:???.net
>>596
ほとんどphpにwrapperしちゃってるから自分で書いた部分は1MBも無い

599 :nobodyさん:2007/09/09(日) 12:50:20 ID:2vrQ8w/W.net
>>596
馬鹿だろ。手動かすまえに頭動かさないやつは死ね。

600 :nobodyさん:2007/09/09(日) 16:00:59 ID:???.net
STLとBoost使えばなんとかなるんかねー

601 :nobodyさん:2007/09/09(日) 18:28:43 ID:???.net
>>597-599
手抜きするためにこれだけライブラリ揃えたんだけどね。

602 :nobodyさん:2007/09/09(日) 23:55:25 ID:???.net
そう、よかったねw

603 :nobodyさん:2007/09/10(月) 01:02:01 ID:???.net
そういう手抜きをしたきゃ最初からphpで書いた方が早いだろうに・・・

604 :nobodyさん:2007/09/10(月) 04:09:10 ID:???.net
>>603
自分でライブラリ書けば、自由が効く。

605 :nobodyさん:2007/09/10(月) 21:42:08 ID:???.net
そもそも何に不自由してるのサ

606 :nobodyさん:2007/09/11(火) 12:54:32 ID:???.net
自分で全部好きにしたい、というのはわからんではないけど、
デカいライブラリをメンテするのはそれはそれで大変な気がする。
バージョン管理とか面倒そう。

というわけで、自前の奴はPOST/GETとエスケープくらいしかない。
あと、なんかのBSDライクな奴からパクってきた文字列処理と基本データ構造もあるが。
CでCGIってそれほど頻繁に必要になるわけじゃないんで、これで十分。

2.5MBってソースのサイズかね? それともバイナリ?


607 :nobodyさん:2007/09/12(水) 14:06:22 ID:aBsU5Vcp.net
8桁のランダム文字列(特定文字A〜Fのみ)
をCGI上にて表示させる方法が知りたいのですが

@chara = ('A','B','C','D','E','F');
for($i=0; $i<8; $i++)
{
    $numbera = $chara[int(rand($#chara+1))];
}

という表記を現在しています。
しかし、1文字しか表示されないのですが
8桁分ランダムに表示させるにはどのように表記したらよいでしょうか?



608 :nobodyさん:2007/09/12(水) 18:07:22 ID:???.net
>>607
perlはスレ違いだが・・・まぁいいや。

$numbera =
 ↓
$numbera .=


609 :nobodyさん:2007/09/13(木) 09:49:44 ID:???.net
>>608
やさしいねw

610 :nobodyさん:2007/09/14(金) 08:33:15 ID:???.net
>>606
> CでCGIってそれほど頻繁に必要になるわけじゃないんで、これで十分。

こっちはメインで使ってるから、メンテとかもさほど気にならない。

> 2.5MBってソースのサイズかね? それともバイナリ?

ソースのサイズ。
バイナリは150〜500KBぐらい。

611 :nobodyさん:2007/09/14(金) 11:17:14 ID:???.net
コアとなるPOST,GET,HTTP Header,File uploadとかのCGI固有の入出力部分以外は
適宜外部ライブラリをリンクするのではだめなの?

PHP並の機能っていってもPHPがPHP並の機能をもっているのはPHPの中の人が
全部自分で書いたからじゃなく、たくさんの外部ライブラリとリンクしてるからなわけで。
それともフレームワーク的な機能がたくさんあるのかな?


612 :nobodyさん:2007/09/14(金) 11:25:57 ID:???.net
もう放っといてやれ

613 :nobodyさん:2007/09/14(金) 12:14:06 ID:???.net
>>611
フレームワーク的な機能が多いかな。
外部ライブラリを使いやすくするための中間層的なライブラリも多い。

614 :nobodyさん:2007/09/15(土) 00:28:34 ID:???.net
ぐだぐだいってないでコード公開すればいいんじゃね?

615 :nobodyさん:2007/09/18(火) 17:36:28 ID:???.net
>>571-572
http://msdn2.microsoft.com/en-us/library/aa365247.aspx
今更だけど、\\?\はパスの長さの制限をおよそ32000文字に拡張する接頭辞。

616 :571:2007/10/06(土) 16:16:07 ID:???.net
>>615
おー、ありがとう

617 :nobodyさん:2007/11/14(水) 02:10:36 ID:???.net
dat落ち防止

618 :nobodyさん:2007/11/16(金) 00:44:52 ID:vk2sEYR2.net
visual c++ 2005 expressで,c++でcgiプログラム作ってるんだけど、
Windows 2000のIISの環境でcgiからファイルをオープンしようとすると、オープンに失敗するんだが・・・
何でか誰かわかりますか?
Windows XPのIISの環境ではちゃんとオープンに成功します。

<環境詳細>

仮想ディレクトリ:Scripts

Inetpub/Scripts/cgi/cgi.exe (http://hostname/Scripts/cgi/cgi.exe)
Inetpub/wwwroot/form/form.htm (http://hostname/form/form.htm)

form.htmからcgi.exeにPOST。
cgi.exeは、起動されると Inetpub/Scripts/cgi/file/ フォルダにファイルを
作ろうとするんだけど、WindowsXPだとOpen成功、Windows2000だとOpen失敗。

619 :nobodyさん:2007/11/16(金) 12:49:38 ID:???.net
IISのログを確認する
フォルダの書き込み権限を確認する

620 :nobodyさん:2007/11/16(金) 13:18:09 ID:???.net
google-ctemplate - Google Code
http://code.google.com/p/google-ctemplate/

621 :nobodyさん:2007/11/18(日) 05:15:45 ID:???.net
>>620
ClearSilverより速いのか?

622 :nobodyさん:2007/11/18(日) 23:17:33 ID:???.net
>>621
ソース見る限りClearSilverよりシンプルだから速そうだけど、機能が全然足りない予感。
まー、本格的に使うには、ClearSilverでも機能/汎用性/拡張性が足りなさそうなんだけどさ。

623 :nobodyさん:2007/11/23(金) 16:15:53 ID:???.net
で、本格的に使ってるおまいらはどうしてるの?
PHPで作っちまったほうが速いか?

624 :nobodyさん:2007/11/25(日) 09:05:24 ID:???.net
かなり遅レスになるけど>>578は、Lock FreeとかWait Freeなアルゴリズムについて勉強した方が良いと思った。


あと>>564
>自前で簡単なシングルプロセス/マルチスレッドなサーバーを書いて
>apacheでは、必要な時にそのサーバーと交信するmoduleを書いて使う、
>というのが速度的にはベストだろう。

え?って感じ。センス疑う。

625 :nobodyさん:2007/11/25(日) 09:12:48 ID:???.net
まぁmod_uploderのコードもどうかと思うが

626 :nobodyさん:2007/11/25(日) 12:59:10 ID:???.net
その程度のこと、知らないとでも思っているのかね

627 :nobodyさん:2007/11/25(日) 19:54:34 ID:???.net
データの共有手段と排他手段がまったく直行関係にないかのような書き方してる時点でだめなんじゃね?初対面の人がそういうことはなしてたら俺はスキル疑うなぁ

628 :nobodyさん:2007/12/11(火) 21:11:10 ID:???.net
>>626
その自信からするとサイボウスラボとかmixiとかその辺のなかの人でしょうか?

>というのが速度的にはベストだろう。
こう言い切る前にはいくつかの前提が必要なはず。
もしかして自分が普段接している前提条件の下でしか考えられない人?

629 :nobodyさん:2007/12/11(火) 21:18:21 ID:???.net
文系上がりのプログラマってそういうこと多い。自分が暗黙のうちに想定してる前提を忘れがち。
理系だと卒論/修論書くうちにそのへんはみっちりなおされる。

630 :nobodyさん:2007/12/12(水) 08:36:13 ID:4x7KYrD1.net
age

631 :nobodyさん:2007/12/12(水) 08:46:46 ID:???.net
>>628
mixiはPerlじゃないっけ?
Yahooと楽天が一部をCで書いてたはず。

632 :迷う:2007/12/15(土) 08:28:11 ID:???.net
LibCGI
http://libcgi.sourceforge.net/

CGI++
http://www.webthing.com/cgiplusplus/

GNU Cgicc
http://www.gnu.org/software/cgicc/

cgic
http://www.boutell.com/cgic/

633 :迷う:2007/12/16(日) 17:33:32 ID:???.net
GNU cgicc がよさそう.

634 :nobodyさん:2007/12/18(火) 18:44:19 ID:vyPDChvS.net
test

635 :nobodyさん:2007/12/18(火) 18:52:24 ID:???.net
GPLはうんこ

636 :nobodyさん:2007/12/19(水) 23:58:08 ID:???.net
cgiccはLGPLだが

637 :nobodyさん:2007/12/20(木) 18:02:10 ID:yjctAQBa.net
C++ で CGI というときに一番の難関は文字コードだと思うんだが
そういう危機感がこのスレにあまりないのは
やっぱり掲示板とかCMS級のユーザーフレンドリ階層なアプリを誰もC++らないからなのか…

JIS, SJIS, EUCJP, UTF7, UTF8, UTF16, UTF32 と改行コードまで自動判別しつつ
相互変化できるクラスを作ろうとしたら死にかけた

638 :nobodyさん:2007/12/20(木) 18:58:34 ID:???.net
babel使ったからそんなもんに苦労しなかったな。
他にもいろいろあるでしょ?


639 :nobodyさん:2007/12/20(木) 19:10:00 ID:???.net
Gaucheのソースが文字コード判定は優秀らしい。
それでもある程度バイト数がないと難しいだろうけど。

できればcharset指定とかを認識して、判断するのが正しいけど、
Webブラウザから渡されるのはcharset指定とかが一切ないからなー。
SJISかUTF-8のどっちを渡されたかは、予め決めておくか、
Gaucheのを使って判定するしかない予感。

変換は普通にiconv使ってる。

640 :nobodyさん:2007/12/20(木) 19:20:22 ID:???.net
判別用文字を仕込んどくんじゃないの?


641 :nobodyさん:2007/12/23(日) 12:00:21 ID:???.net
>>637
文字コードなんて問題にしたことは無い。
何もかもUTF-8で済ますように事前にお膳立てをするから。

642 :nobodyさん:2007/12/23(日) 20:42:35 ID:???.net
携帯の絵文字で困ったことになる

643 :nobodyさん:2007/12/25(火) 14:44:19 ID:???.net
そういや絵文字の範囲を丸々シフトしてiconvを騙してるフィルタのコードを見たことあるな。
あれ、C+iconvじゃなくてjavaだったかな。


644 :nobodyさん:2007/12/25(火) 17:02:56 ID:???.net
sendmailer は UTF-7 必須

645 :nobodyさん:2008/01/22(火) 12:04:42 ID:???.net
FileUploadのC/C++用ライブラリを探しています。
どなたかご存じないでしょうか?

646 :nobodyさん:2008/01/22(火) 13:08:58 ID:???.net
サーバから見て、アップロードしたいのか、ダウンロードしたいのかどっち?

647 :nobodyさん:2008/01/22(火) 19:09:37 ID:???.net
クライアントがアップロードしたものをサーバで受け取る際のHTTPプロトコル(RFC1867)
を解析するライブラリが欲しいです。
JavaでいうとCommons FileUploadのような

648 :645:2008/01/22(火) 19:19:44 ID:???.net
>>647 = >>645 です。_(__)_

649 :nobodyさん:2008/01/23(水) 13:31:01 ID:???.net
>>632の中から好きなの選べ

650 :nobodyさん:2008/01/28(月) 13:56:18 ID:???.net
ちょっとスレチっぽいが
cgiをコマンドラインから直接起動したいんだけど
POSTやGETで渡す引数を模擬するにはどうしたらいい?

651 :nobodyさん:2008/01/28(月) 14:39:15 ID:???.net
POSTなら標準入力にぶち込むだけでいい

652 :nobodyさん:2008/01/28(月) 14:57:11 ID:???.net
>>651
REQUEST_METHODとかCONTENT_TYPEとかCONTENT_LENGTHとかの
環境変数も設定する必要があるだろ。

653 :nobodyさん:2008/01/28(月) 15:25:48 ID:???.net
>>650
つ RFC3875


654 :nobodyさん:2008/01/31(木) 15:15:22 ID:4cRt7TvD.net
スレ違いかもしれないのですが
成分分析のフリーCGIをどなたかご存じないですか?



655 :nobodyさん:2008/02/03(日) 05:14:18 ID:???.net
expatの使いかたがわからん
サンプルソースがおいてあるサイトわかる人いる?

656 :nobodyさん:2008/02/04(月) 10:06:40 ID:???.net
本家のリンク先にあるチュートリアルとソースディストリビューション中のexampleで
とりあえず使うには十分じゃない?


657 :nobodyさん:2008/02/05(火) 13:31:05 ID:???.net
perlのクックブック(オライリー)を参考にした。

658 :nobodyさん:2008/02/12(火) 10:17:26 ID:4A4yMdyj.net
レンサバ使ってて、C言語可なんですけど

OSはLINUX系としか教えてくれない。
シェルは使わせてもらえない。
自前のPCでコンパイルして実行形式をUPしろ。
リンクするときにstaticにしないとダメよ。

としか情報が貰えません。
linuxの実行形式ってカーネルやディストリビューション違っても
互換あるんですかね?


659 :nobodyさん:2008/02/12(火) 11:20:20 ID:???.net
それはC言語使用可能とは言わないだろう。


ともかく、作ったバイナリがサーバで動くかどうかはバイナリの形式とか、
libc他のAPI互換性があるかどうかとか、CPUのアーキテクチャとかによる。

ま、フツーに最近のi386ディストリでgccを使ってスタティックリンクな
バイナリを作ればたいがい動くんじゃないの。


660 :658:2008/02/12(火) 12:14:03 ID:???.net
>それはC言語使用可能とは言わないだろう。

ボクもそう思うんですが、C言語使用可能と宣伝してたんです。
isleというそれなりに大きいレンサバ屋です。

cpuはxeonだと自慢してたので386系なのは確実なんですが…


661 :658:2008/02/12(火) 12:17:32 ID:???.net
ちなみにこれがisleのFAQ「C言語は利用できますか」の回答です。

C言語で作成されたスクリプトのご利用も可能ですが、
telnet/sshはご利用いただけないため、iクラスタにて利用している
Linux系のOSを利用している端末にてコンパイル後に
アップロードしていただく作業が必要となります。
他の端末にてコンパイルする場合には、ライブラリを共有できないため、
static オプションつけたコンパイルを行ってください。

662 :nobodyさん:2008/02/12(火) 16:51:07 ID:???.net
PerlのCGIでgccを叩いてみたらどう?
パスが通っていることと、負荷の制限が軽いことが条件だけど。
昔のXREAではそうしていた。
今からVirtual PCという手もある。

663 :658:2008/02/12(火) 21:59:48 ID:???.net
>662
telnet.cgiが使えました。

uname -a でfedora3だということもわかりました。
デバッグ用の環境をfedora3で作ります。

みなさんありがとうございました。

664 :nobodyさん:2008/02/23(土) 09:06:34 ID:???.net
フレーム内の監視を行いたいのですが、これにはどういう仕掛けを作れば良いんでしょうか。
インフレームの内部を監視して、表示された中身をソースかキャプチャで保存するCGIを作りたいのです。

665 :nobodyさん:2008/02/29(金) 11:28:26 ID:???.net
>>664
無理ぽ。

666 :nobodyさん:2008/04/19(土) 14:56:01 ID:TKfwdaTT.net
C++でClearSilver使おうと思ったんですが、素でC++用のAPIが入ってないのでClearSilver++?を使おうと思ったら
http://biology.nmsu.edu/software/clearsilver++/
調べる限りここらしいんですが、繋がりません。
ミラーとか無いんですかね?

667 :nobodyさん:2008/04/20(日) 15:29:47 ID:???.net
もう復旧した様子

668 :のし図:2008/04/23(水) 18:51:13 ID:9jK7Jl1u.net
スクリプトの事で質問があります。
http://mk-board.net/index.cgi

このスクリプトを抜いて自慢している人がいて、ソースを晒していた人がいるのですが
 どうやってこの
http://mk-board.net/index.cgi
のスクリプトを抜いているかが気になります。
どうやるのですか?
教えて下さい

669 :nobodyさん:2008/04/24(木) 09:33:08 ID:???.net
ハッカーの仕業!?

670 :nobodyさん:2008/04/27(日) 17:14:11 ID:xxSAA3Zr.net
最近はやりのIISの問題を突いてるんじゃないの。


671 :nobodyさん:2008/05/01(木) 04:51:52 ID:???.net
不正アクセス禁止法

672 :nobodyさん:2008/05/21(水) 02:58:51 ID:H73mNdaA.net
不正アクセス禁止法

673 :nobodyさん:2008/05/21(水) 04:31:31 ID:???.net
668が嘘をついているという可能性が高い
気がしないでもない

674 :nobodyさん:2008/07/21(月) 11:22:35 ID:p8NBqSCe.net
ClearSilver++って落とせる?ftp繋がらないんだけど・・・

675 :nobodyさん:2008/07/24(木) 11:50:25 ID:???.net
>>666-667

676 :nobodyさん:2008/07/26(土) 08:58:55 ID:???.net
>>675
見えてるけど答えになってないよ。
いつ何度やっても繋がらないんだけど?

677 :nobodyさん:2008/07/26(土) 09:21:58 ID:???.net
C++ CGI さいきょー

678 :nobodyさん:2008/07/30(水) 18:56:54 ID:???.net
数年前にCで掲示板作ろうとしたが、文字コードであっけなく挫折
最近そのこと思い出してふらっと調べたら、VSで簡単にunicode扱えるようになってるのな
ちょいちょい思い出しながら作ってみるかな

679 :nobodyさん:2008/09/06(土) 21:33:24 ID:Z1+deiQP.net
なんだかんだ奥が深いよなぁ

680 :nobodyさん:2008/09/18(木) 15:01:14 ID:/9HVp0RB.net
CGIでエラーがあった場合エラーページにリダイレクトしてるんですが、
リダイレクトする前のエラー内容のエラーロギング(fprintf(stder,))が
出力されません。(何も出力されない)

syslogを使うことや他の方法も考えたのですが、とりあえずなぜ
エラー出力がでないか調べています。
なにか解決策あれば教えてください。

・apacheはver2.0です
・リダイレクトしない場合は、ちゃんとエラー出力される
・リダイレクトはLocation :〜の絶対パス使用(相対パスによる内部リダイレクトだとエラー出力された)
・他の言語(PHP)で試すと、リダイレクト前のはちゃんと出力される



681 :nobodyさん:2008/09/18(木) 22:43:17 ID:???.net
$data = "MAILADDR=<入力したメールアドレス>\n PASSWORD=<入力したPW>\n";
if (open(FH, ">data.bat")) {
print FH $data;
close(FH);

↑CGIを使用しページを見ているユーザーに入力を求め、<入力したメールアドレス><入力したPW>に代入?させてファイルに書き出したいのですがいい方法ってありますか?

682 :nobodyさん:2008/09/18(木) 22:48:21 ID:???.net
ここはCあるいはC++用のスレなのでperlの質問はスレ違いです。

Perlコーディング初心者質問スレ Part 58
http://pc11.2ch.net/test/read.cgi/php/1218030872/

683 :nobodyさん:2008/09/24(水) 13:34:55 ID:???.net
>>680 fflushはしたの?

684 :nobodyさん:2008/10/09(木) 01:47:06 ID:???.net
>>683
fflushもしてみましたが、ダメでした。
何が原因なんだろう。

685 :nobodyさん:2008/10/09(木) 15:17:08 ID:???.net
Location: 受信と同時に接続が切られて、そんでmod_cgiからシグナルが飛んでるとか?
でもヘッダで指定したサイズまでは読むだろうしなぁ。

デバッガをアタッチして、なんで死んでるか見てみたら。


686 :nobodyさん:2008/10/11(土) 03:41:33 ID:???.net
fprintfとかCライブラリではなくシステムコール直に叩いてみて

687 :nobodyさん:2008/10/15(水) 17:54:06 ID:???.net
stdoutとstderrは親経由で表示とか、ロギングされてるだろうから、
接続が切られると即捨てられる運命にあるのでは?

いや、Location: 受信と同時に接続を切るようなクライアントがあるのかどうかしらんけど。
サイズを指定すればそのバイト数までは読むようになるのかも。


688 :684:2008/10/16(木) 00:40:29 ID:???.net
>686
exec系は一通りwaitしたりしつつ試してみましたが、ダメでした。
fflushなりprintなりは終わっているはずなんですが。。。

>686,687
Location時にもContent-lenghtをつける、ということでしょうか?
その場合って、stderrの出力分を指定?でしょうか。




ちなみに、複数台のサーバが全部そういう状態で、割と困ってます。。

689 :nobodyさん:2008/11/23(日) 08:48:19 ID:Zhb3/Rjb.net
プロセスが毎回生成されるから
c++であってもあんまり良くないんじゃない?

690 :inaba:2008/11/23(日) 21:54:57 ID:eDvTRSVx.net
EclipseでWebアプリケーションを開発しています。
サーバを起動時コンソールに以下のようなメッセージが出ます。

2008/11/23 21:23:44 org.apache.catalina.core.AprLifecycleListener init
情報: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path:
C:\Program Files\Java\jdk1.6.0_01\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files\Java\jdk1.6.0_01\bin\..\jre\bin\client;
C:\Program Files\Java\jdk1.6.0_01\bin\..\jre\bin;hnologies\ATI Control Panel;C:\Program Files\Java\jdk1.6.0_01\bin;C:\Program Files\MySQL\MySQL Server 5.0\bin
2008/11/23 21:23:44 org.apache.coyote.http11.Http11Protocol init
情報: Coyote HTTP/1.1を http-8081 で初期化します
2008/11/23 21:23:44 org.apache.catalina.startup.Catalina load
情報: Initialization processed in 562 ms
2008/11/23 21:23:44 org.apache.catalina.core.StandardService start
情報: サービス Catalina を起動します
2008/11/23 21:23:44 org.apache.catalina.core.StandardEngine start
情報: Starting Servlet Engine: Apache Tomcat/6.0.10
SQL failed
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 'ecsite.item' doesn't exist

データベースにアクセスできません。原因がわかる方お願いいたします。

691 :nobodyさん:2008/11/23(日) 22:47:32 ID:???.net
マルチ?

692 :nobodyさん:2009/06/17(水) 02:16:44 ID:zEMbuSde.net
ほっしゅほっしゅ

693 :nobodyさん:2009/07/04(土) 17:57:16 ID:???.net
文字コード面倒だな。決め打ち最強か。

694 :nobodyさん:2009/07/15(水) 12:42:28 ID:???.net
UNICODE

695 :nobodyさん:2009/07/15(水) 15:51:36 ID:???.net
正直、C/CGIとServletってどっちがはやいの?
Servletの仕組みvsC自体の速さの対決になるとは思うが。

696 :nobodyさん:2009/07/16(木) 11:02:53 ID:???.net
こんにちわ。
C++でフリーなサーバ作ってます。
そのCGI部分で質問させていただきます。

php-cgiをexecveして、cgi実行させるところまでは出来たのですが、
POSTが取れません。php-cgi実行時に標準入力に
POSTメッセージを書き込んでるのですが、php-cgi
では見えないようなんです。
またPHP_SELFも設定できません。
REDIRECT_STATUSとSCRIPT_FILENAMEは設定しました。
どこに聞けばいいかとか情報お持ちの方はお願いします。

環境はfedora core 7とg++です。
phpは標準についてくるものだけです。
よろしくお願い申し上げます。

697 :nobodyさん:2009/07/17(金) 12:26:28 ID:???.net
696です。自己解決しました。
POSTという文字列が大文字小文字区別がありました。
まとめておくと、
SCRIPT_FILENAME
REDIRECT_STATUS
を指定するのが必須。
execve等で/usr/sbin/php-cgi、引数にphpを指定して実行。
POST,GET等はcaseセンシティブということでした。

では。

698 :nobodyさん:2009/09/01(火) 20:16:45 ID:???.net
FastCGI+C が史上最速。

699 :nobodyさん:2009/09/03(木) 10:53:56 ID:???.net
Cでmodにしてしまう方がいいかも

700 :nobodyさん:2009/10/22(木) 16:19:37 ID:???.net
C++&FastCGIでcomet作れるかの

701 :nobodyさん:2010/01/20(水) 17:00:51 ID:???.net
喪主

702 :nobodyさん:2011/05/24(火) 08:13:53.11 ID:VlEBmKSb.net
ほす

703 :nobodyさん:2011/05/24(火) 09:12:57.30 ID:???.net
てす

704 :中山康幸crue:2011/05/24(火) 20:02:33.72 ID:mRaBHXEo.net
http://youtu.be/Fa8VuqyRfVE

705 :nobodyさん:2011/05/29(日) 23:56:49.67 ID:lGKXO+NC.net
掲示板にレス禁、アク禁を設定出来るcgiって何が必要ですか?
全くの初心者なので教えて下さい

706 :nobodyさん:2011/06/01(水) 13:33:57.30 ID:???.net
C/C++の開発環境
このスレ的にはね

707 : 【東電 57.9 %】 忍法帖【Lv=3,xxxP】 :2011/06/02(木) 03:46:54.49 ID:???.net
cgiの知識も必要。
必要なものを効いてる時点で理解してないw

全くの初心者であれば自分で調べたほうが知識も付いていい。
掲示板作りたいだけならプロに金払って作ってもらったら?

http://hibari.2ch.net/test/read.cgi/php/1294318320/
△▲ WebProg 初心者の質問 Part23 ▼▽
http://hibari.2ch.net/test/read.cgi/php/1097759967/
☆★☆掲示板の作り方☆★☆
http://hibari.2ch.net/test/read.cgi/php/1222645553/
【 スクリプト改造依頼スレ】(丸投げ) part7再々
http://hibari.2ch.net/test/read.cgi/php/1199349086/
一人で始めるWEB起業何が一番面白いかな? 5案目
http://hibari.2ch.net/test/read.cgi/php/1005203165/
PHP作成代行してくれるところ
http://hibari.2ch.net/test/read.cgi/php/1019171453/
bbs.cgi開発【WebProg板】
http://hibari.2ch.net/test/read.cgi/php/1101491473/
何から勉強していいのか分からない

708 :電脳プリオン 忍法帖【Lv=40,xxxPT】(1+0:8) 【39.8m】 :2013/02/10(日) 00:40:50.43 ID:???.net ?PLT(12080)
C#は?

709 :nobodyさん:2018/02/20(火) 04:38:06.88 ID:???.net
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆

710 :nobodyさん:2018/06/20(水) 23:12:38.40 ID:UnZq46Ab.net
プログラミングを誰でも習得できる方法は、「前場アキドルのプログラミングマスター方法」というブログで見られるらしいよ。ネットで調べると見られるらしいです。

25JA9

711 :nobodyさん:2022/09/16(金) 21:08:08.56 ID:FYHDW98ln
滑走路にクソ航空機にと倍増させてきたのと比例して土砂崩れに洪水、暴風.猛暑.大雪にと災害倍増
あらゆるものか゛破壊されて人が殺されまくってるわけた゛が.ブチギレ自然様にコロナまで投入されてもまだ懲りす゛.
都心まて゛数珠つなき゛て゛コロナ前水準にまでクソ航空機飛は゛しまくって
JALだのANAだのクソアイヌト゛ゥた゛のクサイマ‐クた゛のゴキフ゛リフライヤ―だのテ囗リス ├にコ口ナまき散らさせて
全國て゛コ口ナ倍増,憲法カ゛ン無視で人権侵害に財産権侵害に殺す氣満々でジェ丿サイト゛やってる世界最惡の殺人組織
公明党に乗っ取られた世界最惡の殺人腐敗テ□リス ├の巣窟霞か゛関に地球の英雄プ―チン大先生は正義の核を撃ち込んて゛やれ!
核なんかより國土破壞省に気候変動災害連発くらって殺された住民のほうが圧倒的に多いことすらス儿━しながら核カ゛ーた゛のと
寝言ほさ゛いて、日本に原爆落とした世界最悪のならす゛者国家に平伏し忠誠を誓うバ力丸出しのクソジャップの目を覚まさせてやれ!

創価学會員は,何百萬人も殺傷して損害を与えて私腹を肥やし続けて逮捕者まで出てる世界最悪の殺人腐敗組織公明党を
池田センセーが口をきけて容認するとか本氣て゛思ってるとしたら侮辱にもほどがあるそ゛!
https://i.imgur.com/hnli1ga.jpeg

157 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★