03/03/23 13:20
C言語で書かれたCGIってなかなかイイもの見つかりませんよね。
前Cでかかれた掲示板を見かけたんですけど、なんかタグ用の処理が行われていないらしくて、グロ画像やエロ画像なんて
貼りたい放題でしたよ・・。わたしなんて<xmp>タグを貼りかけましたよ・・・
それはどうでもイイとしてKENTさんのCGIみたいに高機能で手軽なCGIのC言語版みたいなのがあったらなぁなんて思ったことありませんか?
このスレではそんなCGIについて語って、CでCGIの考えを普及していきたいです。
2:nobodyさん
03/03/23 13:22 sylBhDVS
2get
3:nobodyさん
03/03/23 13:33 sylBhDVS
サーバー管理人もシェルを開放するのを敬遠するよなぁ
4:nobodyさん
03/03/23 13:34
自分が管理人だから何も問題ない。
5:nobodyさん
03/03/23 13:36 sylBhDVS
>>4
「かぁ~くぃ~」とあられちゃん風味で言ってみるテスト
6:nobodyさん
03/03/23 13:37
掲示板だったらCで書くメリットないしぃ~
7:nobodyさん
03/03/23 13:40 Kt/FP1fC
最近人生がおもしろくない。
そう思いのあなた!
URLリンク(www5e.biglobe.ne.jp)のページをお試しください!
100種類のタダで遊べるゲームに、
おもしろいパクリ物を集めたコーナーや、
管理人がすぐに素材にしてくれる素材掲示板
ほかにも、2ちゃん掲示板もありますよ!
自作フラッシュもあります。
とにかくいろんなコンテンツが豊富です!
常連になってくれる人大募集!
8:nobodyさん
03/03/23 13:41 sylBhDVS
>>6書き込み数や掲示板の内容にも因る
9:nobodyさん
03/03/23 14:16
スキンを使えるようにしてください、と言われて凹むわけだが
10:nobodyさん
03/03/23 14:50 F5JRnBB1
デコードのしかたを教えてください。
分かりやすく親切にね。
↓のdataにとりあえずいろいろ入るようにしました。
それからどうするの?
/* 関数のプロトタイプ宣言 */
int decode();
/*グローバル変数の宣言*/
char data[1024];/*出力文字*/
/* データ取得処理 */
int decode() {
/* GET/POST 取得 */
if(strlen(getenv("REQUEST_METHOD")) == 3) {
/* GET処理 */
strcpy(data,getenv("QUERY_STRING"));
} else {
/* POST処理 */
fgets(data,sizeof(data),stdin);
}
return 0;
}
以下省略
11:nobodyさん
03/03/23 16:23
test
12:nobodyさん
03/03/23 16:23
てえst
13:nobodyさん
03/03/23 16:24
あbcでfgひjklmn
14:nobodyさん
03/03/23 16:24
ごめんが爆
15:nobodyさん
03/03/23 17:14
if(strlen(getenv("REQUEST_METHOD")) == 3)
これでGETだと判断するのかよ。すごいなお前。
16:somebody
03/03/23 18:13
>>15
それは尊敬してるのかいっ?(笑)
17:nobodyさん
03/03/23 18:16 yv3NRqsM
URLリンク(www.agemasukudasai.com)
18:somebody
03/03/24 02:52
>>17
開かない(涙)
19:anybody
03/03/24 09:14 0p5nPuub
KENTに頼んでC言語でつくってもらうしかないな・・・
>>1
20:nobodyさん
03/03/25 00:48
KENT が C なんか書けるわけないに1ペリカ
21:nobodyさん
03/03/25 02:14
可変長文字列型なstring型のあるPASCALなら結構戦える気もする。
22:コピペ
03/03/25 04:26
//---- %で始まる特殊記号を変換する関数
void Escape( char* 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';
}
23:nobodyさん
03/03/25 11:02
>>22
なぁ、出力のない変換関数なんてただのゴミではないだろうか?
24:nobodyさん
03/03/25 21:00
>>22
これを書いた人はstrtolという標準関数を知らないのかな。
変換前の文字列が%で終わっていたら危ないね。
あとswitchを使った方が見やすくなると思う。
どうでもいいけど、Escapeだと逆のような気が・・・
>>23
え?
25:yabukita
03/03/26 03:05 0eTcQCDY
>>20
KENTはPerlだけか?
26:nobodyさん
03/03/26 04:06
おそらく。
27:anybody
03/03/26 13:39
>>26
漏れもPerl関連でKENTみたいに本を出したいのですが。
28:yabukita
03/03/26 13:41 6XIqCMZ4
>>27
適当にがんばってください。
C言語でCGIを普及するにはまだまだだな。
29:anybody
03/03/26 13:42
>>28
どうすればC言語CGIにみなの関心がいくか考える必要がある。
KENTみたいなスクリプトをC言語で書けば注目をあびるだろう。
30:yabukita
03/03/26 13:43 6XIqCMZ4
>>29
2ch風味な掲示板を是非C言語で作ってみたいですな。
31:anybody
03/03/26 13:45
C言語でCGIを動かせる無料鯖ってどこにあります?
32:yabukita
03/03/26 13:46 6XIqCMZ4
>>31
URLリンク(www.tok2.com)
とか?(telnetOKよ)
あとXreaもC言語のCGIがうごくが事前にLinux環境で
コンパイルする必要がありけり
33:nobodyさん
03/03/26 16:01
>>32
Linux環境コンパイルですが、
Winで、Borland C++ Compiler 5.5.1でコンパイルではダメかな?
34:nobodyさん
03/03/26 16:57
コンパイル(+リンク)って何をやってるか分かってればそんな質問は....
35:nobodyさん
03/03/26 17:15
>>34
どうにかしてクロスコンパイルするんじゃないの?w
36:nobodyさん
03/03/26 20:35
事前にコンパイルするなら、スタティックリンクしておけば大抵のところでは(C言語で書いたプログラムが)使えそうな気がする。
iswebはSparc+Solarisだったかな。性善説サーバでコンパイルしたものをアップしてみようかな。
37:nobodyさん
03/03/26 20:46
サーバー上でコンパイルできなければC言語が使えるとは言えないよね。
コンパイルしたものはもうCとは無関係だし。
38:bloom
03/03/26 20:53 C4vNyXIc
URLリンク(www.agemasukudasai.com)
39:nobodyさん
03/03/26 21:01
性善説サーバーは64bitなんじゃらだったからー??
(知らないのに勘でしゃべる)
40:nobodyさん
03/03/26 21:02
>>37
>サーバー上でコンパイルできなければC言語が使えるとは言えないよね。
そんなこと無いと思うよ。
41:nobodyさん
03/03/26 21:23
あまり関係ないけど、
実は、、ExecCGIが有効か無効か、しか問題にならない。
PerlでCGIが動くのなら、CGIが使えるっていうことだから、
#!/...形式以外の物も使える、つまり、C言語で書かれた物をコンパイルしたもの
(バイナリ)もCGIとして動くということになる。
42:nobodyさん
03/03/26 21:27
バイナリが動くか動かないかは分かりきったこと>>41なんだから、
そこであえてC言語が使えると書くのは、Cコンパイラーが使えます、
という事を意味する。はず。
43:nobodyさん
03/03/26 21:28
>コンパイラー
コンパイラ
44:nobodyさん
03/03/26 22:11
なんだこのスレは。
45:nobodyさん
03/03/26 22:13
>>44
同意。
しょうもないこと言ってるのはほっといて実装技法の話しようや。
46:nobodyさん
03/03/26 22:16
せめてC++にしてSTL使おうよ。。。
47:nobodyさん
03/03/26 22:17
>>46
少なくともstring位はほしいよなぁ。
48:nobodyさん
03/03/26 22:19
>>47
あとmap
49:nobodyさん
03/03/26 22:36
CでCGIの書籍があったよな。たしか便利なライブラリがあって、
今更デコードだなんだからやらなくてもいいはずだが。
50:nobodyさん
03/03/26 22:38
>>49
ライブラリ厨、爆誕!
51:nobodyさん
03/03/26 22:40
>>50
C標準ライブラリやSTLはスルーしてどうして俺だけ・・・
52:nobodyさん
03/03/26 22:42
>>51
そういやそうだな。スマソ。
53:nobodyさん
03/03/26 23:07
じゃあC/C++でCGIを語るスレってことで
54:nobodyさん
03/03/26 23:09
>>53
Pascalに謝れ。
55:nobodyさん
03/03/26 23:20
Pascalよ、斬り捨ててごめん。
じゃ、改めてC/C++でCGIを語るスレってことで
56:nobodyさん
03/03/26 23:24
>>55
なめんなこら!コンパイル済み実行ファイルなCGIを語りつつ普及・・・って普及するスレってなんだよ・・・。
Windows用ならGUIで設定とかできるとおもしろいなとか思ってみたり。
57:nobodyさん
03/03/26 23:37
設定って?CGI用の設定ファイルをGUIアプリに吐かせると言う意味?
それなら根本的にCGIとは関係ないと思うけど。
単にテキスト出力するプログラム作ればいいだけだから。
58:nobodyさん
03/03/26 23:42
>>57
普及するスレとか言っちゃう奴に理解してもらおうと思った俺がバカだった。
59:nobodyさん
03/03/26 23:52
ブラウザでHTMLフォーム表示したってGUIだしな。
Windows用ならGUIで、って何を指してるのかがわからん。
60:nobodyさん
03/03/27 00:19
テキストブラウザで表示したらGUIじゃないぞ。
>>59
GUIの設定ツールをつくるってことじゃない?対象がCで書かれている必用はないけど。
61:nobodyさん
03/03/27 00:21
>>60
キャラクタで構成されたGUIってのも存在すると思うが。
62:nobodyさん
03/03/27 00:21
>>60
>テキストブラウザで表示したらGUIじゃないぞ。
CUIのことよく分かってない予感。
63:nobodyさん
03/03/27 00:26
>>61
どこがグラフィカル?
64:nobodyさん
03/03/27 01:05
>>63
***すれ立てるまでもない質問はここで 第34刷***
スレリンク(tech板)l50
その話はこっちで現在継続中。
なんでわざわざ移動して質問したのかは謎。
65:nobodyさん
03/03/27 01:27
>>GUIで設定
言い出しっぺの>>56が説明もせずにいなくなったわけだが
66:somebody
03/03/27 17:30
ライブラリを使用ないし使用を示唆するような香具師へ
>>49
もちろんライブラリはあるなら使ったほうがよい。
Butもし、なんもなしでアドリブでつくれっていわれたときに
「ぼくちゃんライブラリがないとつくれましぇ~ん」
なんてことにならずに独力ですべてつくれるようにしておきたいんだYO。
67:nobodyさん
03/03/27 17:32
>>66
お前、とっくに終わった話題をトレースして何が楽しい?
68:nobodyさん
03/03/27 17:36
>>66
ならこのスレと関係ないから一人でひっそりとC標準ライブラリでもSTLでも好きなの作ってれや。
このスレはどうでもいいことに食いついて全然話が進まないな。
69:fusianasan
03/03/27 17:36
ポケモンってC言語でつくれますか?
GBDKでつくれますか?
すれ違いならいいんです。ほんとごめんなさい。
フシアナサンってだれですか?
70:nobodyさん
03/03/27 17:38
>GBDK
Gaki Bakari Dana, Koko.
71:fusianasan
03/03/27 17:38
>>67
66です。すまむこ。このネタおわってたのね。
ところでふしあなさんってきかなくなったんですね。
72:nobodyさん
03/03/27 17:38
>>69
できないことはない、できればアセンブラの方が良いと思うが板違いだと思われ。
73:fusianasan
03/03/27 17:43
>>72
ありがとう。先キュー。OK牧場
74:fusianasan
03/03/27 18:08
CとC++の書き方を同じプログラム内で書くことはできますか?
75:nobodyさん
03/03/27 18:09
ただのC/C++質問スレになってる(;´Д`)
76:nobodyさん
03/03/27 18:10
>>74
統一しとけ。な。
77:nobodyさん
03/03/29 17:51
そんなことよりperlのBモジュールから吐き出されるCのコードはなんとかならんのか。
hello,world がなんで100KBになんだよ。
78:初心者
03/03/31 22:24
実験でくだらないCGIをCで書いてみたんだけど
使用したコンパイラが、な、なんとLSI C-86試食版なんすよ!!
しかし16Bitでカナーリ時代遅れの予感、、
誰かWindowsで動作する32Bitコードを吐き出す
フリーのコンパイラって知りませんか?
79:nobodyさん
03/03/31 22:30
>>78
bcc
80:nobodyさん
03/03/31 22:31
>>78
ネタ質問でageんな。
81:nobodyさん
03/03/31 22:38
>>78
gcc
は置いといて、
GNUライセンスじゃない、(できれば、BSDライセンスの)
正規表現ライブラリ無いですかね。
82:nobodyさん
03/03/31 22:48
>>81
LGNUライセンスって知ってる?
83:初心者
03/03/31 22:54
>>80
笑っちゃうかもしれないけど本当の話なんだす・・・
最近自家鯖の実験始めて、目標は自作CGIを作ることだが
どうもPerlってソースの見た目から受け入れられなくて
昔ちょっとだけかじったことのあるC言語でも出来ると聞いて
お決まりのHelloWorldとか、C言語CGI解説サイトのサンプルを
コンパイルしようとしたが、自分の知ってるフリーで使えるコンパイラは
あれしかなかったもので。。。。
でも、ちゃんとhtmlからの入力を受け取って動作したから正直驚きました
gccって奴があるのですか。ありがとうございます。
84:nobodyさん
03/03/31 23:13
>>79はスルーかよ!
85:nobodyさん
03/03/31 23:13
>>84
理解できないのはすべて無視。厨房は無視しとけ。
86:初心者
03/03/31 23:28
>>84
すません。見落としてました
検索掛けると、昔TurboPascalってので有名だった
ボーランドのCコンパイラがあったのですね
ちなみにC++ってのは良く分からん。。。
厨に構ってくれてありが㌧
これから勉強します
87:nobodyさん
03/04/01 21:48
>>82
LGPLですか?
いわゆる感染しないライセンスでしたよね。
ただ、GPLというだけで心理的にイヤなんで、敬遠してます。
ライセンスについても明るくないですし。
88:fusianasan
03/04/01 22:59
技術者のためのC言語でCGI作成(作:玉なんとか)
って本をreadをしたけど漏れ could not understandですた。
89:fusianasan
03/04/01 23:02
このスレは普及用のスレです。
90:nobodyさん
03/04/01 23:30
作った物を普及させるのか、作ること自体を普及させるのか。
91:fusianasan
03/04/02 14:00
>>90
作ることを普及するスレ
92:nobodyさん
03/04/02 14:22
じゃあよほど大きなメリットを示さないとなぁ。
93:nobodyさん
03/04/02 14:28
変数に型がある。
94:nobodyさん
03/04/02 15:16
>>93
"よほど大きな"で出てきたメリットがそれか・・・
95:nobodyさん
03/04/02 15:34
Perl厨には分からないだろうな。
96:nobodyさん
03/04/02 16:03
Cの変数に型があるのは常識なんだからスレ立ててまで語るほどでも無いと思うのだが。
「Cで作ると変数に型があるメリットが!!」で普及したら苦労しねーっていうか。
97:fusianasan
03/04/02 21:44
もっともな魅力は高速な処理かな・・・。
普及するぐらいなら簡単にCでCGIを作れるようになる
モジュールみたいなのを作る必要があるのかな?・・
98:nobodyさん
03/04/02 21:48
普及しない一番の原因はISPの鯖・無料鯖でShellを開放してるトコが殆どないからだと思うがどうか。
99:fusianasan
03/04/02 21:48
某CGIのBook曰く・・・、CはPerlの数十倍から数百倍の処理能力を持ち合わせているとか・・・
100:fusianasan
03/04/02 21:49
>>98
たしかにな・・・。
URLリンク(www.tok2.com)って逝けたっけ?・・・shell
101:nobodyさん
03/04/02 22:01
>>99
その能力がインターネット介したときにどれだけの差になるのかと
102:nobodyさん
03/04/02 22:07
>>97
そういうライブラリがないかどうか探して、もしあったら次にそれの使い方を
わかりやすく解説してるサイトを探して紹介した方が普及させるには一番だと思う
これらが無いときに初めて自分で作るって手順になるのでは。
103:nobodyさん
03/04/02 22:27
PerlとCで書かれた同じ機能のCGIを比較した
テストの報告とかってどっかに無いのかな?
104:nobodyさん
03/04/02 22:35
速度差はほとんど普及の要因にならないと思うよ。
仮に100ミリ秒が10ミリ秒になったってネットを介したら誤差の範囲だし。
サーバ機で動かすだろうから一瞬だろうし。
速度差が出るほどのプログラム(処理に何分もかかるような)だと
そもそもCGIとして使い物にならないし。
105:んじゃ
03/04/02 22:39
アップローダのように扱うデータ量が多いCGIや
2ちゃんのようなアクセス多数で重たいCGIならば
効果てきめんって事か?
106:nobodyさん
03/04/02 22:46
いっそ「普及」なんてこと考えなければそれなりに成り立つスレだと思うんだけどな。
CでCGI質問スレとかCGI用Cライブラリを作ろうスレとかそんな感じで。
需要は少ないだろうけどカテゴリとしてあってもいいとは思う。
107:nobodyさん
03/04/02 22:49
>>105
アップローダのデータ量が多いってそりゃファイルをUL/DLするネットワークの
速度の問題で、CGIの速度の問題じゃないと思われ。
108:nobodyさん
03/04/03 03:36
可変長文字列
可変長配列・ハッシュ
正規表現によるマッチング・置換
URLデコード
文字コード変換
ロック
とりあえずこれだけサポートしたライブラリが欲しいところ。
109:nobodyさん
03/04/03 06:09
>>108
>URLデコード
>文字コード変換
>ロック
この辺はどうとでもなるっしょ。
110:nobodyさん
03/04/03 06:13
>>108
ロックならflockをサポートしたOSを使えばいいだろ。
111:nobodyさん
03/04/03 21:07
やっぱり++の方がいいと思うよ。
112:nobodyさん
03/04/03 21:26
>>111
綺麗に書けるわな。
113:fusianasan
03/04/03 23:36
>>108
そうだな、漏れは無理だが誰かつくってくれないかな・・・?
114:nobodyさん
03/04/04 01:17
CygwinでLinux環境用バイナリを吐き出すのも
ひと苦労だよ(´д`)
URLリンク(www.sixnine.net)
115:nobodyさん
03/04/04 01:54
>>113
Object Pascalで良いなら書いても良いけどね。
>>114
無理にクロスコンパイルせんでも、VMwareとかパーティション切ってLinux入れた方が楽じゃない?
NLDとかWinLinuxとか言う際物でも良いけど。
116:fusianasan
03/04/05 16:10
KENTさ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ん
jcode.cを作ってくれ。
cgi-lib.cを作ってくれ。
どうせ誰かお前が作れとかいうんだろ?
117:nobodyさん
03/04/05 16:11
自分用のcgilibならつくったことある・・・
118:nobodyさん
03/04/05 16:25
ならだせ うそ臭いぞ。(w
119:nobodyさん
03/04/05 16:33
くれくれ厨はこのスレ向きじゃないから他逝った方がいいよ
120:nobodyさん
03/04/05 17:36
奥村先生のアレを使わせてもらいなさい。
121:nobodyさん
03/04/05 19:17
jcodeなんで使うの?
122:nobodyさん
03/04/06 10:59
KENTって外人なのか?
123:nobodyさん
03/04/06 22:17
URLリンク(websearch.yahoo.co.jp)
124:anonymouse@on.the.nettori
03/04/07 13:27
>>121
EUCとかで投稿してくるヤシがいたら困るからね。
あとKENTって妻子持ちですか?
125:anonymouse@on.the.nettori
03/04/07 13:29
URLリンク(www.ab.aeonnet.ne.jp)
KENTさんは旅好きですね。
126:nobodyさん
03/04/07 22:27
北九州人だよ
URLリンク(allabout.co.jp)
127:nobodyさん
03/04/08 14:41
JIS/SJIS/EUC/UTF8変換すら書けない奴が
C/C++でCGIを作るって……何かのジョーク?
128:nobodyさん
03/04/08 14:45
>>127
車輪の再発明とは時にアホらしいもんです。
129:nobodyさん
03/04/08 15:25
学習・好奇心等が目的なら自分で作るのもアリだが「普及」が目的のスレだからな。
130:fusianasan
03/04/08 16:46
>>129
CでCGIを実際につくってみるしかないのかな?
131:nobodyさん
03/04/09 00:45
apache1.3の場合、cgiはプロセス生成のコストがかかって
使えないけど、
apache2.0はcgiの復刻の悪寒 ?
phpのモジュールなら現実的では。
URLリンク(jp.php.net)
132:fusianasan
03/04/09 23:40
CのCGIで、ウルトラパワフルでパラダイスなBBSをつくるとするかな・・・。
133:nobodyさん
03/04/10 00:49
誰かオープンソースですごいライブラリ作ってよ。
そしたら使ってやっから。
134:nobodyさん
03/04/10 02:45 zZSFzDwz
Cじゃないと出来ない処理ってあるんか
そんなの無いよなぁ?
Cだと実行速度がめちゃんこ早えぇと聞くが
10倍くらい速いのか?
そういや2ちゃんねるのCGIも
Perlのスクリプトだったのを
後にCで書き直されたらしいな
ひろゆきもわけわからんだって。
135:あぼーん
03/04/10 02:49
( ・∀・)< こんなのみつけたっち♪
URLリンク(muryou.gasuki.com)
URLリンク(muryou.gasuki.com)
URLリンク(muryou.gasuki.com)
URLリンク(muryou.gasuki.com)
URLリンク(muryou.gasuki.com)
URLリンク(muryou.gasuki.com)
URLリンク(muryou.gasuki.com)
URLリンク(muryou.gasuki.com)
URLリンク(muryou.gasuki.com)
URLリンク(muryou.gasuki.com)
136:佐々木健介
03/04/10 02:49
______
/_ |
/. \ ̄ ̄ ̄ ̄|
/ / ― ― |
| / - - |
||| (5 > |
| | | ┏━┓| / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| | | | ┃─┃| < こんなサイトを見つけた
|| | | | \ ┃ ┃/ \ 正直、スマンカッタ
| || | |  ̄ \_________
URLリンク(saitama.gasuki.com)
137:nobodyさん
03/04/10 06:33
Apache のモジュールをCで組む。
じゃ駄目なの?
138:fusianasan
03/04/11 18:54
おい、早速C言語CGI普及に成功したで~
URLリンク(www.aaacafe.ne.jp)
の無料ホームページでC言語CGIが使えるようになったぞ。
やっぱりこのスレのおかげだな
139:nobodyさん
03/04/11 20:09
>>138
そこ・・・
CGI(C)の仕様について
> ご自分でコンパイルしてアップロードしてください。
> 拡張子は
> .cgi
> です。
どうしろと?FAQ読んでも、検索して調べてくださいとか書かれてるし。
バイナリをアップロードするのなら、CGIを許可されているところなら
何処でも動くけど?>C言語でかかれたCGIプログラム
普及っていえるのか・・・
140:nobodyさん
03/04/11 20:54
>139
そこ借りてやってみた
perlでスクリプト書けばコンパイルできる
141:nobodyさん
03/04/11 21:09
>>140
意味わからん
142:nobodyさん
03/04/11 21:55
だからそこの鯖にcで書いたソースと
それをコンパイルするcgiをうpしてブラウザでcgiを呼ぶ
143:nobodyさん
03/04/11 22:04
>>141
telnet.cgiのようなものを使えばできるということじゃないだろうか。
telnetやsshは使えないけど、Cコンパイラは使えると。
144:143
03/04/11 22:07
>>142
実際に試したの?
145:143
03/04/11 22:10
>>140に書いてあったか。
他のコマンドも使えそうだな。
146:143
03/04/11 22:57
おーできた!
↓試しに簡単なものを作って設置してみた
URLリンク(f13.aaacafe.ne.jp)
147:nobodyさん
03/04/11 23:28
>146 それソケット使ってる?
148:nobodyさん
03/04/11 23:36
>>147
うん(socket関数はコード上では使っていないけどね)。
サーバー上でコンパイルしようとしたらなんかsocket.hがシンタックスエラーを起こしたんで自分のところでコンパイルしてアップした。
でもサーバー上でコンパイルできるのは確かみたい。
149:nobodyさん
03/04/12 00:37
つーかみんなサーバ側でコーディングなりコンパイルなりしてんの?
ローカルに環境作ってそこで作ってテストして、できたものをサーバにアップするんじゃなくて?
150:何でやねん
03/04/12 01:11
サーバ側でコンパイルするメリットって何かあるの?
何らかのトラブルの元になりそうで
あまり良くない予感がするんだけど
運用するサーバへの最適化とかは
コンパイラのオプションの問題であって、
コンパイルする場所とは別に関係ないよな?
151:nobodyさん
03/04/12 08:49
>>150
>サーバ側でコンパイルするメリットって何かあるの?
SunOSとか探してきて入れるのウザイ。
152:nobodyさん
03/04/12 11:25
palmとか組み込みとか実機でコンパイルできない場合は、
専用のクロス開発環境があると思うけど
unix系の場合は実機でコンパイルが普通では?
全然違う環境でコンパイルしてまともに動くの?
やったことないから不安だな
153:nobodyさん
03/04/12 12:57
なるほど。
要するにサーバの機種やOSに対応する
クロスコンパイラを探すのが面倒だってことか。
どっちもLinuxとは限らないもんな。
154:nobodyさん
03/04/12 13:03
同じLinuxでもCPUの違いによって動かないということもあるし。
155:nobodyさん
03/04/12 16:46
Linuxが標準だと勘違いしてるやつウザイ
156:nobodyさん
03/04/12 17:39
実機でコンパイルしないと、激しく不安に感じる私は変だろうか。
コンパイラ/ライブラリの違いによって動作が違ったり、
バグが出たりする心配があるんだけど。
157:nobodyさん
03/04/12 18:43
互換のあるバイナリ配布が簡単に作成できる様なら、
オープンソースな文化は育たなかっただろうし。
>>146
overflow ...
158:nobodyさん
03/04/12 19:49
>>156
ある程度のソース互換があったのが救いだな。
159:nobodyさん
03/04/12 19:52
>>157
overflow?バッファが?起きないはずだけど。
160:fusianasan
03/04/13 01:17
Python
Ruby
Perl
PHP
C(C++)
をいい順番でならべるとどう?
評価基準は、鯖への負荷/処理速度/CGI作成にどれだけ適しているか
を考慮して・・・。
161:fusianasan
03/04/13 01:22
ちなみにCGI作成に適しているの基準は、
どれだけCGIをつくりやすいかってこと。
Perlならその点では評価がいいと思われる
162:nobodyさん
03/04/13 04:27
>>160
PHP
(Perl)
C++
Ruby
Python
Pascal
C
LISP
BASIC
LOGO
163:nobodyさん
03/04/13 10:54
鯖の負荷、処理速度だけを考えると
Cが最強か。
いや、アセンブラ。。。
164:nobodyさん
03/04/13 14:10
>>162
LOGOワラタ
C++はそんなに上か?
165:164
03/04/13 14:12
あ、評価基準はつくりやすさだけじゃないのね。
166:nobodyさん
03/04/13 14:24
C++は、Perlほどじゃないにせよ、かなり大雑把に
さくさくと書けちゃうよ。
167:Perl、PHP、C、HTMLファイルにして読む
03/04/13 17:46 bgaBPkZL
2ちゃんねる型でPHPとPERLの速度比較
URLリンク(sugachan.dip.jp)
URLリンク(sugachan.dip.jp)
PHPよりPerlの方が速いようですが、
鯖負荷の順序はどうなのだろう?
Perl、PHP、C、HTMLファイルにして読む
168:nobodyさん
03/04/13 17:54 Ok9Y0fz8
凄いサイト発見です!! URLリンク(f2.aaacafe.ne.jp)
169:nobodyさん
03/04/13 17:59 0bbeziRr
URLリンク(yahooo.s2.x-beat.com)
170:fusianasan
03/04/13 20:28
C++ってそんなにさくさくかけたのか。
171:nobodyさん
03/04/13 20:31
>>170
Cよりは楽。
172:fusianasan
03/04/13 20:33
ふーん・・・。試してみようかな。
173:nobodyさん
03/04/13 20:37
>>167
そこの人はmod_perl使ってるよ。
普通のPerlじゃだめぽ。
mod_perlならPHPと同等かそれ以上じゃない?
Cが遅いのはサーバサイドじゃないから
C自体が遅いわけじゃない。
174:nobodyさん
03/04/13 20:38
>Cが遅いのはサーバサイドじゃないから
何を訳の分からんことを?
175:nobodyさん
03/04/13 20:40
ちなみにmod_perlが速いっていうのは
普通のPerlのスクリプトは
コンパイル→中間コード→実行
という手順だけど
mod_perlだと
最初の一回だけコンパイル→中間コード→実行で
次からはコンパイルをしないで中間コード→実行
となるんで劇的に速くなる。
PHPはコンパイル→中間コード→実行なんで
多少それよりかは落ちるかも・・・
PHPAとか中間コードを残すのもあるけど
まだ出始めで微妙だね。
176:173,175
03/04/13 20:42
>>174
mod_perlとかmod_phpとかと比べたらCGIとしては
多少オーバーヘッドが大きいと言いたかっただけなんだが・・・
見当違いだったらスマソ
177:nobodyさん
03/04/13 21:07
>>176
じゃあ、Cでモジュール作るってのが最強だと思うんだが。
178:173,175
03/04/13 21:13
>>177
多分ね。
でもCGI如きでそこまでするやつは少ないだろ
179:nobodyさん
03/04/13 21:23
>>178
Cでモジュール作るだけでは飽きたらずPerl実行環境にしてしまったmod_perlの作者はアホだと言うことに。
180:nobodyさん
03/04/13 21:41
>>179
焦点が合ってない。
181:nobodyさん
03/04/13 21:42
つーか言語比較はスレ違いだろ。ここはC/C++ってのが前提なんだから。
182:nobodyさん
03/04/13 21:46
昔ゆいちゃっとのC言語版配布されてたよな・・・
今もされてるのだろうか
183:nobodyさん
03/04/13 22:53
>>181
C++はスレ違い
184:nobodyさん
03/04/13 23:02
>>183
さて、可変長文字列の扱いが地獄のように面倒になるわけだが。
185:Perl、PHP、C、HTMLファイルにして読む
03/04/14 00:32 dnrQZih1
HTMLファイルを読むのと、PerlやCとの比較がないのだが!
186:nobodyさん
03/04/14 00:49
いちばんお薦めなのは、機械語でWebサーバと専用CGIをセットで開発する
ことだぜい!
結構速いYO!
187:nobodyさん
03/04/14 02:07
>>186
それは理想だが、実際に
機械語・アセンブラで本当にCGIを書く気ある?
あるわけ無いよな。
それに一番近いのが、Cで開発するって事だろう。
最初はPerlで書かれていた2ちゃんねるのCGIも、
アクセス増加でサーバ負荷が高くなり、Cで書き直されたらしいし。
188:nobodyさん
03/04/14 06:07
>>187
彼はWebサーバごとスクラッチしろと言っているのですよ。
189:nobodyさん
03/04/14 17:47
>178
モジュールと言わずとも、FastCGIって手もある。
URLリンク(www.fastcgi.com)
いずれにしてもモジュール組み込まなきゃならないから、
root持ってないと辛いけど。
遊びで動かしてる自宅鯖とかなら無問題。
あと、C++で楽しいライブラリ知らない?
一応cgiccてのは見付けたけど、いかにもGNUな田舎臭い
ライブラリなんだよなあ。
190:nobodyさん
03/04/14 20:28
>あと、C++で楽しいライブラリ知らない?
WTLとか。
191:nobodyさん
03/04/14 20:45
C++で楽しいライブラリ作らない?
192:nobodyさん
03/04/14 20:48
>>191
MFCとか。
193:nobodyさん
03/04/15 00:34
結局このスレの住人は、誰一人
C言語でCGIを書いた奴はいないようだな。
脳内プログラミング…
194:nobodyさん
03/04/15 01:48 CDjnnd9Z
>>193
ん、実際に作って自分のsiteで使ってるよ。
新たにperl覚えるのもメンドイし。
簡単なbbsとアクセスログ付きカウンタだけだけどね。
簡単なライブラリも作ったけど、
さすがに人様にお見せできるレヴェルじゃないので(w
一応Servletもつかえる環境構築しだけど
家かえってまでそんな大掛かりなコーディングしないし。。
195:nobodyさん
03/04/15 02:11
>>193
書いた事はあるけど、共有鯖で使うのはちょと怖い。
安全性を担保できる方法を考えてます。
196:fusianasan
03/04/16 19:33
いまCのデコード作業やってんだけど・・・
日本語処理が難しいね。
バイナリがどうのこうのって、なかなかうまく逝きません。
ヒントを所望したい。
197:nobodyさん
03/04/16 20:53
標準ライブラリがワイド文字ライブラリを用意しているのに・・・
198:nobodyさん
03/04/16 21:27
ロケール指定を忘れるな。
199:194
03/04/17 00:45
>>196
デコード自体はマルチバイト意識しなくてもいいんやん?
あ、俺が作った時はあくまで個人用途なので
ちゃんと試験したらボロボロかもしれんが(w
文字コード関係は自作せず、nkfのソースをぱくったYO!
どっかのサイトで見本があったので。
200:nobodyさん
03/04/17 05:56
>>197
まともに実装されているとは限りません。
wchar_t == UCS-2でも幸せな部類です。
しかもCGIなので、どのencodingが飛んで来るかも分からない
ので、ワイド文字関係は基本的に使えません。
201:山崎渉
03/04/17 12:00
(^^)
202:fusianasan
03/04/17 18:05
いま次のような手順でやってるんですけどひらがなとかはわりとデコードできるんですけど・・・どこに問題がありますかね?あと今は&で区切る処理が無視してください。
1:GET/POSTの判別をする。/2:クエリーストリングや標準出力をよむ。/3:一文字ずつ次のように処理をする。
4:%が現れたら次の文字とさらに次の文字(それぞれ順にchar型変数A/Bとする。)
5:int jp = 0x10*A + B;
6:jpをchar型配列にぶち込んでいく。string[now] = printf("%c",jp);(nowには配列の現在の番号が入る。)
ご指摘お願いします。
203:fusianasan(202
03/04/17 18:06
追加事項
{+は空白にする。
{%でも+でもなければそのままchar型配列にぶち込む
204:194
03/04/17 18:40
>>202
基本は問題ないと思われ。。
パッと見、気になるのは手順の5。
int jp でなく char jp の方が心臓に良いと個人的に思う。
#符号の問題ね。
あとは初歩的な・・・
4の処理が誤ってないこと、
char配列操作時のポインタ操作が「多少複雑」になってると思うので
ケアレスミスが無いことを確認汁。
205:fusianasan
03/04/17 18:43
>>204
大変参考になる、返答ありがとうございました。
またがんばって試行錯誤してみます。
本当に有難うございますぃた。
206:fusianasan
03/04/17 18:47
今思ったのですが>>202で
A;Bの処理で
swich(A) {
case '0':
A = 0x01;
case '1':
A = 0x02;
(中略)
case 'f':
case 'F':
A = 0x0f
}
って漢字に16進にしなくてはいけませんよね?
207:fusianasan
03/04/17 18:49
206です。
%のあとにつづく2文字をA,Bに代入したあとの処理を表しています。
ちょっとミスってるけど(セミコロンぬけ)
その辺は見逃してください。
ちなみにBに関しても同じ処理を行う。
208:194
03/04/17 18:49
見落としてた・・・
>ひらがなとかはわりとデコードできるんですけど・
デコードできる== 正しい文字で認識出来るってことだよね?
html含め処理内の文字コードの統一は出来てる??
209:nobodyさん
03/04/17 18:50
>>200
何作っているのかしらんが、文字コードの統一処理なんて必要ないだろ。
210:nobodyさん
03/04/17 18:59
判別不能なエンコーディングで送られてくるかもしれない。
211:194
03/04/17 19:00
>>207
break; も抜けてるが勘弁してやろう(w
その通り、16進だよ。
ちなみに漏れは、大文字のA~Fを返すブラウザに出会ったことがないので
こんな感じ。
#余りいい見本では無いが・・
char *str;
char w;
if( *str < 0x41){
w = *str - 0x30;
}else{
w = (*str - 0x41) + 10;
}
212:fusianasan
03/04/17 19:15
>>208
すべてシフトJISで送ってくれると思ってしていません。
(そこまで考える余裕がまだないからね・・・。)
HTMLはなるべくshift-jisで出力するようにメタタグに
記している。
>>211
ほんまや。break;が抜けちょる・・・・。
213:nobodyさん
03/04/17 19:28
H&Sから引用。
>int toint(int c)
>{
>if (c >= '0' && c <= '9') return c-'0';
>if (c >= 'A' && c <= 'F') return c-'A'+10;
>if (c >= 'a' && c <= 'f') return c-'a'+10;
>return 0; /* other */
>}
214:nobodyさん
03/04/17 19:50
昔書いたURLエンコードされた文字列をデコードする関数。
#include <stdlib.h>
char *url_decode(char *str)
{
char *p1=str,*p2=str,buf[3]={0};
for(;*p2;p1++){
switch(*p2){
case '%':
strncpy(buf,p2+1,2);
*p1=(char)strtol(buf,NULL,16);
p2+=3;
break;
case '+':
*p1=' ';
break;
default:
*p1=*p2;
p2++;
}
}
*p1='\0';
return str;
}
>>202
> string[now] = printf("%c",jp);
string[now]には1か負の数(おそらく-1)しか入らないけどいいの?
215:nobodyさん
03/04/17 19:56
デコードに文字コードなんか関係あるのか?
216:bloom
03/04/17 19:56 ahUYqmP+
URLリンク(www2.leverage.jp)
217:215
03/04/17 20:02
書き直そう。
デコードに文字コードが影響するのか?
218:bloom
03/04/17 20:02 VKhj20RH
URLリンク(www2.leverage.jp)
219:fusianasan
03/04/17 22:04
デコードテストをするために
今日ローカル鯖じゃなくてちゃんとしたUnix鯖で試したんすよ・・・。
じゃあローカル鯖でやったときよりイイ結果がでたんすよ。
やっぱりコンパイラによってちがうんですかね?
ローカル鯖ではLSI試食版つかってたんですけどね。
Borland c++だとファイルサイズが巨大になるからあんまり
好きじゃないんだな・・・。
220:nobodyさん
03/04/17 22:29
最適化OFFの予感
221:nobodyさん
03/04/17 22:52
>>220
最適化って速度とサイズでは全然違うと思うんだが。
222:fusianasan
03/04/18 18:47
ようわからんけど、今日ようやくデコードプログラムが完成しました。
ちゃんとデコードできるようになりますた。
わーい!わーい!
223:nobodyさん
03/04/18 18:48
>>222
もう少しCの標準関数について勉強した方がいいと思う。
224:nobodyさん
03/04/18 20:42
>>223
標準関数でURLデコードできる時代なのな?
225:nobodyさん
03/04/18 21:02
>>224
> 5:int jp = 0x10*A + B;
この変が阿呆らしいと言っているんだよ。strtolという関数があるだろ。
226:nobodyさん
03/04/18 21:06
逆だが、↓これと同じこと。
URLリンク(www.pro.or.jp)
227:nobodyさん
03/04/18 23:45
226のurl、バッファオーバーフローの危機(ry
は置いといてマジレス・・
「車輪の再発明」だの「標準関数にある」だのってよく言われるけど
効率を追求する業務じゃなきゃ別にいいんじゃん?
確かに無駄な努力かもしれんけど、
初心(初学)者はそれによって大幅に理解が深まると思うし。
その気になれば、ほとんど全部自分で作れるのが
Cの長所でもあり短所でもあると思うよ。
逆に業務なら、『低レベル』まで自分で作れると
いざというとき強かったりする。
特殊な例かもしれんけど、一部組み込み系とか
ほとんど標準関数使えない様な環境もあるし。
自分で書いてて、屁理屈に見えてきた。
逝ってきます・・・
228:nobodyさん
03/04/19 00:24
strtol,ulとか使うと、なんとなく仰々しい感じを受けるが…。
strtolだと、プラス/マイナス符号を突っ込まれても大丈夫?
たとえば、'%-E' とかあった場合。
それほど大きな問題にならないとは思うけど。。
また、URLデコードの後は0x80から0xFFが含まれる場合を考えて、
char型では無くunsigned char型の方がいいと思われ。
229:nobodyさん
03/04/19 00:31
>>228
> たとえば、'%-E' とかあった場合。
そんな決まりにしたがわないデータはどうデコードされても文句は言えない。
230:228
03/04/19 00:31
strtolのエラートラップもしっかりとね。
変な文字食わせると0が返るから。
231:229
03/04/19 00:32
だってデコードのしようがないもの。
232:228
03/04/19 00:36
デコードのしようがなければ、エラーを返すものだと思うが。
変?
# お好きにどうぞ。
233:231
03/04/19 00:40
>>232
あんたがたまたま割り込む形で書き込んだだけで、別に>>230にレスしたわけじゃない。
>>229に補足しただけ。
234:nobodyさん
03/04/19 06:05
>>232
例外とかが投げれるならより綺麗なんだけどね。
235:fusianasan
03/04/19 15:13
動作すればどうでもいいやろ。
236:nobodyさん
03/04/19 16:21
いい加減Cなんて捨ててC++にしろ。
237:nobodyさん
03/04/19 16:30
Perlで書くときもデコードのエラー処理なんてしないような・・・・
238:nobodyさん
03/04/19 16:32
>>237
フォーマットがおかしいときはそもそもマッチしないからエラーの起こる余地がない。
239:nobodyさん
03/04/19 16:51
>>238
うん。だからエラー処理なんてしないよねと。
ゆえに>>232の言っていることはこれに関してはおかしいかも。
240:nobodyさん
03/04/19 16:52
>>239
Cの場合はいくつかエラーとなる要因はある。バッファオーバーフローとかな。
241:fusianasan
03/04/19 21:18
>>236:まだまだCの途中です。byF田K子
242:山崎渉
03/04/20 05:58
∧_∧
( ^^ )< ぬるぽ(^^)
243:fusianasan
03/04/20 17:37
__↓>>242
/  ̄ ̄ー―-_
▲ ) /
/ハハハ\ |\|\|\___イ
. / \ | /\ /\lllll|
/ _ _ \ | /・\ /・\ |
. | ⊂⊃ ⊂⊃ | |  ̄/、  ̄ ̄ )
(| ∴ ∪ ∴ | |  ̄ /
\ <=> / ヽ <三> /
\____/ ヽ /
∧ /| \/
,r‐‐‐‐‐‐‐‐‐'´ `゙‐‐‐‐‐‐‐‐‐‐、r‐‐‐‐‐‐'´ `゙‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐、
| 山崎君、きみはぬるぽしか言えないのかい| そんなに卑怯者、卑怯者と |
i やっぱりきみは卑怯ものさ。 i 言わないでくれよ~(泣 i
244:
03/04/21 11:55
つーか、適切なテストケース一覧を準備して自動でテストするプログラム作れよ。
245:nobodyさん
03/04/23 19:47 jAUiG1DX
>>245
What does it mean?
246:nobodyさん
03/04/23 20:22
>>245
再帰か。渋いな。
247:nobodyさん
03/04/23 21:10
終了条件がないね。スタックオーバーフロウかしら。
248:nobodyさん
03/04/26 01:53
perlばっかやってたからCがわかんねぇだ。
代入ひとつからしてもめんどくさくてしょうがない。
249:nobodyさん
03/04/26 05:00
>>248
代入って文字列の代入のこと?
250:nobodyさん
03/04/26 08:39
>>248
取りあえず文字列型かクラスのある言語使った方が幸せになれると思うよ。
251:ふしアナ:
03/04/27 21:06 Cn2+e3lF
前友達にされた質問。
これってなんて読む?
(漏れの場合)
char ちゃー
argv あーぐぶい
printf ぷりんとふ
sprintf すぷりんとふ
hex へっくす
int いんと
getenv げっといーえぬぶい
void ぼいど
buffer ばっはー/ぶっふぁー
malloc まろっく
とりあえず今日はこのへんで・・・・
252:nobodyさん
03/04/27 21:17
>>251
もう流石に飽きたな。読み方ネタ。
253:nobodyさん
03/04/27 21:21
>>252
はげどう。
254:ふしアナ:
03/05/03 23:37 4lYMudid
Cで作るときとC++で作るときどちらもメリット、デメリットが
あるとおもいますけど、それぞれの美点と欠点をあげてくれませんか?
255:nobodyさん
03/05/03 23:38
>>254
C++:可変長文字列が美しく実装できる。
256:nobodyさん
03/05/03 23:39
つーか標準ライブラリが提供しているじゃねーか。
257:FENT
03/05/06 00:10 mpO79UQ6
質問!
UNCGIをWINDOWSで実行モジュール".exe"にコンパイルしたことある人
コンパイル方法おしえて。
英語のDocを読むとターボCがなんちゃらでわからん。
できれば、VC++とかでコンパイルしたいのねー。
258:FENT
03/05/06 00:14 mpO79UQ6
>>254
WINDOWSで動かす場合だけど。
拡張子".cpp"で作成すればWINAPIをガシガシつかったCGIが出来るよ。
259:nobodyさん
03/05/06 00:21
(ノ_-;)ハア…
260:nobodyさん
03/05/06 00:47
めまいと頭痛が・・・
261:FENT
03/05/06 01:04 mpO79UQ6
焼きなおすか・・・
UNCGIに変わるもので、おすすめのものしっているかた
いらしたら教えてください。
262:動画直リン
03/05/06 01:10 qyy2Fj99
URLリンク(homepage.mac.com)
263:nobodyさん
03/05/06 01:18
#define hex2dec(c) (((c) >= 'a' && (c) <= 'f') ? ((c) - 'a' + 10) : ((c) >= 'A' && (c) <= 'F') ? ((c) - 'A' + 10) : ((c) >= '0' && (c) <= '9') ? ((c) - '0') : (c))
char *Decode(char *str)
{
unsigned char *p, *bstr;
if(*str == '\0') return str;
bstr = (unsigned char*)str;
for(p=bstr; *bstr!='\0'; bstr++) {
if(*bstr=='+') {
*p=' ';
p++;
}
else if(*bstr=='%') {
*p = (hex2dec(*(bstr+1)) * 16)+(hex2dec(*(bstr+2)));
p++;
bstr+=2;
}
else {
*p = *bstr;
p++;
}
}
*p='\0';
return str;
}
何年か前に作ったデコード関数。
マクロの括弧が無駄に多い気が・・・
264:263
03/05/06 01:20
今改めて見ると、何て無駄の多いコードなんだ・・・
265:nobodyさん
03/05/06 01:29
isxdigitとか知らないのか?
266:_
03/05/06 01:35
( ・∀・)/< こんなのみつけたっち♪
URLリンク(www.japan.pinkserver.com)
URLリンク(japan.pinkserver.com)
URLリンク(www.japan.pinkserver.com)
URLリンク(japan.pinkserver.com)
URLリンク(www.japan.pinkserver.com)
URLリンク(japan.pinkserver.com)
URLリンク(www.japan.pinkserver.com)
URLリンク(japan.pinkserver.com)
URLリンク(www.japan.pinkserver.com)
URLリンク(japan.pinkserver.com)
URLリンク(www.japan.pinkserver.com)
267:261
03/05/06 02:05 mpO79UQ6
>>263
返信ありがとうございます。すみませんでした。
う~ん
ヘキサのデコードというか、UNCGIを使いたかったのは、
HTTPのリクエストから切分けてデコードした後に、
環境変数にセットしている、仕組みをそのまま使いたいなーって思って
たんですよ。
UNCGIの処理の流れ的には
・環境変数取得
・切離し後デコード
・それぞれ別の環境変数にセット
・URLの引数(URLリンク(***))のプログラム(aaa.exe)を起動
・起動されたプログラムは、環境変数よりPOST及びGETの
パラメータを取得
こんな感じだとおもうんですよ。作ればいいんですけど・・・
ただ、コンパイルできたらいいなーと思いまして。
VC++だと、何ヶ所かコンパイルにひっかかってしまうので
私のめんどくさがりやから・・・質問してしまいました。
268:261
03/05/06 02:08 mpO79UQ6
>>267 追加
ただ・・この仕組みをつくるとしたら疑問があるんです。
HTTPのリクエストで起動されたCGIによってセットされる環境変数は、
ブラウザごとに別々の扱い(DOSプロンプトのように)になるのでしょうか?
同時にアクセスがあった場合、同一名称の環境変数は、それぞれブラウザ
ごとに違う値を保持するのかな???
269:nobodyさん
03/05/06 03:04 CpGJxcjL
自分でデコードしてたけど、画像アップロードとかあるんで
結局cgiccに移行したよ。cgiccおすすめ。
270:bloom
03/05/06 03:10 qyy2Fj99
URLリンク(homepage.mac.com)
271:_
03/05/06 03:25
( ・∀・)/< こんなのみつけたっち♪
URLリンク(www.japan.pinkserver.com)
URLリンク(japan.pinkserver.com)
URLリンク(www.japan.pinkserver.com)
URLリンク(japan.pinkserver.com)
URLリンク(www.japan.pinkserver.com)
URLリンク(japan.pinkserver.com)
URLリンク(www.japan.pinkserver.com)
URLリンク(japan.pinkserver.com)
URLリンク(www.japan.pinkserver.com)
URLリンク(japan.pinkserver.com)
URLリンク(www.japan.pinkserver.com)
272:_
03/05/06 04:07
川o・-・)ノ <先生!こんなのがありました!
URLリンク(www.japan.pinkserver.com)
URLリンク(japan.pinkserver.com)
URLリンク(www.japan.pinkserver.com)
URLリンク(japan.pinkserver.com)
URLリンク(www.japan.pinkserver.com)
URLリンク(japan.pinkserver.com)
URLリンク(www.japan.pinkserver.com)
URLリンク(japan.pinkserver.com)
URLリンク(www.japan.pinkserver.com)
URLリンク(japan.pinkserver.com)
URLリンク(www.japan.pinkserver.com)
273:nobodyさん
03/05/06 07:50
>>267
誰 も お 前 に は 返 信 し て い な い よ
274:nobodyさん
03/05/07 00:56 ZdGvFTnv
>>273
↑朝早くから
誰 オ マ イ
275:nobodyさん
03/05/08 15:14
どう考えたってスカラー電磁波って、
ニコラ・テスラのパクりだろ。( ゚Д゚)
URLリンク(plaza16.mbn.or.jp)
276:nobodyさん
03/05/20 01:53
C++版(for文2回バージョン、入力文字列のチェックなし)
void Http::Decode(std::string* pstrQuery)
{
std::string::size_type nPos;
for (nPos = 0; (nPos = pstrQuery->find('+', nPos)) != string::npos; pstrQuery->replace(nPos++, 1, 1, ' '));
for (nPos = 0; (nPos = pstrQuery->find('%', nPos)) != string::npos; nPos++)) {
unsigned int nCode;
if (std::sscanf(pstrQuery->c_str() + nPos + 1, "%02x", &nCode) == 1)
pstrQuery->replace(nPos, 3, 1, static_cast<char>(nCode));
}
}
277:山崎渉
03/05/22 02:04
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―
278:山崎渉
03/05/28 17:18
∧_∧
ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎―◎ 山崎渉
279:山﨑渉
03/06/15 18:32 VQqVlPF2
構造体がわからないのですが・・・。
280:King.Yamazaki ◆/3cyWCTf.c
03/06/15 18:42 VQqVlPF2
Please tell me some FREE servers at which you can use C.
I will show you any of them.
URLリンク(fh.aaacafe.ne.jp)
GET! Free Server Space!
281:山崎 渉
03/07/15 11:12
__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
282:山崎 渉
03/08/02 02:39
∧_∧
( ^^ )< ぬるぽ(^^)
283:ぼるじょあ ◆ySd1dMH5Gk
03/08/02 05:23
∧_∧ ∧_∧
ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
= ◎―――◎ 山崎渉&ぼるじょあ
284:nobodyさん
03/08/10 00:34 3gdl3sO5
2chって、Cで稼動させるのと、Javaで稼動させるのと、
どっちが高速安定動作するんですか?
285:nobodyさん
03/08/10 00:37
( ゚д゚)ポカーン ( ゚д゚)ポカーン ( ゚д゚)ポカーン
( ゚д゚)ポカーン ( ゚д゚)ポカーン
( ゚д゚)ポカーン ( ゚д゚)ポカーン ( ゚д゚)ポカーン ( ゚д゚)ポカーン
286:_
03/08/10 00:40
URLリンク(homepage.mac.com)
287:nobodyさん
03/08/10 16:43 37o8iGE7
Cでファイルロックをしたいのですが窓とunixの両方で動作させるためにはどうすればよいのでしょうか?
普通にflock関数を使うのはまずいですか
288:nobodyさん
03/08/10 17:10
>>287
#ifdef
289:nobodyさん
03/08/10 17:22 j1wuC9e6
>>287
ム板とマルチ。
290:nobodyさん
03/08/10 19:36
>>289
うるさいヴぉけ
と思ったらあれがレスですか。あなたはもしや照れ屋さんですか?
291:nobodyさん
03/08/14 14:08 oA+wkOB6
どうしてWeb系のCプログラマーってインデントしないの?
TABの1Byteをケチりたいの?
292:nobodyさん
03/08/14 14:11
>>291
するけど?見た例がたまたまそうだったんじゃないの?
293:nobodyさん
03/08/14 14:38
>>291
2chにコピペされたコードを見た・・・・?
294:山崎 渉
03/08/15 22:31
(⌒V⌒)
│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
295:nobodyさん
03/08/17 15:25 VoWMe2O6
ホシュ
296:あぼーん
あぼーん
あぼーん
297:______
03/08/17 15:32
∋8ノノハ.∩ URLリンク(www.yakuyoke.or.jp)
川o・-・)ノ <先生!こんなのがありました!
URLリンク(www.hokekyoji.com)
URLリンク(members.tripod.co.jp)
URLリンク(www.honmonji.or.jp)
URLリンク(www.maap.com)
URLリンク(www.kuonji.jp)
URLリンク(www.butsuzou.com)
URLリンク(www.butsuzou.com)
URLリンク(www.butsuzou.com)
URLリンク(www.butsuzou.com)
298:nobodyさん
03/08/19 17:06
>>88の本読んだけど……
とりあえず
「固定長」のバッファをなぜかmallocした上にクリアすらせずに使うのと
関数の返り値を片っ端から捨てていくのと
入力データを長さもチェックせずにstrcpyで突っ込むのはやめて欲しい。
まあ、それを鵜呑みにしてコード書く奴も書く奴だけど。
299:nobodyさん
03/08/22 01:40
>>298
元々買う気なくて立ち読みしかしてないのでナンだけど、
どこで固定長のバッファをmalloc()してた?
興味本位で探してみたけどみつけらんなかったYOu
300:nobodyさん
03/08/23 01:29
>>299
スタックを圧迫しないと言うことで再帰とかのときに有利なのかも知れない。
301:nobodyさん
03/08/24 04:11
あとでreallocするつもりなら予め固定長でもmallocする必要があるし。
302:nobodyさん
03/08/28 14:55
Sygwinでロック関数が動きません・・・
303:nobodyさん
03/08/31 16:08 oQ0ZtH63
read.cgiのC言語バージョン作ったんだけど
配布したらアクセスどんどんくるかな?
って思っているんです。
需要ありかしら?
(今Perlでつくったやつ配ってるんですけどちょくちょく使っている人がいます)
304:303
03/08/31 16:11 oQ0ZtH63
>>298
たしか88投稿したのは、おれだけど、多少上達してから
それは思いました。
(っつうかそいつの本のまねしてやったら友達にセキュリティやべえぞって言われたんですね・・・)
305:303
03/08/31 16:12 oQ0ZtH63
今気づいた。
ここは普及スレだった。。。。。。。。。。
306:nobodyさん
04/01/27 13:55
age
307:
04/01/28 20:44
てst
308:nobodyさん
04/02/02 11:42
結局開発に時間がかかりすぎるとか
敷居が高いとかだろ
WEBのためにC++覚える馬鹿(暇人)はいないし。
C#が普及すれば少しはCのCGI増えるかな?
309:nobodyさん
04/02/02 16:06 KHxdJaNy
>>308
ha?
310:nobodyさん
04/02/02 16:42
>>309
omaemona
311:nobodyさん
04/02/10 19:56
M$専用
312:nobodyさん
04/02/11 01:13
>>308
Cで開発しても、そんなに時間はかからない。デバッグにしてもさほどでは
ない。開発に時間がかかるのは言語慣れしてないからだろう(漏れが Perl
でやったら Cの倍以上かかる)。
敷居が高いのは認める。関連書籍は圧倒的に少ないし。コンパイラという時点
で決して低くはない。特に初心者は大変だろう。
Webプログラミングを目的として C++覚える人というのも確かに奇特だが、C++
を覚えていれば他にツブシも効くだろう。決して損な選択ではないと思う。
313: ◆0UMFbJB2oM
04/02/12 18:21 pt0vOHBR
そうだけれども・・・・
314:nobodyさん
04/02/17 04:30
>>303
需要はあるYO!
315:nobodyさん
04/02/17 04:40
>>268
> 同時にアクセスがあった場合、同一名称の環境変数は、それぞれブラウザ
> ごとに違う値を保持するのかな???
POSTなり GETなりのリクエストがあってはじめて CGIが起動されるわけだから、起動されたプロセスで
「俺はどれだ?」なんて事を留意する必要は無い。ただ単一動作をするのみ。
いくつものブラウザからいくつものリクエストをされた場合は、それぞれ個別にプロセスが起動される
だけだから、その時その時の環境変数を読めばよい。HTTPデーモンは、そういう風にしてくれるはずだ。
・・・と、偉そうに書いたが、間違ってたら激怒キボンヌ。
316:nobodyさん
04/02/17 13:36
こーいう話題こそCGIスレ行きだと思うんだけどなー ままならぬものだw
同じCGIプログラムでも、Request毎に違うプロセスが起動されて
そのRequestの発行したブラウザの情報が環境変数に設定れるよん
317:nobodyさん
04/02/17 17:47
こーゆう疑問を解消する事で、Cで CG I やる人が増えれば、スレタイには沿うんでないかと。
318:nobodyさん
04/02/19 02:17
>>317
なるほど。
って 伸びないスレだなw
319:nobodyさん
04/02/19 13:48
まぁ、だんだん暖かくなってきたしな。
320:nobodyさん
04/02/19 18:08
いやぁますますC言語日和で~。
321:nobodyさん
04/02/19 22:47
Cでapacheモジュールを作る話題はどこに逝ったらいいですか?
322:nobodyさん
04/02/19 23:29
>>321
Linux板かUNIX板
323:nobodyさん
04/02/20 00:10
一番詳しそうな人が見てそうなのはunix板のapacheスレ
324:nobodyさん
04/02/20 01:29
>>322-323
ありが㌧
CGIが重い重いと言われてるので、
どうせCならapacheモジュールにしちゃえと思ってて、
WebProgだと思ったけどunix板ですか…
ちょっとこわひ…
325:nobodyさん
04/02/20 03:16
unix板を開いたら
「彼女」「イブ」等のキーワードのスレを探せ。「雑談」でもいいが。
326:nobodyさん
04/02/20 06:01
>>325
重ね重ね産休
でも、聞く前になんとなく自己解決
apacheモジュールは軽すぎますなー
327:nobodyさん
04/02/20 09:57
>>325
ヽ( ・∀・)ノ ウンコー
328:nobodyさん
04/02/22 04:18
おれはCでURIデコードするときは、
%だったら続く2文字をテーブル変換するって方法使ってるよ。
テーブルは上の桁用と下の桁用をそれぞれ作って足し算。
329:nobodyさん
04/03/05 04:48
h o s h u
330:nobodyさん
04/03/06 19:57
7年前に書いたデコードルーティンから抜粋
unsigned char n,h,l,const t[256]={…,0,1,…,8,9,…,10,11,…14,15,…,10,11,…,14,15,…}
if(('%'==*s)&&(-1!=(h=t[*(s+1)]))&&(-1!=(l=t[*(s+2)]))) { *d++=(h<<4)|l; s+=3; } else …
331:nobodyさん
04/03/11 00:27
EXEならではの利点があるはず。
socket使って2ちゃんねるのトップを取得してタグコピーして表示するとか。
この場合とくに意味は無いけど、面白い使い方をしている例希望。
332:nobodyさん
04/03/11 00:58
EXEならではの利点
333:nobodyさん
04/03/11 01:02
まずは、"CGI"って何なのかを理解してくれ
334:nobodyさん
04/03/11 01:04
>>331
ドザ氏ね
335:nobodyさん
04/03/11 09:01
なんだ EXE ならではの利点って。釣りか?
インタプリタみたいな事をやるよりは速いかも、程度しか思いつかないが・・・。
とか言う漏れも C で CGI やってるわけだが。
だって Perl とか PHP で書くと、キレイなソースに出来ないんだもん・・・。<己れのスキル不足棚上げ
336:nobodyさん
04/03/11 10:52
慣れだ、慣れ。
337:nobodyさん
04/03/19 23:07 wAGafw57
>>303
URLリンク(c.toshinari.net)
これだね。
338:nobodyさん
04/04/05 21:18
俺はC++で作ってるが、char *get_value("name");とかchar *get_cookievalue("name");といったのを
ひとまとめにしたクラスを作った。
まだマルチパートのPOSTに対応していない・・・
339:nobodyさん
04/04/11 13:58
おーい。どこかに簡単なサンプルというかCGIに特化した講座はないかい?
何からはじめたらいいのかわかんないよ。ググリ疲れました・・・。
340:nobodyさん
04/04/11 14:10
"CGI"とは何なのか知っていれば
サンプルも何も無いと思うけど。
341:nobodyさん
04/04/11 14:57
>>339
URLリンク(www-cms.phys.s.u-tokyo.ac.jp)
342:nobodyさん
04/04/12 05:34
>>341
ありがとう!
343:918
04/04/26 19:58
>>335
Cならではというよりバイナリならではのほうが大きいのでは?
1、データベースなんかを作ったとき処理が速い。
2、大抵のCGI対応のサーバーなら使える。インタプリンタよりも多く対応(多分)。
3、インタプリンタはクロスサイトスクリプティングの危険があるが、バイナリなのでそれは無いっぽい。
そもそも、CGIの元祖はC言語世代らしい。
344:nobodyさん
04/05/07 18:55
ここの住人て
C/C++ CGIスレッド
スレリンク(php板)l50
と100%かぶってる気もする
345:nobodyさん
04/05/09 13:54
>338
っていうかcookieは全部js操作でいい
346:nobodyさん
04/05/09 17:57
( ´,_ゝ`)プッ
347:nobodyさん
04/05/18 05:37
ところで多少は普及したのだろうか?
348:nobodyさん
04/05/18 21:17
サッパリサッパリ
349:nobodyさん
04/05/25 05:52 8qS/bgdw
フォームのデータをデコードするところで、
なんで16をかけたり、4ビットシフトしたりするのかが
わからないんです。
あれはいったい何をしてるんでしょう。
ググってもググっても何も出てこないので。。。。
350:nobodyさん
04/05/25 06:22
'%23'を'#'に変換したりとかの話なら、URLエンコード/デコード。
351:nobodyさん
04/05/25 16:56
>>349
ググり方が足りないだけっちょ。
URLリンク(sometime.minidns.net)
より引用
> "%xy"という3バイトの文字列を16進数に変換する処理としては、
> 2バイト目を0x10倍(0x10をかけるか、4ビット左シフト)して3バイト
> 目を加える、という処理方法が有名ですが、
352:nobodyさん
04/05/26 01:19 BPDOKhgc
>>351
サンクスです。
ググり方が足りない。。。。
反省します。。。。。
353:nobodyさん
04/05/30 11:50 AsPEp7PV
c++でcgi作ってます。コンパイルしてそのままcgiとして動かしていますが、
このようにweb用cgiを作るための便利な定番ライブラリって何かありますか?
354:nobodyさん
04/05/30 13:23
洩れも調べ中
c++ならcgiccってのが上のほうに紹介あった気がする。
URLリンク(mm.apache.or.jp)
355:nobodyさん
04/05/30 13:41
コンパイルしてからUPしても動かないときがあるよね。
まいっちんぐ
356:nobodyさん
04/05/30 21:39
URLリンク(tazthecat.net)
cgixx - BSD Licenseだそうだ。これから試してみるべ。
357:nobodyさん
04/05/30 22:13
cygwin->freeBSD用のクロスコンパイラの作り方をまとめました。
aaacafeで使えます。
D言語用に作ったのですが、c,c++も動きます。c,c++だけにしたければオプションでそうできます。
URLリンク(www.wikiroom.com)
参考にしてください。
どっかデッカイデータ置いていいところあればバイナリでも配布できる気もするけど、
自分はもってないので、がんばってインストールしてみてください。
もうちょっと、手軽にクロスコンパイラが手に入れば、なぁ。
Linux版も似たような感じで作れると思いますがまだやっていません。
では。
358:nobodyさん
04/05/30 23:37
そう、クロスコンパイラをバイナリで配布できればいいんだ。
どうやったら、いいのか考えたら。
1.どっかデッカイデータを入れさせてくれるサイトを探す。Vectorとか。
問題はバイナリデータをメールで送るんだったような記憶がある。
規約読めってかんじだな。
2.P2Pで配信しちゃう。問題はちゃんと検索に引っかかってくれるかどうか。
やったことないのでわからん。
3.ソースフォージみたいなのに登録しておかせてもらう。
なんか、敷居高そうなのが問題ありかなぁ。
あと、ライセンスとかどうなるんだか、よーわからん。cygwinで作ったクロスコンパイラ
のライセンスはどうしたらいいんだろうって問題もある。
この辺の問題をクリアしてあると、だいぶ普及するんじゃないかなぁ。
359:nobodyさん
04/05/31 04:22
>>357-358
ぐっじょーぶ!!
ソースアップしてコンパイル結果のバイナリ、ダウソできるような
鯖たてたらどうだろ?自分で環境用意できない人には重宝するかも。
360:357
04/05/31 20:55
>>359
それは危険だと思います。aaacafeはgccをcgiで動かせるそうですが。
危険を無視すれば面白いですよね。会員認証付きで、作ることになりますね。
アクティブXでeclipseをブラウザに取り込んで、cvsに入って、ぽいぽいと。
クロスコンパイラのバイナリ配信を可能にしました。
URLリンク(www.wikiroom.com)
c,c++,dをfreebsd用にコンパイルできます。
linux用も作ろうと思いますが先人の知恵があるのでこれ理解してからにしようと思っていますが。
インストール手順もずっと楽になりました。
ただ、これで、問題のあるプログラムは作らないでくださいね。
361:nobodyさん
04/05/31 21:54
CでWikiクローン作ってるものだが、思った以上に難しいな。
362:357
04/06/01 08:59
CでWikiクローンですか、、、。名前は、Cikiですかねぇ。
Dならあるですぞ。Diki。
363:357
04/06/01 09:01
わぁ、すでにあったぁ。
URLリンク(ciki.nostdal.net)
C++でできてるみたいですね。
364:360
04/06/02 09:37
Eclipseうんぬんは、ちょっと妄想入ってますな。
でも、やっぱり危険だと思うし、自分で用意できない。
間違えて、無限ループされても困る。
wikiライクなエディタ付きwebベース開発環境を妄想してます。
能力がついて来てないのですが。
とりあえず、perlでできる事がdでもできてしまう
環境を作ることには意義があると思っています。
365:nobodyさん
04/06/05 01:01
CGIを作るならC++の方が適しているんでしょ?
なんとなくそう思っただけです。
366:360
04/06/05 17:03
>>365
STLあたり使えば、文字列操作が楽でしょうからねぇ。と、私も思っただけ。
367:nobodyさん
04/06/08 00:25
フォーム入力の処理はヌル終端文字列の方が楽だったよ
データ構造にはstd::list使ったけど
368:nobodyさん
04/06/08 23:58 nLqW4woP
PHPのソースからbase64encode関数やらsplit関数を切り出して使ってる俺はアホですか?
369:nobodyさん
04/06/09 00:14
普通
370:nobodyさん
04/06/09 11:22
yahooのシステムは主にCを使ってるらしいですね。
なんかメリットあるから使ってるんでしょうかね。
371:nobodyさん
04/06/09 23:29
とりあえずバイナリならソースが漏れないし触れる人間が多いからじゃない?
要件がはっきりしてるからこそ成せる技なんだろうけど。
372:nobodyさん
04/06/10 02:01
>C言語は、データベースを最も高速にアクセスできます
>URLリンク(ash.jp)
この言葉を100%信用しても大丈夫なのかな。
373:nobodyさん
04/06/10 14:20
うーむ。ただのCGIでコネクションをプーリングしないのと、Javaでコネクションをプーリングする、、、、。
どちらが速いんでしょうな。と思うD房でした。リンク先も読まずに、適当な発言。
374:nobodyさん
04/06/11 19:53
実際問題、鯖への負荷はどうなの?
375:nobodyさん
04/06/12 00:29
>>372
そこ見てみたけど、言葉使いがモニョモニョしてるな。本人は分かってるんだろうけど、
分かってない人のために書いたら、ちょっと不思議な文章になりました、って感じがする。
Cで高速にアクセス出来るのは確かだが、ヘタレなコードなら遅くなるし、最も高速に
アクセスしたければアセンブラで組むだろう(実用的な意味はほとんど無いが)。
だから、厳密に言えば「最も高速」イコール Cではないのだが、一般的に言えば
「そう言って差し支えない」レベルの話だ、ということだろう。
376:nobodyさん
04/06/12 01:10
現状ではApacheモジュールがWeb至上最速&最低負荷でしょう。
フォーム受け取り系で使ってるが恐ろしく速い。
ブラウザ上の感触が10行くらいのプレーンテキストを読んだ感じに似てる。
おなじ処理をC++/CGIで試したがやはり最初のコストがでかいのでモタつく。
377:nobodyさん
04/07/06 06:41
FastCGIは?
378:nobodyさん
04/08/09 18:38 uDC/dB7t
保守あげ
379:nobodyさん
04/09/07 08:23
要するに、C言語でCGI作ろうとした場合、perlのcgi-lib.pl
(CGI.pm)にあたるものがライブラリで用意されてないのが
痛い。あと、jcode.pl(Jcode.pm)。
定番のcgi.cとかjcode.cてないんでしょうか。
380:nobodyさん
04/09/07 08:31
>>379
>ライブラリで用意されてないのが痛い。
藻前が探索能力がないのが痛い。
CGIのライブラリも日本語変換のライブラリもググれば出てくる。
それにCでCGIを作る様なヤツは、自分専用CGIライブラリくらい作る。
381:nobodyさん
04/09/07 09:01
Cは豊富にあるほうだと思うけどな。
たいていなんでも揃ってるし。
探せないやつが痛いのは間違いない!
382:nobodyさん
04/09/07 09:03
>>380
即レス多謝です。ありますた。orz
cgihtml Documentation(URLリンク(www.eekim.com))
Ken Lunde氏jcode.c(fURLリンク(ftp.ora.com))
(参考: Cgihtmlのsourcesを読む(URLリンク(www.adminteachers.com)))
できるかどうか分からないけど、検索CGI作ってみまつ。
383:nobodyさん
04/09/07 09:06
>>381
ども、結構、あるんですね。
C/C++言語によるCGIプログラミングの設計入門(URLリンク(www-cms.phys.s.u-tokyo.ac.jp))
が参考になりそう。よし、やるど。
384:上級者
04/09/07 14:32 BeqquvBt
PHP言語を使って。
ブラウザでLINUXPASSWORDを変えたいのですが
どうしたらいいのでしょうか?
LINKX シャドーパスワードなどあって
複雑でわかりません・・・
どうか教えてください
お願いします
385:nobodyさん
04/09/07 14:46
>>384 スレタイ読み直せ
釣られた?
386:nobodyさん
04/09/07 15:54
>>385
彼はプロです。
387:nobodyさん
04/09/07 16:10
>>384
webminでURLリンク(localhost:10000)にアクセス。
以上。
388:nobodyさん
04/09/07 16:29
>>384
さすがは上級者だ。
しかし本当のプロならもっと獲物のたくさんいる板で釣る。
389:nobodyさん
04/09/07 16:34
CではPerl見たいな文字列操作が面倒すぎだな。
C++になるとまだマシだけど。C++用の便利なライブラリって知らない?
正規表現とかあるんだろ
390:nobodyさん
04/09/08 00:54
>>389
面倒なら自作すればいいじゃなーい。
391:nobodyさん
04/09/08 04:11
>>389
boost知らないの?
392:nobodyさん
04/09/08 09:12
>>389
dyaregexp.hはboostより軽いちゅうわな。
URLリンク(hp.vector.co.jp)
393:nobodyさん
04/09/08 10:37
入力はUTF-8のみ有効、それ以外は無視。
394:nobodyさん
04/09/08 12:24
は?
395:nobodyさん
04/09/08 15:14
URLリンク(www.google.com)
この知名度はヤバイ
396:nobodyさん
04/09/08 15:18
URLリンク(www.vector.co.jp)
397:nobodyさん
04/09/08 23:56
っていうかC++でCGI作るならこれが基本じゃないの?
URLリンク(www.cgicc.org)
398:nobodyさん
04/11/08 18:55:43
あゃしぃ人を発見
URLリンク(labo.cherrybooks.net)
399:nobodyさん
04/11/09 08:58:35
宣伝を発見
400:nobodyさん
04/11/13 03:53:32
宣伝の発見者を発見
401:nobodyさん
04/11/22 14:44:59
宣伝の発見者の発見者を発見
402:nobodyさん
04/11/22 21:38:13
>>401
あのね、それ皆、書こうと思って遠慮してたんだけど・・・
お詫びにネタ振れよ。
403:401
04/11/22 23:52:40
>>402
gomen.
ima, server karadakara, nihonngo nyuuryoku dekinai...
404:nobodyさん
04/11/23 00:02:35
>403
仕事しろ!!
405:nobodyさん
04/12/14 17:59:04 upKknTNA
>>401
宣伝の発見者の発見者の発見者を発見
406:402
04/12/14 23:08:12
サーバーに日本語入力入れてしまいました。
いいのかな…
407:nobodyさん
04/12/15 01:51:06
いいよ。サーバーにX入れる時代だし
408:nobodyさん
04/12/16 23:30:11
自宅サーバにX入れてます
Xサーバ
409:nobodyさん
04/12/17 01:56:16
それよりDistcc入れて分散コンパイルに……(^^;;;
410:nobodyさん
04/12/27 15:06:04 2ZZk8VkA
WinXPでコンパったCGIがFreeBSDで動きません
411:nobodyさん
04/12/27 17:17:19
つまらんネタだな
412:nobodyさん
04/12/29 22:02:06
>>410
つ[Perl]
お前さん、Cはやめておけ
413:nobodyさん
04/12/31 11:29:26
>>412
WINアプリがUNIXで動かないのは知ってるんですけど、なんとかならないですかね…
クロスコンパイラは都市伝説、PCはPen200、64MBのノートだからUNIX系OSはボツ…
414:nobodyさん
04/12/31 16:55:12
Pentium200 64MBって、ちょっと前までは「PC-UNIXで再活用」の代表みたいなスペックだけど。
GUIは苦しいかもしれないけどね。
415:nobodyさん
04/12/31 17:27:43
X使わなきゃ全然大丈夫でそ
416:nobodyさん
05/01/02 13:12:22
>クロスコンパイラは都市伝説
藻前はPerlでも使っとけ
417:nobodyさん
05/01/02 15:32:49
ソースありますか?
418:nobodyさん
05/01/02 22:40:11
URLリンク(tinyurl.com)
419:nobodyさん
05/01/02 23:07:18
cssのクラス名がふざけてる
420:nobodyさん
05/01/05 12:39:03
>>413
cygwin
421:nobodyさん
05/01/20 11:30:37
Cを昔から使ってたので最近PERLの掲示板なんかを自作しようと
環境は自鯖仕様でWin2K+Apache2+VisualC++7
GUIならではの開発環境でデバッグが簡単になる方法ってあるんですかね?
自分はVC6使ってたのでVC7の.netによる恩恵がよるわかりません;;
実行ファイルをCGIとして動かしてVCのデバッグトレース機能なんてできます?
用は実行ファイルの出力先にURLリンク(hoge.com)というのをGUIでデバックとか・・
UNIXは知らんのですがWinsockを利用して細かいことしようとすると
画面出力で print "ENV= なんてしてるもので作業効率最悪。
どっちかとVCスレの質問かもしれませんがすまそ・・
あと上げてすんま孫
422:nobodyさん
05/01/20 12:35:15
C言語ってカックいー? つおい?
おにぎりの具で言うと何?
423:nobodyさん
05/01/20 21:03:09
>>422
カックイーかどうかはしらないけど
おにぎりの具で言うとうめぼしにマヨネーズって感じじゃない?
424:nobodyさん
05/01/21 01:48:24
CでCGIはBoF対策とか糞めんどくさそうでアフォっぽいけど、
C++でCGIはアリかもね
425:nobodyさん
05/01/29 14:17:48
BoFの意味が分からない俺は
426:nobodyさん
05/01/30 00:03:16
たぶん、デザインパターンの本のこと
じゃなくて、buffer overflowだと思う。
427:nobodyさん
05/01/30 11:45:02
なるほど。
でも、Cでもバッファオーバーフロー対策なんて面倒という程大層なものじゃないが…
428:nobodyさん
05/01/30 18:51:23
俺もそう思う。
逆に、「C++だからバッファオーバーフローの心配はあまりない」
等と言う人の作ったものの方が、よっぽど危険だよ。
429:nobodyさん
05/04/03 17:49:44
このスレのおかげでふんぎりがついてCで画像掲示板作ってみたよ。
やっぱり慣れた言語が一番楽チンだね。組むのもデバッグも。
430:nobodyさん
05/04/03 22:52:40
うpきぼん
431:nobodyさん
05/10/07 11:12:03
鯖の負担だけ考えたらCとPerlどっちが軽いの?
432:nobodyさん
05/10/11 02:40:04
CでApacheモジュール
433:nobodyさん
05/10/17 16:43:58
こんなスレあったんだ・・・。
俺はとある企業で5年ほど、CのCGI開発をしていたよ。
某陸√系のサイトはほとんどがCのCGIで動いてるし。
相当無理なことやってるけど、相当無理ができることも事実だったりする。
434:nobodyさん
05/10/25 00:31:01
何言語で書こうがCGIである限りはCGIで出来る事しかできない
435:nobodyさん
05/11/03 12:08:29
ファイルIOを発生させる処理でもperlとかわんないのかな
ディレクトリ一覧をサブディレクトリまで
取得して、htmlタグを付与して出力するとか考えとるんですが。
perlだとおそいorz
436:nobodyさん
05/11/03 14:26:14
そんなもんページ表示させるたびにやらせたら遅いに決まってる。
キャッシュくらいしろ。
437:nobodyさん
05/11/03 23:01:33
>>435
438:nobodyさん
06/02/23 13:35:40 oh1e7jqD
すさまじく書き込みが少ないスレだなー。
かれこれ10年ぐらいCでWebアプリの開発やってる。
いろんなライブラリを開発してたら、ソースが2MBにもなってしまった。
このライブラリだけでCGIに必要な機能はほぼ提供できるところまで来た。
PHPやPerlと変わらないレベルで開発できる。
このライブラリを公開したら面白いことになりそうだけど、
企業秘密満載だから、さすがに無理か。
439:nobodyさん
06/02/23 15:33:14
>>438
ここはおまいさんの日記帳じゃないよ。
440:nobodyさん
06/02/25 13:19:21
>>438
くれ
441:nobodyさん
06/05/06 20:21:57 FWiKF0Gu
いいねぇ。
>>企業秘密満載だから、さすがに無理か。
CPANとかある方がCからみたら異質なんだろうな。
一からライブラリ作るのは面倒だからAPRでもつかってみるかな。
442:nobodyさん
06/06/04 14:34:28
みんなヲレcgiライブラリの再生産遣ってそうだよな。
そろそろ基本的な所だけでも共有しないか?
443:nobodyさん
06/06/04 16:22:13
それなら、まずは442のライブラリから共有するとしようか。
444:nobodyさん
06/06/07 05:48:07
基本的っつーとどのヘン?
昔のヤツをひっくり返して見つかったらアップしてみる。
445:nobodyさん
06/06/07 14:16:56
普及が目的なら
基本的なライブラリの共有と並行して、
どうすればC言語でcgiが書けるのかという基本の解説がいるね。
hello worldのC言語cgi版みたいなの。
446:nobodyさん
06/06/08 20:50:36
printbody("Hello World!");
だけで、
<HTML>
<BODY>
Hello World!
</BODY>
</HTML>
ぐらいは、生成してくれるとかさ。
447:nobodyさん
06/06/09 10:14:52
>>446
それ必要か・・・?
templateエンジンのが良くね?
448:nobodyさん
06/06/09 16:12:46 mYrnmPP6
テンプレートはありませんかねぇ?
449:nobodyさん
06/06/10 08:37:10
テンプレートエンジンってどこにあるの?
stdio.hには無かった。
450:nobodyさん
06/06/11 02:28:25
CでMySQLやらPostgreSQLに接続するにはどうしたらいいんだろ?
TCP/IPの通信部分から書かなきゃダメかなぁ?
451:nobodyさん
06/06/11 08:48:30
>>450
そこだけphpに渡してる(笑
452:nobodyさん
06/06/11 09:10:11
Cならmysqlにライブラリ付属してますが?
ドキュメントぐらい読んだら?
453:nobodyさん
06/06/11 10:43:01
DBの方のマニュアルにあったのか!
thx!!
454:nobodyさん
06/06/18 20:19:39
ふぇどら3でコンパイルしたCGIが
You don't have permission to access /index.cgi on this server.
っていわれてうごかないんだ。
httpd.confに
Options ExecCGI
AddType application/x-httpd-cgi .cgi
って記述してるし、パーミッションも755になってるのにどうして?
455:nobodyさん
06/06/19 00:00:15
>>454
SELinuxとかどうなってる?
使ってないの前提として、パーミッションてどこのパーミッションだ?
ディレクトリの方はどうなってる?
所有権は?
迷ったら777試せ
456:454
06/06/20 11:17:11
SELinuxも無効にしたんだけどダメだ・・・
Windowsのxampp上では動くのに・・・
777もやってみたけどダメだった
所有権は777だから別に違っても大丈夫なはず
ディレクトリは見てなかったけど同ディレクトリ以下の
phpは走るし大丈夫なはずじゃ・・・あ
帰ったら試したいことが出来ました。
まだ解決してないけど>>455さんまりがとう('∀`)
457:nobodyさん
06/08/06 17:59:11
cgiつーかC言語のウェブアプリケーションって無いよね。
ぐぐったらウェブオブジェクト4.5とか出て来たけど、これはマカ専用?
458:nobodyさん
06/10/20 15:32:14
>>457
使ってる企業は多いだろうけど、
目的の一つとしてソースをクライアントに見られずに済む
というのがあるだろうから、どこも非公開なんだと思う。
459:nobodyさん
06/11/11 15:32:43
>>457
WebObjects4.5はWinNT系でも動くけど、ObjCはクセがあるから習得には個人差があるかも。
460:nobodyさん
07/04/30 03:27:37
CGI作っている途中だが、何かと面倒だな。
Cだと
たしかに作業量は多いね。
スクリプト系の方がいいのかな。
461:nobodyさん
07/07/23 21:41:06 b9YG4RnE
age
最近、Cで書かれた通販システムを見かけたよ。
462:nobodyさん
07/07/24 09:29:08
>>772
$body = preg_replace('/([0-9]+)/', $hoge_array[\\1], $body);
echo $body;
で「¥」が使えませんってエラーがでるけど、エラーをひょうじしなければ目的の結果は得られる……
どうやってエラーださないようにするか…
463:nobodyさん
07/11/14 03:29:16
dat落ち防止
464:nobodyさん
08/01/08 20:51:35 JKoPEtVY
保守
465:nobodyさん
08/01/11 00:42:29
#include <stdio.h>
int main()
{
printf("Content-Type: text/html\n\n");
printf("<HTML><BODY>\n");
printf("保守\n");
printf("</BODY></HTML>\n");
return 0;
}
466:nobodyさん
08/01/28 15:21:41
ほ
467:nobodyさん
08/03/05 00:20:30 SOAastXQ
今からCでCGI勉強しようと思うけど
無駄?
468:nobodyさん
08/03/05 03:04:37
>>467
かなり大変だという覚悟があるならどうぞ。
自作ライブラリを既に持ってる人じゃないと、
一般的な用途ではメリットは少ないかも。
469:nobodyさん
08/03/06 01:30:58
ありがとさんです
大変そうだけど
楽しそうだからやってみようかな
しかしCの人は優しい人が多い気がする
470:nobodyさん
08/03/09 17:09:46
俺ブログ書くほどボキャブラリー富んでないからCGI無しのサイトなんて
考えられね;
471:nobodyさん
08/06/10 14:33:36
おはよう。今日からここで自習していい?いいよね。
とりあえず出力なんだけど、printfとかのf系出力は、stdout
に出せばうまくいくね。でもwrite(fileno(stdout),...はダメみたいだな。
とりあえず今日まで勉強したまとめ。
標準系
content-typeとかのmime header出力\n\n
本文
return 0;
異常系
printf( "status: 番号\n\n");
本文
exit(0);
472:nobodyさん
08/06/11 20:03:02
続き。
エラーの出し方。
printf( "status: 404....\n\n");
473:nobodyさん
08/06/12 07:23:28
>>471
じゃー、私も一つ。
セグメンテーション違反などでCGIが落ちて、
どこで落ちてるか分からない時は、
デバッグ用の表示と fflush(stdout); をちょくちょく実行すると良い。
474:nobodyさん
08/06/13 16:10:07
>>473
なるほどですね。
fflushall()ってもうないんでしたっけ?
・パース文字列の切り分け。これが簡単かも。
first_string = strtok(string,"=&");
second_string = strtok(NULL,"=&");
....
リターンがNULLまで、繰り返しするのが良いかも。
・デバッグ用マイクロ秒表示
make_datetime_string(date_and_time);
gettimeofday(&tv,NULL);
snprintf((char*)str, sizeof(replace_date_and_time), "\n%s.%06d[%d] ", date_and_time, (int)tv.tv_usec, getpid() );
結局mod_xsendfile使っちゃいましたが、sendfile apiって早そうですねー。
これならCGIでもパフォーマンスあがるかも。
475:普及された人
09/03/18 02:24:13 moAFEnFy
計算量や文字列処理の非常に多いプログラムの速い順(2度目以降のアクセス)
C -> apache module
FastCGI + C
CGI + C
SpeedyCGI + Perl
mod_perl
FastCGI + Perl
CGI + Perl
mod_python
mod_php
FastCGI + Python
CGI + Python
mod_ruby
FastCGI + Ruby
CGI + Ruby
特徴として言語自体の速度差が順位を決める
476:普及された人
09/03/18 02:25:24 moAFEnFy
計算量や文字列処理の割と多いプログラムの速い順(2度目以降のアクセス)
C -> apache module
FastCGI + C
SpeedyCGI + Perl
mod_perl
FastCGI + Perl
mod_python
mod_php
mod_ruby
FastCGI + Python
FastCGI + Ruby
CGI + Perl
CGI + C
CGI + Python
CGI + Ruby
特徴として、ノーマルなCGIは極端に遅く、Perlの洗練された完成度の高さが伺える
477:普及された人
09/03/18 02:25:58 moAFEnFy
計算量や文字列処理の少ないプログラムの速い順(2度目以降のアクセス)
C -> apache module
FastCGI + C
SpeedyCGI + Perl
mod_perl
mod_php
FastCGI + Perl
mod_python
mod_ruby
FastCGI + Python
FastCGI + Ruby
CGI + Perl
CGI + Python
CGI + Ruby
CGI + C
特徴として、動作の前段階のメモリ上で動作可能な状態になるまでの速度差(レスポンスの良さ)が順位を決める
478:普及された人
09/03/18 02:26:35 moAFEnFy
使用メモリの少ない順
C -> apache module
FastCGI + C
SpeedyCGI + Perl
mod_php
mod_perl
mod_python
mod_ruby
FastCGI + Perl
FastCGI + Python
FastCGI + Ruby
CGI + Perl
CGI + Python
CGI + Ruby
CGI + C
特徴として、提供方法にかなり影響される
479:普及された人
09/03/18 02:27:14 moAFEnFy
サーバの環境構築の速い順
C -> apache module (何も手間なし)
mod_php (apacheに標準で付いていることが多い)
CGI + Perl (apacheの設定ファイル変更)
CGI + C (apacheの設定ファイル変更)
CGI + Python (Linuxインストールで標準で付いていることがある&apache設定)
CGI + Ruby (自分でインストール&apache設定)
mod_perl (自分でインストール&apache設定&モジュール起動)
mod_python (自分でインストール&apache設定&モジュール起動)
mod_ruby (自分でインストール&apache設定&モジュール起動)
SpeedyCGI + Perl (自分でインストール&apache設定&モジュール起動)
FastCGI + Perl (自分でインストール&apache設定&モジュール起動&コード宣言付加)
FastCGI + Python (自分でインストール&apache設定&モジュール起動&コード宣言付加)
FastCGI + Ruby (自分でインストール&apache設定&モジュール起動&コード宣言付加)
FastCGI + C (自分でインストール&apache設定&モジュール起動&コード変更)
480:普及された人
09/03/18 02:28:00 moAFEnFy
プログラムを作る速度の速い順(難易度?)(初めてのプログラミング)
mod_php (何も考えずHTML組み込みからすぐに始められる)
mod_ruby (Rubyを知っていれば、すぐに始められる)
CGI + Ruby (パーミッションとか知らないといけない)
FastCGI + Ruby (宣言付加しないといけない)
mod_python (Pythonを知っていれば、すぐに始められる)
CGI + Python (パーミッションとか知らないといけない)
FastCGI + Python (ド宣言付加しないといけない)
CGI + Perl (パーミッションとか知らないといけない)
SpeedyCGI + Perl (宣言付加しないといけない)
FastCGI + Perl (宣言付加しないといけない)
mod_perl (Perlを知っていても制約が多い)
CGI + C (面倒)
FastCGI + C (逐次動作可能プログラムにしないといけない)
C -> apache module (モジュール化の手間がかかる)
481:普及された人
09/03/18 02:29:05 moAFEnFy
module系はApacheに直接組み込むので、レスポンスは良いがセキュリティの観点から考えると極力避けたい。
速度やサーバ負荷の観点から、ノーマルなCGIも極力避けたい。
性能第一、開発効率第二で考えた場合は、 FastCGI + C が良いが、開発効率を考えると SpeedyCGI + Perl も捨てがたい。
開発効率第一、性能第二、セキュリティはあまり考えない場合は、 mod_php もあり。
開発効率も良く、楽しむなら、 FastCGI + Python 、 FastCGI + Ruby で決まり。(私は FastCGI + C で楽しめますが)
ということで、
1、性能オタクの人にお勧め FastCGI + C
2、C言語しか知らない人にお勧め FastCGI + C
3、C言語が面倒でなかったり、面倒なことが嫌いではない人にお勧め FastCGI + C
4、C言語の達人にお勧め FastCGI + C
5、セキュリティを気にしながら質の高いサイト構築をしたい人にお勧め FastCGI + C
6、100%完璧なセキュアプログラムを作れる人にお勧め C -> apache module
7、組み込み系好きの人にお勧め C -> apache module
8、チャレンジャーにお勧め C -> apache module
なのです。
あ、6~8はmoduleだからCGIじゃないか。。。
私はURLデコードもエレメント抽出も全て自分でコードを書きました。
一つ一つの動作が理解できるのでC言語でのCGI作りはめちゃめちゃ面白かったです。
皆さん是非CでCGI(と言っても私のお勧めは FastCGI + C ですが)をしていきましょう!
なお、上記ランキングは勝手な私見ですので、当てにはなりませんので、ご了承ください。
あ、Java忘れてました。