/*Perl.Ruby.php以外でCGI*/

このエントリーをはてなブックマークに追加
1名無しさん@お腹いっぱい。
無かったので立ててみた。
C、C++、Delphi、を初めコンパイル型はもちろん
ちょっと変わったインタプリタや、shスクリプト、
多分居ないだろけど、アセンブリ(書けるのか?)まで
わざわざ他の言語でCGIを書こうとする人のスレッドです。

サーバ情報や、cgi特有の問題、Tips、ネタフリまで
マターリと語りましょう。

ちなみに1はCとPythonとPerlしか出来ないのです (´〜`;)
2名無しさん@お腹いっぱい。:01/10/27 05:39 ID:???
PostScriptでCGIって書けそうだよね:-)
httpdは既にあるわけだし。
問題は、PostScriptのコメントが % なので、
UNIXで標準的に使われる、#! を利用したファイルの実行が出来ない点。
いかにして GhostScriptを起動させるかなんだけど、何かいいアイデアない?
3名無しさん@お腹いっぱい。:01/10/27 09:49 ID:???
4JAPU ◆JAPUTeX. :01/10/27 15:58 ID:???
http://www.pugo.org:8080/
CGIじゃないけど、こういう馬鹿なものも存在するぞ。
5JAPU ◆JAPUTeX. :01/10/27 15:58 ID:???
2. で既出だったか。すまん。
6名無しさん@お腹いっぱい。:01/11/10 16:35 ID:NImjyJBZ
こんなスレ有ったんですね ^-^
メモリのアロケート、リロケートのコツが解りません。。。
CONTENT_LENGTHみたいなのが有れば、簡単なんですけど、、
今は、snprintfとかstrncpyを使ってなるべくバッファを大きく取ってるんですが
FORMの内容みたいのはリストで順番にmallocするのが順当なんでしょうか
開放も面倒だし・・・ガベジコレクション萌え〜 (-、-)
7名無しさん@お腹いっぱい。:01/11/10 18:50 ID:???
snprintfということはCかC++だろ。
getenv("CONTENT_LENGTH")は使えないのか?
8名無しさん@お腹いっぱい。:01/11/11 18:18 ID:zKYmr+/j
>>7 アドバイスありがとうです、getenvは使えますが、私がタコなだけです (^-^;
勉強がてらBBSのプロトタイプを書いてみたら、案の定爆速なんですが
容量不定の入力に対処する方法がイマイチわかって無い感じです。
ソースがmalloc,freeでグチャグチャになってしまって、かなりヤバイ状態です
# 自分でも良く分からない状態 (汗;
9名無しさん@お腹いっぱい。:01/11/11 21:42 ID:???
>>8
不定数のメモリブロックをmallocするときは、
そのポインタを別々の変数に記録しないで、
管理用の「ポインタの配列」に入れとくとくといいよ。
その管理用配列のサイズは、あらかじめすげー多めに設定しておくか、
あるいは最初にmallocした数で不足したらreallocで拡張する。
10仕様書無しさん:01/11/12 03:43 ID:???
>>9
なるほど! 有難う御座います。今見てるコードはそんな風になっています。
管理用のポインタ配列と開放用の関数を作ってそこに投げてる様です。勉強になるなるです。。
やはり僕のコードは謎のランダム爆撃に見舞われていました (−_−)
厨房はmallocは最初だけにして、後は富豪的プログラムの方が良いような・・(汗;
ヒープをバリバリ使えるって凄いですね、難しいです。
これがC言語の壁なのかなぁ・・・・
11仕様書無しさん:01/11/12 03:53 ID:???
何か日本語が変だ ^ー^:
12名無しさん@お腹いっぱい。 :01/11/12 06:07 ID:j26yk8ni
お馬鹿なmalloc積んだ処理系でrealloc繰り返すと領域を再割り当てしまくって
酷くパフォーマンスが落ちるぞ。練習なら止めないが実用しようとしてるなら素直にスタック使って
例外に逃げる様にしといた方が良い。
汚染チェックはこれを使うと便利だ、perlのエンジン使ってるから直感的に分かるだろ
www.hi-ho.ne.jp/babaq/linux/bregexplib.html
13名無しさん@お腹いっぱい。:01/11/13 10:06 ID:osDutJ9i
>12
これイイ!(・∀・)です。有難う!!
reallocは実験してみました、テキスト位だと全然OKなんですが何かでかいデータを
拡張するとmoveしまくってますね、断片化?、、メモリは難しいです。。。
あくまでも初心者の練習なんで (^-^;;

昨日BSubstを色々試してみました、Bsplitはフォームの分割とかに使えそうですー
今日帰ったらまた色々やってみますです。。 感謝!
14神奈車 ◆Key/kjX6 :01/11/13 18:42 ID:???
TclでCGI組んでみたいけど、
参考書籍は近所の本屋に無いし
解説サイトも全然見つからないんだよな。
15名無しさん@お腹いっぱい。:01/11/13 22:07 ID:???
適当に健作したらこんなん出てきたよ
http://www.amazon.co.jp/exec/obidos/ASIN/4894713454/250-8720670-6497858
http://www.oreilly.co.jp/out/cgipro/contents.htm この本欲しいな・・
http://www.kh.rim.or.jp/~maruoka/tcl/ デコード用とかのライブラリらしい
http://member.nifty.ne.jp/mstart/mgui/ MIND
つーかtcl面白そうだね、HSPみたいな感じかな??
文法的にはどうなん、C系とperlしかしらないけど、、大変かなぁ・・・
16神奈車 ◆Key/kjX6 :01/11/14 14:53 ID:???
>>15
なるほど、じゃあamazonで注文しようかなー。
TclってPerl等と比べて処理が早いとか、何か長所とかあるのかな…?
17名無しさん@お腹いっぱい。:01/11/14 16:28 ID:auFUazwk
18名無しさん@お腹いっぱい。:01/11/14 16:31 ID:pkXE9iGS
>>9
素直にリスト使うのじゃダメ?
19名無しさん@お腹いっぱい。:01/11/14 16:46 ID:???
良く解らんからフリーしないってのはダメ?(死
209:01/11/14 22:20 ID:???
>>18
STL使い始めたら、Cで自分でリスト処理書くのが面倒で。。。

>>19
どうせ瞬時に終わるCGIなんだから、それもあり。

ずっと前にとほほさんが「場合によってはfreeしなくてもよし」
と言って叩かれてたことを思い出すな。。。
21名無しさん:01/11/14 22:28 ID:OzQP9bae
TclでCGI作ったりしてるよ。情報は少ないねえ。

「TclによるCGIプログラミング」はちょっと立ち読みしてみたら
作者の独自ライブラリを使って導入してるっぽかったから
買わなかった。
2218:01/11/15 12:13 ID:???
>>19
良く解らんのなら却下。
・そのプログラムが再利用されないこと確実
・Webサーバからの呼ばれ方がちゃんとわかってる
・OSのメモリ管理を信じられる
って前堤があるならアリ。

>>20
得心。確かにめんどい。
上限がわかってるなら配列にしちまった方がずっと楽だ。
でも、必要なときにはちゃんとリストを使わないとヒドイことになる。
見極めが肝心ってこったな。
23名無しさん@お腹いっぱい。:01/11/16 00:46 ID:UpL8zLbH
はは、まだ自信が無いからC++ではワンショットなのしか書けないなあ・・
PERLもメモリに乗っちゃうと結構速いから、長く動かすのはついPERLに
頼っちゃったり (・∀・)♪
それにしてもこれは気になるなぁ・・・・
http://pc.2ch.net/test/read.cgi/tech/1002820903/l50
24名無しさん@お腹いっぱい。:01/11/17 14:23 ID:Ow7Lb7Ro
Cで書いてみた。。超手抜きだけど (;・∀・)
http://www.alex0900.f2s.com/pre/prebbsC.cgi
んー、嫌になるほどでも無いけどやっぱり面倒だな
ちゃんと後片づけしてシグナルトラップしてだと結構大変そう。。。
25名無しさん@お腹いっぱい。:01/11/20 23:01 ID:???
たいしたもんだね(・∀・)
あげとか下げとかCだと大変じゃ無い?
26名無しさん@お腹いっぱい。:01/11/24 08:42 ID:???
>>24
目がキモイ
27名無しさん@お腹いっぱい。:01/11/25 16:31 ID:F8Jjwqs3
テスト完了。めっちゃ欲しいです!、ゆずって下さい
28名無しさん@お腹いっぱい。:01/11/25 21:06 ID:???
>>24
ログはどんな風に管理してるんですか?
2ch風のをベタ1ファイルにまとめるとPerlだとへこたれちゃうんで・・・
結構時間掛かりますかね?
29名無しさん@お腹いっぱい。:01/11/26 01:26 ID:???
>>24

あのさ、空セルには全角スペースか何かを入れようよ。
ネスケを無視したくなる気持ちも分からないではないけどさ。あまりにも見苦しいので。
30柚鈴車 ◆sMGFahw. :01/11/26 11:11 ID:???
>>26
ジサクジエンというキャラですが
31名無しさん@お腹いっぱい。:01/11/26 12:46 ID:AbbopxpL
>>30

ジサクジエンは>>25ですが。
32名無しさん@お腹いっぱい。:01/11/26 15:27 ID:???
つーかこんなHTML書くやつがCで書ける訳ないだろ(ワラ
Perlで書いて自作自演してんだろどうせ
33名無しさん@お腹いっぱい。:01/11/26 15:37 ID:???
アホが居るな。ソース公開するまで妄想でアホな事言うなよ。
34名無しさん@お腹いっぱい。:01/11/26 16:26 ID:???
最近この板厨房臭キツクなったね
人少ないまま濃度が上がったってか
35名無しさん@お腹いっぱい。:01/11/26 17:11 ID:???
perl厨房が入ってきたからな
36shige:01/11/26 18:06 ID:???
perlつうか隔離板な(笑 つっこみ所が微妙にずれてるのが君たちのレヴェルを表してるね p
構造体丸ごとファイルに焼くってのはどうよ?>>28
37名無しさん@お腹いっぱい。 :01/11/26 19:35 ID:???
ブビ厨とかPerl厨って妙なヒエラルキー持ってるよな
38名無しさん@お腹いっぱい。:01/11/27 02:04 ID:???
なんか悲惨な展開になっとるな
2chでコードなんか公開するもんじゃ無いね:-)
3924 :01/11/28 04:21 ID:???
自作自演クンです(w
>>26
ちょっとセキュリティーコードの実験してて適当に持ってきた画像が固まってました
>>28
ログは1ファイルです、それとセキュリティファイルが1つ、時間は、、コーディングの時間だったら
Perlよりは掛かります(^^ でも現実的なレベルですよ、速度は勿論速いです、一応Cですから(笑
>>29
すんません NC...うぅ
>>32
++とCとデルとVBとPerlは分かりますけどHTMLはさっぱりですが何か?
>>向こうで書いてくれてた人、>>27
すいません、まだ配布はちょっと、つーかプロトタイプなんでね
STLは使ってませんよ、なるべく太古のCなサーバでも動くようにと思ってるんです
実はWebChatを書いてるんですよ、PerlのChatってオーバーヘッドがアレじゃ無いですか?
でphpもそれ程普及してなかったり、モジュールだと今一つセキュアじゃない?気がして
結局Cで派手なライブラリとか使わずシコシコ書くのが一番かなと思ったんです。
それでなるべく沢山バイナリを用意して、コンパイルも簡単に出来る様に工夫して
KENTさん所のを設置出来る位なら、頑張れば使えるようなのを書こうと思いました。
そうすれば、WebChatもちょっとは置きやすくなるかなと、ここの人だとIRC池とか
言われそうですが、ほんとにネットに疎いような人にはまだまだWebChatも需要は有りますから
と言う訳で、突っ込みは甘受つーか大歓迎だったんですが何故か自作自演扱いにムカついたので
消えます。
40名無しさん@お腹いっぱい。:01/11/29 02:36 ID:???
スクリプツハケーン♪
作者氏はもういない??
41名無しさん@お腹いっぱい。:01/11/29 17:05 ID:???
柚鈴車逝ってよし!!
42名無しさん@お腹いっぱい。:01/12/01 01:49 ID:???
Cで行データ並べ替える時ってどんな風にしてます
perlなら
reverse @ary;
push @ary for(0..2);
みたいな事なんですけど、
今は一時ファイルに書き出す時に行ったり来たりしてるんだけどfseekが煩雑です
オンメモリで十分な内容だし、、
allocした行データへのリスト書いて、それを並べ替えるって感じですかね?
43名無しさん@お腹いっぱい。:01/12/01 03:18 ID:???
>>42
双方向リンクリストでどうよ?
44名無しさん@お腹いっぱい。:01/12/05 09:02 ID:SdibcJs+
hhp://www.alex0900.f2s.com/
ここに有るゲストブックとかチャットは配布してないんですか?
放置してるみたいですけど。。。
45名無しさん@お腹いっぱい。:01/12/05 09:12 ID:SdibcJs+
>>24=39 さんなんですね (T_T )
どっかに軽いチャット無いですかねぇ
46名無しさん@お腹いっぱい。:01/12/08 04:18 ID:4vo3amz9
このスレ、人いないですねえ・・・

 ∧ ∧ ||||||
(  ⌒ ヽ
 ∪  ノ  ガックシ...
  ∪∪
47名無しさん@お腹いっぱい。:01/12/17 09:15 ID:???
>>45
そもそもWebチャットは無理すぎる。
おとなしくIRCかICQでも使うが吉
48名無しさん@お腹いっぱい。:02/01/28 16:13 ID:???
あげてみる。
49yoro:02/01/29 03:15 ID:pi9EP9zo
仕事でCでCGIを書くことになりました。
が、DBとの連携部分であまり情報が見つかりません。
情報元ありましたら(WEBサイトや書籍)があれば教えてください。
JDBC使う際のような定石があれば知りたいです。
具体的にはlinux&postgresqlを使います.
50yoro:02/01/29 03:26 ID:pi9EP9zo
とか言いつつ寝ます。
実は今日、明日でC言語おぼえて明後日にはコーディングに入ります。
いいのかこんなんで。
ポインターって犬かよっ!わかんねえよっ!
51名無しさん@お腹いっぱい。:02/01/29 09:10 ID:???
>実は今日、明日でC言語おぼえて明後日にはコーディングに入ります。

すげ・・・
デスマーチの見本ですな
52名無しさん@お腹いっぱい。:02/01/29 20:17 ID:???
>>50
わたしゃ素人ですから詳細な現場のノリはまったく掴めませんが、
アヒャーな状況だってことは何となくわかります。頑張って下さい。
53名無しさん@お腹いっぱい。:02/02/03 23:33 ID:ZQ/FVRe8
54nobodyさん:02/04/19 19:03 ID:lElJki9F
Pascalが一番慣れているので
(というか他の言語はあまりやったことがない)、
あえてDelphiをCGIの入り口にしたいんですけど、
サーバ・ネット周りのことはまだ良く知りません。
対応しているサーバでないと動かせないわけですよね?
あと、ParlやCに比べて、どんな制約がありますか?
やっぱりマイナーでしょうか?
55nobodyさん:02/04/20 09:02 ID:???
標準I/Oがあって環境変数の取得が出来ればなんでもいいよ。
56nobodyさん:03/03/14 17:46 ID:/gVRYWSN
Pythonが面白そうなんだが、駄目?
57nobodyさん:03/03/15 01:58 ID:/J/tcIaw
別にダメじゃないと思うが
58nobodyさん:03/08/22 02:01 ID:???
>>54
DelphiのCGIの本はあった。
59nobodyさん:03/10/28 20:12 ID:???
&rlo;
60nobodyさん:04/01/11 00:44 ID:???
保守
61nobodyさん:04/01/29 09:47 ID:???
#!/usr/bin/tail +2
Content-type: text/plain

保守
62nobodyさん:04/02/26 17:44 ID:???
63nobodyさん:04/06/27 22:32 ID:???
awkで書いたことあるよ。
64nobodyさん:04/09/06 20:11 ID:???
2ちゃんねるのread.cgiはCで書いてるっていう話聞いたことあるけどそうなの?
65nobodyさん:04/09/07 07:40 ID:???
さあね
あ、ヨイヨイっと
66nobodyさん:04/10/23 12:19:23 ID:???
そういやHSPCGIなんてのもあったね。
67nobodyさん:2005/04/10(日) 01:24:36 ID:???
俺はDOSのBATファイルでやってる。

@echo off
echo Content-Type: text/plain
echo.
echo Hello, CGI!
68nobodyさん:2005/12/06(火) 15:43:16 ID:???
http://panathenaia.halfmoon.jp/vampire/
ここのCGI、Adaで書いてあるwww
すげw
69nobodyさん:2006/11/17(金) 14:51:25 ID:???
JavaでCGI。サンプルは動かないけど。

ttp://www.apl.jhu.edu/~hall/java/CGI-with-Java.html
70nobodyさん:2007/02/16(金) 04:56:48 ID:5QduureT
PerlのCGIをJScript.NETに書き換えたら格段に速くなったので
病み付きになった。
71nobodyさん:2007/11/15(木) 13:01:49 ID:???
ふふっ

AppleScriptがあるよ...
72nobodyさん:2008/01/03(木) 15:13:41 ID:HmFmdE3J
Cで書いてますがなにか?
73nobodyさん:2008/01/04(金) 15:29:29 ID:???
何か?って言われてもなあ。
他に語る事がないなら、そうですかとしか言えない感じ
74nobodyさん:2008/01/26(土) 00:36:47 ID:???
チラシの裏
Lua
CGILua
http://www.keplerproject.org/cgilua/

Haskell
Haskell CGI Library
http://www.geocities.com/laitenberger/haskell/CGI/

OCaml
Ocaml and the Web
http://www.ocaml-tutorial.org/ocaml_and_the_web

ScalaとかErlangあったら追加してね。

といいつつ流行の言語知らん。
あとCGIも使ってないけど( Java=Servlet, Ruby=Mongrel)
75nobodyさん:2009/08/12(水) 14:34:40 ID:W5RPYlFS
あえてHSPでやってみようかな
本見ながら
76nobodyさん:2010/07/16(金) 20:57:08 ID:e6QQZB/G
hosu
77nobodyさん:2010/12/12(日) 15:25:17 ID:???
よーしパパExcelでry
シェルスクリプトでCGI

#!/bin/sh
79nobodyさん:2011/08/26(金) 15:10:20.28 ID:???
てs
80nobodyさん:2011/08/29(月) 07:46:40.51 ID:???
PythonでCGIがマイデフォ
81nobodyさん:2012/08/14(火) 01:13:08.17 ID:???
www.yahoo.co.jp
82nobodyさん:2012/08/14(火) 01:13:44.65 ID:???
83nobodyさん:2012/09/09(日) 12:20:31.10 ID:???
#/usr/bin/php
<?php
echo "ハロー";
>
84nobodyさん:2012/09/09(日) 12:22:53.95 ID:???
あっCGI版PHPも対象外か

ここはnodejs
85 【32.3m】 電脳プリオン:2014/09/25(木) 00:52:42.40 ID:??? BE:297277225-2BP(0)
CGI自体が言語と思ってた
86nobodyさん
>>67
未だに稼動してるわ
Win95でタイマー管理とかブックマーク管理とか情報置き場とか

さすがに外との通信は遮断してある