06/10/03 22:36:48
printfでlocationを実行させようとしたんですが、単にlocation文が出力されるだけなんですが・・・
制御文と認識させるためには、お呪い前処理が必要なんでしょうか?
488:nobodyさん
06/10/03 23:06:19
- locationを実行って何
- 「単に出力されるだけ」ってどこに何が出るの
- 制御文って何
- お呪い前処理って何
総じて意味不明
何をやったのかも何をやりたいのかも伝わってこない
489:nobodyさん
06/10/04 00:00:11
CGIスレだし、Locationでリダイレクトさせたかったんじゃね?
でも別の場所でprintfしてる Content-type: text/html が残ってるせいで文字が表示されてるだけとか
490:nobodyさん
06/10/04 00:17:56
まあつまりStatus:302ってこったろうな。
302時にhtmlを返すこと自体は普通だし。確か。
491:nobodyさん
06/10/13 20:22:15
URLリンク(labs.preferred.jp)
492:k ◆WFGp1NZuiw
06/10/22 15:08:53 EW4822UW
>>491
URLリンク(barracudaserver.com) の再発明な予感.
(URLリンク(0xcc.net))
べつに再発明が悪いとは思わないけど,どこが違うのか明示してくれるとうれしいかも.
493:nobodyさん
06/10/28 00:02:45
むしろ調べて報告してくれ。
来週までの宿題ってことにする。
再発明でも、いいよ。
まともに業務に使えそうな機能が欲しい。
494:nobodyさん
06/11/09 17:10:13
CGIの質問はここですればいいのですか??
495:nobodyさん
06/11/09 22:46:46
CかC++で作られたものなら。
それ以外のphpとかperlとかjavaとかなら他へ。
496:nobodyさん
06/11/09 23:34:21
URLリンク(www.gigigi.net)のアプロダは
CかC++でつくられてますかね??
497:nobodyさん
06/11/10 00:30:34
そのurlの最後の三文字を声に出して読んでください
498:nobodyさん
06/11/11 14:49:10
拡張子でファイルの種類を判別できるなんて、あなたは超能力者ですか?
499:nobodyさん
06/11/22 16:23:47
権利関係のとこ見れば良いじゃないんか?
あれはただ表示してるだけですか
500:nobodyさん
06/11/27 19:10:34
そういや拡張子の無いCGIは
.htaccessで
<Files test-cgi>
ForceType cgi-script
</Files>
ってやっているけど、これ以外の方法で設定ある?
501:nobodyさん
06/12/04 17:45:41
mod_rewrite
502:nobodyさん
06/12/09 12:15:32 NH9SQeUM
>>491
既にあるものを新しく作ったかのように発表するのは、
プログラマとしてダサイ、
研究者として最低、
会社としては?
それとは別にpreferredのコードがazaracと同等だとしたらダメすぎだろ。
コアは良いのにもったいない
503:nobodyさん
06/12/09 13:05:08
既にあるものがベストでない場合も有る訳だし。
新しく作った方が良ければ評価はされると思う。
プログラマでも研究者でも先駆者だけが評価されるのは視野が狭い証。
コアは再利用するけど、もっと使いやすくするのがオープンソースの醍醐味。
504:nobodyさん
06/12/10 00:02:51
>>503
>新しく作った方が良ければ評価はされると思う。
そりゃそうだけどそれを示してないよね。そんな論文どこにだしてもrejectされるよ。
ちょっと>>492にあるやつ見た感じだと示せそうもなさそうだけど。
あえて言えば日本語ドキュメントがあることだけど、それじゃぁね。
まぁ今後に期待。
505:nobodyさん
06/12/11 23:50:20
どこのスレで聞いていいのかわかんないので、ここで聞きます。
カウンターCGIを探しています。(※フリーで配布されているもの)
絶対条件は、GIFアニ画像を使えるカウンターが希望です。
kentのは連結ライブラリを使用するやつしかありませんでした。
他にもいろいろ探しましたが、これといったものが見つかりませんでした。
キリバン機能はあっても無くてもヨシの方向で。
また、ここじゃなくてこっちのスレで聞けやー
っていうのがありましたらそのスレ教えてください。
506:nobodyさん
06/12/14 00:13:39
誰かエンドレスバトルのスクリプトうpしてくれる神はいませんか?
507:nobodyさん
06/12/16 19:00:54 nIpz82eR
あげ
508:nobodyさん
06/12/17 19:00:36
>>505
失礼な方ですね。
509:nobodyさん
07/01/16 18:49:14 xXzalZaX
VCで作ったCGIで、C:\WINDOWS直下に置いてあるINIファイルの設定を取得しようとすると取ってこれないのという現象が発生します
他のディレクトリを指定すると正常に動作するのですが、アクセス権限の設定とか必要なのでしょうか?
510:nobodyさん
07/01/16 21:04:10
>アクセス権限の設定とか
わかってて何故確かめない
511:509
07/01/17 07:25:17
IIS、システムフォルダとも確認しました
他に確認する所ありましたっけ?
別のサーバーはちゃんと動いてるんだけどなー
512:nobodyさん
07/01/17 10:04:45
>>509
エラーコードやらメッセージやら確認した?
513:nobodyさん
07/02/07 17:14:45
Cから、INIファイル自体読めるかどうかの確認ぐらいしたら?
オラクルとのやり取りはProCってのがあるみたいだけど、HTML生成と、HTTP周りとGET/POSTやセッション管理のライブラリ欲しい。orz
514:nobodyさん
07/02/13 21:17:14 +34QrCfo
C言語用のCGIライブラリで有名なものは何ですか?
クエリやHTTPヘッダを解析する程度の、簡単なもので構わないのですが…
515:nobodyさん
07/02/24 19:11:47 eSgsNpz0
質問させてください。
C言語の勉強をしたいので、C言語でCGIを作ろうと思ったのですが
CGIのほとんどはPerlで組まれてるようで、そのことを考えたら
C言語でCGIを作るのとPerlで作るのではどのくらい作業量が違うのかが気になりました。
CでCGIを作るのとPerlで作るのでは、どのくらい作業量が違うのでしょうか?
また、Perlでないと作るのが難しい処理がある、といったことはあるのでしょうか?
516:515
07/02/24 21:05:09 eSgsNpz0
一応付け加えさせて頂くと
C言語は基礎的なことは一通り理解しています。
といっても、まだまだ腕に自身がなく
今後仕事で使うことになるので、あえてPerlではなく
C言語で作りたいと思いました。
517:515
07/02/24 21:08:08 eSgsNpz0
一応付け加えさせて頂くと
C言語は基礎的なことは一通り理解しています。
といっても、まだまだ腕に自身がなく
今後仕事で使うことになるので、あえてPerlではなく
C言語で作りたいと思いました。
518:515
07/02/24 21:14:11
連続投稿して申し訳ござません。
519:nobodyさん
07/02/25 13:19:25
>>515
PerlはもともとCGI用に作られた言語じゃなくて、文字列処理に強いから適してたってだけ。
正規表現系のライブラリさえ用意できればCでもさほど手間は変わらない。
っていうか本当にCを理解してればこんな質問自体無意味だと気づきそうなもんだが。
520:515
07/02/26 22:08:57
>>519
ありがとうございます。
文字列処理に強いからCGIで使いやすいということだったのですね。
Cでがんばってみようと思います。
521:nobodyさん
07/03/28 17:29:46
たまには保守
522:nobodyさん
07/03/29 02:57:24
初心者ながらも悪戦苦闘しWEB作成してます。
掲示板を動かすのはCGIによるものだというのがわかるのですがどうも掲示板の設置方法がわかりません。
掲示板はCGIパール言語ではじめから組み込まれたものなのですか?それともHTMLである程度(HPのヘッダー部分や上のロゴとか)
作ってから掲示板としてはじめたい行からCGIでプログラムを書き始めるものなのでしょうか?
それとも掲示板のページは最初からCGIでヘッダーやロゴの部分もCGIパール言語で書き始める、とういうものなのですか?
このばあい、ロゴとかを前のHPから来るレイアウトでCGIにできる方法など簡単に図示、説明してあるWEBなどないでしょうか?
ど素人の質問ですがどなたかご回答いただけましたら幸いにございます。
523:nobodyさん
07/03/29 23:03:39
>>522
そのレベルだと何説明されても理解できないだろうから
自分で設置しようとか思わずにまずレンタルの掲示板
借りたほうがいいと思うよ
あとスレ違い
524:nobodyさん
07/03/30 08:27:18 2TKxnanC
>>522
ロゴっていうのがよくわからないが
>それともHTMLである程度(HPのヘッダー部分や上のロゴとか)
>作ってから掲示板としてはじめたい行からCGIでプログラムを書き始めるものなのでしょうか?
この辺はPHPなら出来る
>それとも掲示板のページは最初からCGIでヘッダーやロゴの部分もCGIパール言語で書き始める、とういうものなのですか?
Perlはそう
で、ここは C/C++ のスレです
525:nobodyさん
07/04/21 13:51:12 DYrM8nyl
>>496
画面下に
ずるぽんあぷろだ + レッツ PHP!
となっているから
phpじゃない?
526:496
07/04/23 20:14:06
>>525
サンクス!
527:496
07/04/26 18:01:43
ところで、デバッグって
みなさんどうやってます?
528:nobodyさん
07/04/27 00:43:37
別に。ふつーにやってる。
529:496
07/04/27 18:44:00
そうですか。
どうも。
530:496
07/04/28 11:27:25
おはようございます。
ここって人いないですね。
531:496
07/04/28 20:44:43
Cで作ったCGIが正常に終了しないで
プロセスとして残ってしまったら
どうやって終了させればいいんですか?
532:nobodyさん
07/04/28 23:20:22
>>496
うぜーから
消えろ!
533:nobodyさん
07/04/29 03:13:16
>>531
reboot
534:nobodyさん
07/05/02 01:28:56
cgiだとhttpdから呼ばれてるから再起動しか無いね。
535:nobodyさん
07/05/07 00:58:27 WXo0gSV8
独学でC++を使ってcgiを学んでます。
How to Program in C++って本で
「ユーザーが一度注文したアイテムを
ショッピング・カートから消せるようにviewcart.cgiを変更しなさい」
って問題があるんですけど、流れ的にはどうやればいいんですか?
viewcart.cgiは元々ユーザーが注文したアイテムを表示するだけのcgiです。
各アイテムにボタンは追加しました。
ただ、shopping.cgiからコピーしてきただけなので
押すとアイテムの数が一つずつ増えていきます。_| ̄|○
クッキーをostreamで開いて直接消してやらないとダメですか?
でも、途中にあるデータを消すのって大変ですよね…
後ろのを全部コピーしておいてまたペーストとか…。
一般的にはこういうのはどうするんですか?
ヒントをください。そしたら、自分でやってみます。
536:535
07/05/07 01:05:44 WXo0gSV8
↓ソース(viewcart.cpp)です:
URLリンク(kansai2channeler.hp.infoseek.co.jp)
55. viewcart.cpp C/C++ CGIスレッド - 2007/05/07(Mon) 01:04 No.3942
3942.txt お借りします
537:nobodyさん
07/05/07 04:41:51
いや、ていうかカートの中身をcookieに持つこと自体がまずありえない
まずセッションの使い方を学ぶべし
538:535
07/05/07 05:38:49 WXo0gSV8
>>537
いや、別に実用するわけじゃないんで
「やっつけ」でカートの中身をcookieに持ってていいんですけど。
(client.txtなんてパスワード暗号化なしですしw)
cookieのいじり方も知っててのレスですよね?
cookieのデータの削除の方法を教えてください。
この本には追加する方法しか書いてないんですよ…。
さっきから検索してるけど全然そういうサイトが見つかりません…。
539:535
07/05/07 05:40:36 WXo0gSV8
ちなみにセッション管理はPHPで少し勉強しました。
この本の他の問題は全部解いたんですよ。
あとはこれだけなんでどうしても終わらせたいんです。
540:nobodyさん
07/05/07 08:48:04
削除つーか上書きすればいいだけの話なんだが。
あと前提があるならちゃんと最初に書こうな。お互い二度手間だ。
541:nobodyさん
07/05/07 08:55:11
「cookie 削除」でググれば速攻で方法見つかるやん
542:535
07/05/09 22:54:06 AhyOmpI4
>>540
一つの問題にしては時間がかかりすぎたんでもう諦めました。
本に載ってないことをやらそうとするのが悪い。w
ご協力ありがとうございました。
543:nobodyさん
07/05/09 22:56:01
ゆとり教育の効果は素晴らしいですね(棒読み)
544:535
07/05/09 22:58:36 AhyOmpI4
>>543
速攻ですな。w
いやね、キーを検索して空白やらマーカーやらで上書きまではやっても
削除にまでは至らなかったんですわ。
ちなみに自分は30歳超えてます。wwwwwwwwww
545:nobodyさん
07/05/09 23:30:29
君がやってるのはプログラミングじゃなくてただのテキストコピー作業だ
546:535
07/05/09 23:40:33 AhyOmpI4
>>545
その通り!異論なし!w
ま、人間何事もコピーから始まるんですよ。
自分は終わりもコピーですが。
547:http://softbank219023243191.bbtec.net.2ch.net/
07/05/10 06:57:35
guest guest
548:nobodyさん
07/05/10 23:09:33 AA4DnND/
君たち、ちょっと背伸びしてないか?
549:nobodyさん
07/05/11 18:17:50
削除ってリンクに削除したクッキのリンクを貼ればおk。
550:nobodyさん
07/06/07 22:32:05 GrrIKIFJ
EUCからUTF-8などに変換できる関数が掲載されているサイト教えて
551:nobodyさん
07/06/08 00:26:44 WTsEXDzF
iconv
552:nobodyさん
07/06/08 03:18:28
babel
553:nobodyさん
07/06/08 20:05:57
>>551
サンクス。
554:nobodyさん
07/06/18 07:16:24
初めてのCGIをCで作るってのは無茶だよねー。
PerlかPHPかで練習してからじゃないと、
ちょっとした掲示板作るのにすら1ヶ月以上はかかるんじゃないかな。
でもアクセスが集中する大規模サイトは、
Cで書かないとサーバ負荷が高くなりすぎて持たない。
なので、yahooとかもCで書いてる。
そしてCで書く人は、本格的に仕事で書いてる人が多いから>>451になり、
このスレも伸びない。
555:nobodyさん
07/06/19 21:49:28
>>554
Cで書いたって、CGIとして使うなら、一般的にmod_perl使うよりも遅くなる。
速さを追求するためにCを使うんだったら、apacheのmodule書いて、自分で
リクエストを捌くに限る。
C/CGIって、余程特殊な場合(Cしか出来ないとか、ソースを渡したくないとか)
を除いて、メリット無いのよね。
556:nobodyさん
07/06/20 00:49:44
>>555
2chのような掲示板の場合は確かにそうだけど、
いろいろ複雑な処理をする大規模サイトになってくると、結局C最強。
前に管理系CGIでボタンを押すと、最新のデータをもとに
サイト内のHTMLを更新するシステムを作ったんだが、
HTMLの数が数百レベルになって、
PHPやPerlだと数分待っても処理が終わらないということに。
Cで作り直してチューニングしたら、わずか数秒。
最近はWebアプリにいろんなことをさせようとしてるから、
ますますWebアプリの処理速度が重要になってくると思うな。
557:nobodyさん
07/06/20 01:01:50
単にバグってたんじゃないのかw
Perlで毎日400ファイル更新してるけど2秒ぐらいだぞ @Pentium4
558:nobodyさん
07/06/20 01:07:54
>>557
複雑なサイトだから、あちこちで多重ループをかける必要があったり、
レコード数がかなり多かったり。
できるだけ多重ループにならないように工夫もしたんだが、複雑すぎて無理…。
559:nobodyさん
07/06/20 02:22:17
組み方が下手なだけでした。本当にありがとうございました。
560:nobodyさん
07/06/20 04:30:38
>>559
本当に複雑なシステムっていうのを作ったことがないでしょ?
官庁とかから一度受けてみると良いよ。
意味不明な仕様にこだわって、システムが無駄に複雑になる。
561:nobodyさん
07/06/20 06:23:39
えーと、perlは確かに速くはないけど
普通に処理した場合、Cと比較して数倍程度の差しか出ないでしょ。
もちろん、これはそれなりに時間のかかる処理をした場合。
(インタプリタの起動時間と内部コンパイルの時間があるから)
で、下手な奴が作ると、無駄な処理をループ内でやってたり
(不要な初期化とか正規表現のコンパイルとか)して時間がかかる。
Cならコンパイラが最適化してくれたりする部分でも。
562:nobodyさん
07/06/20 06:27:37
あと、普通は(DBとの交信等も含め)I/Oがそれなりの比重を占めるから、もっと差はつまる。
だけど喜んで連想配列をループ内で初期化しまくったり
インデックスで参照できるのに何故かリニアに探索してたり。
563:nobodyさん
07/06/20 07:09:28
>>561-562
確かにCでは最適化したけど、Perlはそこまで最適化したわけじゃないから、
かなりCに有利な比較ではある。
しかしCで作ってると、ウェブサーバにはほとんど負荷がいかないが、
その代わりDBがボトルネックになる。
Javaのレスポンス/オブジェクトキャッシュのように、
CでもDBの負荷を減らせるうまい方法はないものか・・・。
564:nobodyさん
07/06/20 07:27:51
まあその手のキャッシュを使いたい時は、まずCGIってのがネックになるね。
独立したプロセスだから、交信や共有は面倒。
じゃあapache moduleにすれば良いかと言うと、そうでもない。
これも、基本的にシングルプロセスのMPMは無いから
全体で共有することも出来ないし、
プロセス毎にキャッシュするとしても全体でのメモリ使用量等、効率が悪い。
時間が充分にあって自由自在に出来るのであれば
自前で簡単なシングルプロセス/マルチスレッドなサーバーを書いて
apacheでは、必要な時にそのサーバーと交信するmoduleを書いて使う、
というのが速度的にはベストだろう。
まあこのやり方は
実際にはapacheにtomcatを組み合わせるのと本質的な差はないけどね。
565:nobodyさん
07/06/20 10:18:48
ところで皆さんコンパイラは何使ってますか?
566:nobodyさん
07/06/20 13:55:22
>>565
普通にgcc
567:nobodyさん
07/06/20 22:08:35
>>560
「これは○○県警さんでやった方法なんですが」
「では、それとはちょっと変えてください」
いや、別に変えなくても良いものは
無理して変えんでも良いがな...orz
568:nobodyさん
07/07/02 07:03:13
ソースを渡したくないって、飯を食うのには重要だけどな。
毎回ソース渡してたら、いつかは喰えなくなる。
mod_perlが速いってことは無いな。perl自体重いし、perlもCで書かれてるから、perlの構文解析の分遅い。
結局は、常時起動デーモンのトムキャット方式に落ち着くよね。
誰もが通る道なのかと安心した(w
同じ方法だと同じ攻撃に弱いってのはあるから多様性って重要。
古い所のシステムだと、歴史的経緯で非効率な処理を求められることはよくある。
開発費高めでも払ってくれるので好きだけど。他と同じ単価なら受けないけどな。
569:nobodyさん
07/07/04 00:35:14
CからSQL鯖弄るのって、ODBCぐらいしかない?
Cには、JDBCみたいなのは無いよね?
570:nobodyさん
07/07/04 02:01:41
>>569
ODBCとか使わなくても、Cならネイティブドライバ使えばいいのでは…。
他のDBへの移植性を上げたいのならODBCを使うしかないかな。
571:nobodyさん
07/07/27 15:06:25 HlWLP/Z4
CGI から,GetModuleFileName を呼び出すと、ドライブ名の前に"\\?\"という文字が付きますが、
これって、なんなのでしょうか?、教えてください。
Windows 2003 Server、 IIS、Visual Studio 6.0 です。
572:nobodyさん
07/07/27 20:49:30
そのPCそのものを表す。
PCローカルURIって言うとちと違うのかな?
573:571
07/07/28 08:51:56 QYOm8nEM
>>572
回答どうもです
が、エクスプローラで「\\?\共有名\ファイル名」とやっても「見つかりません」となります。
(「\\コンピュータ名\共有名\ファイル名」だとOK)
574:nobodyさん
07/07/31 00:21:17
>>564
共有メモリ使えばいいだけ。mod_uploaderのソース嫁
575:nobodyさん
07/07/31 01:21:12
キャッシュに共有メモリって・・・
別にいいけど
576:nobodyさん
07/07/31 01:39:34
何処に不満があるの?
worker MPM使って、dispatchはApacheに任せ、データはshm/mmapで共有ってのが現実的だと思うなぁ。
>これも、基本的にシングルプロセスのMPMは無いから
>全体で共有することも出来ないし、
これミスリーディングだとおもうな。データ共有するのにシングルプロセスである必要なんて全くないだけだし。
577:563
07/07/31 03:20:02
>>574,576
私もあれからいろいろ調べてみたら、
やはり共有メモリを使うって方法にたどり着いた。
ただしDBデータをキャッシュする場合、キャッシュの破棄タイミング、
新しいデータのキャッシュへの反映が難しい。
作成したページをキャッシュする場合も、やはり同じ問題が。
SQLサーバを使わない、もしくはSQLiteを使うとかすれば、
可能ではありそうだけど、それだとDBのクラスタリングが出来ないので意味がない。
PostgreSQLやMySQLのプラグインやトリガーという形で、
キャッシュ管理のプロセスに情報を伝える仕組みが要りそう。
さすがにこれだけの仕組みとなると、とても一人で作るのは無理そうだ。
578:nobodyさん
07/07/31 03:22:01
えーと、あなたのところではSHMMAXが、実装メモリに対して充分な値なわけですね。
例えば、1Gのメモリを積んでいてキャッシュ用途に大部分を使いたいと考えた場合
SHMMAXが数十M程度だとおおいに不満なのですけど。
あ、/proc/sys/kernel/shmmaxで充分な大きさに変更できるならば良いですがね。
それとも、細切れにブロックを確保して頑張ってやりくりしますか。
あと、shmではなくmmapを使う場合を含めて、当然排他機構が必要となるわけですが
たかがメモリの読み書き程度で重いといわれるプロセス間のロックはたまりませんね。
もちろん、プロセス間通信と比較すればずっと軽いでしょうが
ロック期間を短く(こまめにロック/アンロック)という、一般的に推奨される手法には向きませんな。
スピンロックで足りる用途だけならともかく。
579:nobodyさん
07/07/31 08:34:44
SHMMAXについてはおっしゃるとおり。
>たかがメモリの読み書き程度で重いといわれるプロセス間のロックはたまりませんね。
汎用のロックを使わなければ良いだけだと思う。
mod_uploaderがやってるように、共有メモリ領域に対してCPUのatomic命令を使うとか。
ロック期間が短い→CPUのatomic命令
ロック期間が長い→signal
で十分対処できるような。そもそもお金かけて高いサーバ使うならともかくその辺の安いPCでサービス提供するなら別にスレッド使わなくても十分なような。
複数プロセス使うのに必ずしも重い汎用のプロセス間ロックを使う必要なんてないし、なんかミスリーディングだとおもう。最初に結論ありきで論じてませんか?
580:nobodyさん
07/07/31 09:43:21
>>579
ほほー。
スレリンク(mysv板:397番)
システムコール使ってないし、こんなもんか
581:nobodyさん
07/08/03 23:31:03 LuhsKnBr
>>578
詳しいことは理解できないけど>>578の性格が悪いことだけは分かった。
もっと普通にかけるだろうに。
582:nobodyさん
07/08/05 18:32:24
>>578
おまえの頭がかたいことは良くわかった
583:nobodyさん
07/08/09 02:14:08
>>578のような人間とは仕事したく無いなぁ
584:nobodyさん
07/08/11 00:09:14
2chのread.cgiとかのソース発見!
URLリンク(www.gedoh.org)
585:nobodyさん
07/08/11 10:14:45
>>584
それちょっと古いやつね。
前ちょこっとソース読んだ限りでは、完全に2ch用に特化してるから、
汎用性もなにもあったもんじゃないし、ソースも読みにくい。
586:nobodyさん
07/08/19 21:44:36
CGIってPerlのことですよね?
Perlっていうのは言語だからC言語でCGIを作るというのは
C言語でPerl言語を作るということなんですか?????
587:nobodyさん
07/08/19 23:42:55
ぐぐれ
588:nobodyさん
07/09/06 17:50:36 VY4R4z3/
C言語で掲示板(簡単なもの)を作りたいのですが
入門書2冊読んだ程度でもできるでしょうか…?
ちなみにC言語以外の言語はやったことがなく
C言語歴も1ヶ月で大きなプログラムも作ったことがありません。
589:nobodyさん
07/09/06 17:51:48 VY4R4z3/
C言語で掲示板(簡単なもの)を作りたいのですが
入門書2冊読んだ程度でもできるでしょうか…?
ちなみにC言語以外の言語はやったことがなく
C言語歴も1ヶ月で大きなプログラムも作ったことがありません。
590:nobodyさん
07/09/06 18:18:03
CGIを書くには少なくとも文字列を自由にあやつる必要があるけれど、
Cで文字列が自由自在になるには初心者が一ヶ月では少し足りないような。
まぁでもやって出来ないこたぁないよ。うん。
591:nobodyさん
07/09/06 19:22:43 VY4R4z3/
お返事ありがとうございます。
自由自在…今持ってる本で文字列関係?でわかってないのは
str全般とcalloc、malloc、reallocぐらいなんですがここら辺を覚えれば結構違ってきますかね…?
592:nobodyさん
07/09/06 20:57:42
とりあえずHTMLを吐くところから始めてみればいいんじゃない?
POSTとか絡んでくると色々大変だけど
593:nobodyさん
07/09/07 03:00:06
私は数年のプログラム経験があったけど、
CGIに必要なライブラリを一通り作るだけで2週間かかったよ。
どこからかライブラリを拾ってこないと、全部一から作ってたら結構大変。
594:nobodyさん
07/09/07 06:49:22 NiQeHZNB
>>591
ここ見て頑張れ
URLリンク(www.boutell.com)
595:nobodyさん
07/09/08 17:40:25 vnaZ3dnt
>>592-593
そうですか・・・とりあえずまだ力不足だしそろそろ学校
も始まってたぶん作る暇もなくなると思うので今は
とりあえずもっと勉強してから作ろうと思います。
>>594
英語多すぎてわかりませんw
でもありがとうございます。出来るだけがんばって読んでみます。
596:nobodyさん
07/09/09 04:36:43
>>594
最低限のライブラリって感じだね。
自作のライブラリってどれくらい容量or行数ある?>All
私のはPHP並に機能揃えたから2.5MBぐらい。
597:nobodyさん
07/09/09 10:12:18
人生はどう手抜きで最大限の成果を得るかだろう
598:nobodyさん
07/09/09 12:29:09
>>596
ほとんどphpにwrapperしちゃってるから自分で書いた部分は1MBも無い
599:nobodyさん
07/09/09 12:50:20 2vrQ8w/W
>>596
馬鹿だろ。手動かすまえに頭動かさないやつは死ね。
600:nobodyさん
07/09/09 16:00:59
STLとBoost使えばなんとかなるんかねー
601:nobodyさん
07/09/09 18:28:43
>>597-599
手抜きするためにこれだけライブラリ揃えたんだけどね。
602:nobodyさん
07/09/09 23:55:25
そう、よかったねw
603:nobodyさん
07/09/10 01:02:01
そういう手抜きをしたきゃ最初からphpで書いた方が早いだろうに・・・
604:nobodyさん
07/09/10 04:09:10
>>603
自分でライブラリ書けば、自由が効く。
605:nobodyさん
07/09/10 21:42:08
そもそも何に不自由してるのサ
606:nobodyさん
07/09/11 12:54:32
自分で全部好きにしたい、というのはわからんではないけど、
デカいライブラリをメンテするのはそれはそれで大変な気がする。
バージョン管理とか面倒そう。
というわけで、自前の奴はPOST/GETとエスケープくらいしかない。
あと、なんかのBSDライクな奴からパクってきた文字列処理と基本データ構造もあるが。
CでCGIってそれほど頻繁に必要になるわけじゃないんで、これで十分。
2.5MBってソースのサイズかね? それともバイナリ?
607:nobodyさん
07/09/12 14:06:22 aBsU5Vcp
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さん
07/09/12 18:07:22
>>607
perlはスレ違いだが・・・まぁいいや。
$numbera =
↓
$numbera .=
609:nobodyさん
07/09/13 09:49:44
>>608
やさしいねw
610:nobodyさん
07/09/14 08:33:15
>>606
> CでCGIってそれほど頻繁に必要になるわけじゃないんで、これで十分。
こっちはメインで使ってるから、メンテとかもさほど気にならない。
> 2.5MBってソースのサイズかね? それともバイナリ?
ソースのサイズ。
バイナリは150~500KBぐらい。
611:nobodyさん
07/09/14 11:17:14
コアとなるPOST,GET,HTTP Header,File uploadとかのCGI固有の入出力部分以外は
適宜外部ライブラリをリンクするのではだめなの?
PHP並の機能っていってもPHPがPHP並の機能をもっているのはPHPの中の人が
全部自分で書いたからじゃなく、たくさんの外部ライブラリとリンクしてるからなわけで。
それともフレームワーク的な機能がたくさんあるのかな?
612:nobodyさん
07/09/14 11:25:57
もう放っといてやれ
613:nobodyさん
07/09/14 12:14:06
>>611
フレームワーク的な機能が多いかな。
外部ライブラリを使いやすくするための中間層的なライブラリも多い。
614:nobodyさん
07/09/15 00:28:34
ぐだぐだいってないでコード公開すればいいんじゃね?
615:nobodyさん
07/09/18 17:36:28
>>571-572
URLリンク(msdn2.microsoft.com)
今更だけど、\\?\はパスの長さの制限をおよそ32000文字に拡張する接頭辞。
616:571
07/10/06 16:16:07
>>615
おー、ありがとう
617:nobodyさん
07/11/14 02:10:36
dat落ち防止
618:nobodyさん
07/11/16 00:44:52 vk2sEYR2
visual c++ 2005 expressで,c++でcgiプログラム作ってるんだけど、
Windows 2000のIISの環境でcgiからファイルをオープンしようとすると、オープンに失敗するんだが・・・
何でか誰かわかりますか?
Windows XPのIISの環境ではちゃんとオープンに成功します。
<環境詳細>
仮想ディレクトリ:Scripts
Inetpub/Scripts/cgi/cgi.exe (URLリンク(hostname))
Inetpub/wwwroot/form/form.htm (URLリンク(hostname))
form.htmからcgi.exeにPOST。
cgi.exeは、起動されると Inetpub/Scripts/cgi/file/ フォルダにファイルを
作ろうとするんだけど、WindowsXPだとOpen成功、Windows2000だとOpen失敗。
619:nobodyさん
07/11/16 12:49:38
IISのログを確認する
フォルダの書き込み権限を確認する
620:nobodyさん
07/11/16 13:18:09
google-ctemplate - Google Code
URLリンク(code.google.com)
621:nobodyさん
07/11/18 05:15:45
>>620
ClearSilverより速いのか?
622:nobodyさん
07/11/18 23:17:33
>>621
ソース見る限りClearSilverよりシンプルだから速そうだけど、機能が全然足りない予感。
まー、本格的に使うには、ClearSilverでも機能/汎用性/拡張性が足りなさそうなんだけどさ。
623:nobodyさん
07/11/23 16:15:53
で、本格的に使ってるおまいらはどうしてるの?
PHPで作っちまったほうが速いか?
624:nobodyさん
07/11/25 09:05:24
かなり遅レスになるけど>>578は、Lock FreeとかWait Freeなアルゴリズムについて勉強した方が良いと思った。
あと>>564も
>自前で簡単なシングルプロセス/マルチスレッドなサーバーを書いて
>apacheでは、必要な時にそのサーバーと交信するmoduleを書いて使う、
>というのが速度的にはベストだろう。
え?って感じ。センス疑う。
625:nobodyさん
07/11/25 09:12:48
まぁmod_uploderのコードもどうかと思うが
626:nobodyさん
07/11/25 12:59:10
その程度のこと、知らないとでも思っているのかね
627:nobodyさん
07/11/25 19:54:34
データの共有手段と排他手段がまったく直行関係にないかのような書き方してる時点でだめなんじゃね?初対面の人がそういうことはなしてたら俺はスキル疑うなぁ
628:nobodyさん
07/12/11 21:11:10
>>626
その自信からするとサイボウスラボとかmixiとかその辺のなかの人でしょうか?
>というのが速度的にはベストだろう。
こう言い切る前にはいくつかの前提が必要なはず。
もしかして自分が普段接している前提条件の下でしか考えられない人?
629:nobodyさん
07/12/11 21:18:21
文系上がりのプログラマってそういうこと多い。自分が暗黙のうちに想定してる前提を忘れがち。
理系だと卒論/修論書くうちにそのへんはみっちりなおされる。
630:nobodyさん
07/12/12 08:36:13 4x7KYrD1
age
631:nobodyさん
07/12/12 08:46:46
>>628
mixiはPerlじゃないっけ?
Yahooと楽天が一部をCで書いてたはず。
632:迷う
07/12/15 08:28:11
LibCGI
URLリンク(libcgi.sourceforge.net)
CGI++
URLリンク(www.webthing.com)
GNU Cgicc
URLリンク(www.gnu.org)
cgic
URLリンク(www.boutell.com)
633:迷う
07/12/16 17:33:32
GNU cgicc がよさそう.
634:nobodyさん
07/12/18 18:44:19 vyPDChvS
test
635:nobodyさん
07/12/18 18:52:24
GPLはうんこ
636:nobodyさん
07/12/19 23:58:08
cgiccはLGPLだが
637:nobodyさん
07/12/20 18:02:10 yjctAQBa
C++ で CGI というときに一番の難関は文字コードだと思うんだが
そういう危機感がこのスレにあまりないのは
やっぱり掲示板とかCMS級のユーザーフレンドリ階層なアプリを誰もC++らないからなのか…
JIS, SJIS, EUCJP, UTF7, UTF8, UTF16, UTF32 と改行コードまで自動判別しつつ
相互変化できるクラスを作ろうとしたら死にかけた
638:nobodyさん
07/12/20 18:58:34
babel使ったからそんなもんに苦労しなかったな。
他にもいろいろあるでしょ?
639:nobodyさん
07/12/20 19:10:00
Gaucheのソースが文字コード判定は優秀らしい。
それでもある程度バイト数がないと難しいだろうけど。
できればcharset指定とかを認識して、判断するのが正しいけど、
Webブラウザから渡されるのはcharset指定とかが一切ないからなー。
SJISかUTF-8のどっちを渡されたかは、予め決めておくか、
Gaucheのを使って判定するしかない予感。
変換は普通にiconv使ってる。
640:nobodyさん
07/12/20 19:20:22
判別用文字を仕込んどくんじゃないの?
641:nobodyさん
07/12/23 12:00:21
>>637
文字コードなんて問題にしたことは無い。
何もかもUTF-8で済ますように事前にお膳立てをするから。
642:nobodyさん
07/12/23 20:42:35
携帯の絵文字で困ったことになる
643:nobodyさん
07/12/25 14:44:19
そういや絵文字の範囲を丸々シフトしてiconvを騙してるフィルタのコードを見たことあるな。
あれ、C+iconvじゃなくてjavaだったかな。
644:nobodyさん
07/12/25 17:02:56
sendmailer は UTF-7 必須
645:nobodyさん
08/01/22 12:04:42
FileUploadのC/C++用ライブラリを探しています。
どなたかご存じないでしょうか?
646:nobodyさん
08/01/22 13:08:58
サーバから見て、アップロードしたいのか、ダウンロードしたいのかどっち?
647:nobodyさん
08/01/22 19:09:37
クライアントがアップロードしたものをサーバで受け取る際のHTTPプロトコル(RFC1867)
を解析するライブラリが欲しいです。
JavaでいうとCommons FileUploadのような
648:645
08/01/22 19:19:44
>>647 = >>645 です。_(__)_
649:nobodyさん
08/01/23 13:31:01
>>632の中から好きなの選べ
650:nobodyさん
08/01/28 13:56:18
ちょっとスレチっぽいが
cgiをコマンドラインから直接起動したいんだけど
POSTやGETで渡す引数を模擬するにはどうしたらいい?
651:nobodyさん
08/01/28 14:39:15
POSTなら標準入力にぶち込むだけでいい
652:nobodyさん
08/01/28 14:57:11
>>651
REQUEST_METHODとかCONTENT_TYPEとかCONTENT_LENGTHとかの
環境変数も設定する必要があるだろ。
653:nobodyさん
08/01/28 15:25:48
>>650
つ RFC3875
654:nobodyさん
08/01/31 15:15:22 4cRt7TvD
スレ違いかもしれないのですが
成分分析のフリーCGIをどなたかご存じないですか?
655:nobodyさん
08/02/03 05:14:18
expatの使いかたがわからん
サンプルソースがおいてあるサイトわかる人いる?
656:nobodyさん
08/02/04 10:06:40
本家のリンク先にあるチュートリアルとソースディストリビューション中のexampleで
とりあえず使うには十分じゃない?
657:nobodyさん
08/02/05 13:31:05
perlのクックブック(オライリー)を参考にした。
658:nobodyさん
08/02/12 10:17:26 4A4yMdyj
レンサバ使ってて、C言語可なんですけど
OSはLINUX系としか教えてくれない。
シェルは使わせてもらえない。
自前のPCでコンパイルして実行形式をUPしろ。
リンクするときにstaticにしないとダメよ。
としか情報が貰えません。
linuxの実行形式ってカーネルやディストリビューション違っても
互換あるんですかね?
659:nobodyさん
08/02/12 11:20:20
それはC言語使用可能とは言わないだろう。
ともかく、作ったバイナリがサーバで動くかどうかはバイナリの形式とか、
libc他のAPI互換性があるかどうかとか、CPUのアーキテクチャとかによる。
ま、フツーに最近のi386ディストリでgccを使ってスタティックリンクな
バイナリを作ればたいがい動くんじゃないの。
660:658
08/02/12 12:14:03
>それはC言語使用可能とは言わないだろう。
ボクもそう思うんですが、C言語使用可能と宣伝してたんです。
isleというそれなりに大きいレンサバ屋です。
cpuはxeonだと自慢してたので386系なのは確実なんですが…
661:658
08/02/12 12:17:32
ちなみにこれがisleのFAQ「C言語は利用できますか」の回答です。
C言語で作成されたスクリプトのご利用も可能ですが、
telnet/sshはご利用いただけないため、iクラスタにて利用している
Linux系のOSを利用している端末にてコンパイル後に
アップロードしていただく作業が必要となります。
他の端末にてコンパイルする場合には、ライブラリを共有できないため、
static オプションつけたコンパイルを行ってください。
662:nobodyさん
08/02/12 16:51:07
PerlのCGIでgccを叩いてみたらどう?
パスが通っていることと、負荷の制限が軽いことが条件だけど。
昔のXREAではそうしていた。
今からVirtual PCという手もある。
663:658
08/02/12 21:59:48
>662
telnet.cgiが使えました。
uname -a でfedora3だということもわかりました。
デバッグ用の環境をfedora3で作ります。
みなさんありがとうございました。
664:nobodyさん
08/02/23 09:06:34
フレーム内の監視を行いたいのですが、これにはどういう仕掛けを作れば良いんでしょうか。
インフレームの内部を監視して、表示された中身をソースかキャプチャで保存するCGIを作りたいのです。
665:nobodyさん
08/02/29 11:28:26
>>664
無理ぽ。
666:nobodyさん
08/04/19 14:56:01 TKfwdaTT
C++でClearSilver使おうと思ったんですが、素でC++用のAPIが入ってないのでClearSilver++?を使おうと思ったら
URLリンク(biology.nmsu.edu)
調べる限りここらしいんですが、繋がりません。
ミラーとか無いんですかね?
667:nobodyさん
08/04/20 15:29:47
もう復旧した様子
668:のし図
08/04/23 18:51:13 9jK7Jl1u
スクリプトの事で質問があります。
URLリンク(mk-board.net)
このスクリプトを抜いて自慢している人がいて、ソースを晒していた人がいるのですが
どうやってこの
URLリンク(mk-board.net)
のスクリプトを抜いているかが気になります。
どうやるのですか?
教えて下さい
669:nobodyさん
08/04/24 09:33:08
ハッカーの仕業!?
670:nobodyさん
08/04/27 17:14:11 xxSAA3Zr
最近はやりのIISの問題を突いてるんじゃないの。
671:nobodyさん
08/05/01 04:51:52
不正アクセス禁止法
672:nobodyさん
08/05/21 02:58:51 H73mNdaA
不正アクセス禁止法
673:nobodyさん
08/05/21 04:31:31
668が嘘をついているという可能性が高い
気がしないでもない
674:nobodyさん
08/07/21 11:22:35 p8NBqSCe
ClearSilver++って落とせる?ftp繋がらないんだけど・・・
675:nobodyさん
08/07/24 11:50:25
>>666-667
676:nobodyさん
08/07/26 08:58:55
>>675
見えてるけど答えになってないよ。
いつ何度やっても繋がらないんだけど?
677:nobodyさん
08/07/26 09:21:58
C++ CGI さいきょー
678:nobodyさん
08/07/30 18:56:54
数年前にCで掲示板作ろうとしたが、文字コードであっけなく挫折
最近そのこと思い出してふらっと調べたら、VSで簡単にunicode扱えるようになってるのな
ちょいちょい思い出しながら作ってみるかな
679:nobodyさん
08/09/06 21:33:24 Z1+deiQP
なんだかんだ奥が深いよなぁ
680:nobodyさん
08/09/18 15:01:14 /9HVp0RB
CGIでエラーがあった場合エラーページにリダイレクトしてるんですが、
リダイレクトする前のエラー内容のエラーロギング(fprintf(stder,))が
出力されません。(何も出力されない)
syslogを使うことや他の方法も考えたのですが、とりあえずなぜ
エラー出力がでないか調べています。
なにか解決策あれば教えてください。
・apacheはver2.0です
・リダイレクトしない場合は、ちゃんとエラー出力される
・リダイレクトはLocation :~の絶対パス使用(相対パスによる内部リダイレクトだとエラー出力された)
・他の言語(PHP)で試すと、リダイレクト前のはちゃんと出力される
681:nobodyさん
08/09/18 22:43:17
$data = "MAILADDR=<入力したメールアドレス>\n PASSWORD=<入力したPW>\n";
if (open(FH, ">data.bat")) {
print FH $data;
close(FH);
↑CGIを使用しページを見ているユーザーに入力を求め、<入力したメールアドレス><入力したPW>に代入?させてファイルに書き出したいのですがいい方法ってありますか?
682:nobodyさん
08/09/18 22:48:21
ここはCあるいはC++用のスレなのでperlの質問はスレ違いです。
Perlコーディング初心者質問スレ Part 58
スレリンク(php板)
683:nobodyさん
08/09/24 13:34:55
>>680 fflushはしたの?
684:nobodyさん
08/10/09 01:47:06
>>683
fflushもしてみましたが、ダメでした。
何が原因なんだろう。
685:nobodyさん
08/10/09 15:17:08
Location: 受信と同時に接続が切られて、そんでmod_cgiからシグナルが飛んでるとか?
でもヘッダで指定したサイズまでは読むだろうしなぁ。
デバッガをアタッチして、なんで死んでるか見てみたら。
686:nobodyさん
08/10/11 03:41:33
fprintfとかCライブラリではなくシステムコール直に叩いてみて
687:nobodyさん
08/10/15 17:54:06
stdoutとstderrは親経由で表示とか、ロギングされてるだろうから、
接続が切られると即捨てられる運命にあるのでは?
いや、Location: 受信と同時に接続を切るようなクライアントがあるのかどうかしらんけど。
サイズを指定すればそのバイト数までは読むようになるのかも。
688:684
08/10/16 00:40:29
>686
exec系は一通りwaitしたりしつつ試してみましたが、ダメでした。
fflushなりprintなりは終わっているはずなんですが。。。
>686,687
Location時にもContent-lenghtをつける、ということでしょうか?
その場合って、stderrの出力分を指定?でしょうか。
ちなみに、複数台のサーバが全部そういう状態で、割と困ってます。。
689:nobodyさん
08/11/23 08:48:19 Zhb3/Rjb
プロセスが毎回生成されるから
c++であってもあんまり良くないんじゃない?
690:inaba
08/11/23 21:54:57 eDvTRSVx
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さん
08/11/23 22:47:32
マルチ?
692:nobodyさん
09/06/17 02:16:44 zEMbuSde
ほっしゅほっしゅ
693:nobodyさん
09/07/04 17:57:16
文字コード面倒だな。決め打ち最強か。
694:nobodyさん
09/07/15 12:42:28
UNICODE
695:nobodyさん
09/07/15 15:51:36
正直、C/CGIとServletってどっちがはやいの?
Servletの仕組みvsC自体の速さの対決になるとは思うが。
696:nobodyさん
09/07/16 11:02:53
こんにちわ。
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さん
09/07/17 12:26:28
696です。自己解決しました。
POSTという文字列が大文字小文字区別がありました。
まとめておくと、
SCRIPT_FILENAME
REDIRECT_STATUS
を指定するのが必須。
execve等で/usr/sbin/php-cgi、引数にphpを指定して実行。
POST,GET等はcaseセンシティブということでした。
では。
698:nobodyさん
09/09/01 20:16:45
FastCGI+C が史上最速。
699:nobodyさん
09/09/03 10:53:56
Cでmodにしてしまう方がいいかも
700:nobodyさん
09/10/22 16:19:37
C++&FastCGIでcomet作れるかの