C/C++ CGIスレッド ..
[2ch|▼Menu]
248:nobodyさん
04/08/16 06:26 .net
>>247
>もうちょっと勉強してからやります。
>Perlと同じような物だと思ってました…

プロの釣り師だな

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

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


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

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

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

無念!

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

255:nobodyさん
04/08/24 12:54 .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="URLリンク(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 .net
誤爆すいません

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

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


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


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

261:nobodyさん
04/09/08 00:54 .net
こっちは微妙に伸びとる
スレリンク(php板)


262:nobodyさん
04/09/08 01:07 .net
スレリンク(php板)

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

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

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

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

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

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

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

( ´,_ゝ`)プッ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

285:nobodyさん
04/10/01 19:01:49 .net
スレリンク(news板)
反応が薄いな

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

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

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

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

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

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

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

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

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

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

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

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

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

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

298:nobodyさん
04/11/30 12:32:26 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' を渡しますにより、キャストなしで整数からポインタを作りました


URLリンク(docs.sun.com)
これの通りにしたのに
どこがおかしいのでしょうか?

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

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

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

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

301:nobodyさん
04/11/30 19:56:28 .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 .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 .net
>>302
初めて使う関数は、きっちりmanを見たほうがいいよ。
副作用のこともあるし。

URLリンク(www.linux.or.jp)
これはLinuxのだけど。

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

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


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


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

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

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

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

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

310:305
04/12/05 10:05:05 .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 .net
URLリンク(sometime.minidns.net)

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

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

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

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

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

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

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


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

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

321:nobodyさん
05/01/21 13:43:21 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 .net
>>321
content-typeが変なのになってるんじゃないでしょうか。

323:321
05/01/21 16:58:47 .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 .net
>>323
保存したファイルの中身は?

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



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

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

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



328:nobodyさん
05/01/21 22:24:50 .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 .net
>>327
Perl CGIは実行できてるんだよね。

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



331:nobodyさん
05/01/22 13:33:32 .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 .net
あるいはユーザディレクトリなら別の部分で設定しなきゃならんよ。

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

363:nobodyさん
05/04/25 00:23:01 .net
>>362
MS-DOSとWin32の違い

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

365:nobodyさん
05/04/27 10:44:49 .net
>>362
やってみたら
Debugで160k
Releaseで40k


366:362
05/04/27 21:39:50 .net
うわ、本当だ…
お騒がせしました

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

368:nobodyさん
05/05/19 22:14:38 EjA+9pug.net
URLリンク(z57.2)<)?-121-74.?pp.??kw?k.ne.?pうへへ。

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

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

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

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

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

372:nobodyさん
05/05/20 16:23:25 .net
>>367
URLリンク(www.gnu.org)
つかっとけ。

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

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

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

375:nobodyさん
05/05/21 10:33:25 .net
aso

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

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

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

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

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

380:nobodyさん
05/07/24 09:53:58 FFgeh8au.net
話題がないお

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

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

383:nobodyさん
05/07/26 07:44:25 .net
防御コード書けばいいじゃん。

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

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

386:nobodyさん
05/07/26 20:27:09 .net
>>384
このへんだろうね。
URLリンク(www.softagency.co.jp)
URLリンク(dev.mysql.com)

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

387:nobodyさん
05/07/27 15:50:58 .net
>Cで接続

(;´Д`)ハァハァ

388:nobodyさん
05/07/28 07:20:11 .net
ボキもSegmentation faultで泣かされますた

389:nobodyさん
05/08/25 07:40:55 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さん
05/08/25 07:43:44 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さん
05/08/25 08:19:05 .net
stdioのバッファリング

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


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

394:nobodyさん
05/08/26 20:16:53 .net
あえて言おう。

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

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


地元市役所に内定した俺様は神!
スレリンク(news4vip板)l50


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


【市役所合格】こいつ誰だかわかる?
スレリンク(koumu板)l50


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




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

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

スレリンク(tech板)

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

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

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

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

401:nobodyさん
05/09/22 16:48:47 .net
はいはいすごすすごす

402:nobodyさん
05/09/22 16:50:45 WZseHGJ/.net
ついでにage

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

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

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

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

407:nobodyさん
05/09/23 16:23:56 .net
ここになんか沢山出てる
URLリンク(66.102.7.104)

408:nobodyさん
05/09/23 17:29:18 .net
URLリンク(sunos.saita.ma)

409:nobodyさん
05/09/27 19:53:24 .net
読みにくい…

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


411:nobodyさん
05/11/20 17:08:19 Va/OuDM7.net
下がりすぎ

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

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

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

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

416:nobodyさん
05/11/26 02:09:45 .net
c++ならそんな面倒でもない

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

418:nobodyさん
05/11/28 21:19:30 .net
挫折した

419:nobodyさん
05/11/29 07:09:03 .net
はやっ

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

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


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

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

423:nobodyさん
05/12/13 22:33:44 .net
.pdfとかにすれば良い。


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

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

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

URLリンク(www-cms.phys.s.u-tokyo.ac.jp)

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



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

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

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

URLリンク(my-hero.versus.jp)

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

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

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

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

434:nobodyさん
06/04/13 19:42:23 .net
保守

435:http:// 202-71-90-222.ap-w01.canvas.ne.jp.2ch.net/
06/04/13 23:31:32 .net
guest guest

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

444:442
06/05/01 08:59:47 .net
>>443

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

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

446:442
06/05/01 13:59:54 .net
>>445
絶対パスで表示されています。

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

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

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


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

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

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

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

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

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

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

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

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

455:nobodyさん
06/08/09 22:43:45 .net
>>454
だよね。>>452はJava厨か。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

465:nobodyさん
06/08/15 13:45:40 .net
>>463
お前さん、流れ読めてないだろ

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

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

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

468:nobodyさん
06/08/18 01:05:04 .net
いやもう正直いまさらつーか


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

528日前に更新/156 KB
担当:undef