トップ(最新) | 次>

nDiki : CGI

CGI - Common Gateway Interface

CGIとはHTTPサーバなどの情報サーバから外部ゲートウェイプログラムへのインタフェースの標準のこと。

CGIに準拠しているプログラムをCGI プログラムと呼ぶ。

スポンサード リンク

CGI - Computer Generated Image

Computer Generated Image の略。

Related term

1999年1月28日 (木)

ISPの支払いカードの変更、楽々 このエントリーを含むはてなブックマーク

1999年1月25日 「2000年以降クレジットカード到着」 で到着したカードがいままでのカードと違う種類のカード。 なのでカード番号が変更になった。自動引き落とししているものは全部変更手続きをしなければならない。

とりあえず、ISP の支払いを変更。 契約時もオンラインサインアップだっただけあって、変更も Web 上で済ませることができた。 楽チン楽チン。 一応 SSL を使っていて、ちょっとは安心か。

SSL といえば、実は仕事で請け負っている Web コンテンツの作成先のサーバ、SSL 対応にしてくれないかなぁ。 そしたら、CGI 関連のログとか情報の参照とか Web 経由にしてもちょっとは安心なんだけど。

@ 追記

1999年2月8日に実際に SSL の実験をしてみた。

スポンサード リンク


[ 1月28日全て ]

2000年11月5日 (日)

本サイトの Referer 統計復活 このエントリーを含むはてなブックマーク

以前のサーバでは Apache で combined 形式のアクセスログをとっていて、Referer (リンク元)の統計をとっていたんだけれども、今のサーバでは Referer log が提供されていない (common 形式の提供)。

なもんで、しばらく Referer のない淋しい統計生活だったのであった。 で、今日 SSI でめでたく復活。 とりあえずちょちょっと作って実験中。 ログの出力を Apache の combined 形式と同じ形式にしたので、analog がそのまま使える(統計スクリプトの手間も省けるというもんだ)。 もっとも、combined に必要なフィールドの全ての情報が SSI では取得できない(ような)のでそこら辺は適当(適切)に埋めておいてある。

ついでに cookie による統計も実験してみようかなと思ったがサーバでは mod_usertrack が disable だった。 自前で cookie を焼くとなると、全ページを隠れCGI処理しなきゃならないので面倒だ(昔別のサーバ上でやってたけど)。 IMG でお茶を濁す方法もあるけど、なんなので cookie は見送り。


[ 11月5日全て ]

2000年12月8日 (金)

PHP 3 なら動く…… このエントリーを含むはてなブックマーク

結構前から、「PHP を使ってみよう」ということで自分の環境(Debian GNU/Linux woody)に、PHP 4 のパッケージをいれてみているんだけど、動かない。 もう少し具体的にいうと、

  • インストールしているのは php4, php4-cgi とその仲間たち
  • php4 (Apache のモジュールとして動作)を、モジュールとして組み込むと Apache が正常に動かない(PHP 4 で書いたページにアクセスすると落ちる)。
  • php4-cgi (CGI 版として動かすもの)は、コマンドラインから単体ではきちんと動作するのに、Apache から CGI として呼ぶと Segmantation Falult で動かない。
  • 自分で php4 コンパイルしたのも CGI で同様の状況。

ということで、困っていた。 諦めて php3 を入れてみたらこちらは動く。 php4 はそれ自身国際化されつつあるし(php3 は別に国際化版あり)今後の事も考えると php4 にしたいところなんだけどねぇ。

ライブラリまわりの問題なのだろうか? 何度か php4 の方も、Apache の方もパッケージアップデートされている(upstream 自体もあがってる)のに駄目だから。 しばらくは php3 を使うかな。 php3 国際化版はまだパッケージにないので、自前でビルドしなくては。


[ 12月8日全て ]

2000年12月27日 (水)

www.naney.org に「友人・知人に紹介メール」ページを新設 このエントリーを含むはてなブックマーク

とあるニュースレターメールWeb Site のアクセスアップに「友達に教える」という機能が有効と書いてあった。 なんでも「口込み」効果や、友人からの紹介であるという信用度の高さから効果的なマーケティング方法なのだと。 この記事では、「メーラーが立ち上がり……」とあるけど mailto: を使うって事かな? これだと紹介者は URL 等も自分でメール本文に書くということか。それともクライアントサイドスクリプトで凝ったことができる?

別にアクセスアップにはこだわらないけど、紹介機能はおもしろいかもしれないので、PHP 3 で実装してみた。 機能的にはメールを出せる CGI プログラムで、「楽天市場」の「友達にメールですすめる」と同じようなもの。

この手のものは下手をすると(というかまんま) anonymous mailer になってしまうのでちょっと怖いところ(イタズラしないでくださいませ)。 ログで追跡できる事もあるけど、駄目な時は駄目だしね(HTTP/CGI レベルで収集できる情報は限定されている)。

興味のある方は のぞいてみてください *1

おいおい、機能強化して、各セクションごとにデフォルト紹介文をさしかえたりしていくかな(利用者がいればの話だけど)。

*1 http://www.naney.org/... ……. だったが閉鎖ずみ


[ 12月27日全て ]

2001年1月4日 (木)

CGI プログラム、Out of memory! に泣く このエントリーを含むはてなブックマーク

昨日Web サーバWWW::Search モジュール、拙作 WWW::Search::Namazu2 をインストールNamazu メタサーチ CGI も準備万端。手元でもきちんと動作している。

Web サーバ上に CGI プログラムをセットアップ。 入力ページもきちんと出た。 が、検索させると結果がでない。 Apacheエラーログを見ると……Out of memory!

無限ループかなにかに落ちるところはないんだけどなぁ……。 いろいろコネクリまわしたが、Out of memory! は解消できず。 WWW::Search モジュールを手でいじって、使わないモジュールのロードをおさえたりすると、ちょっと先まで進むようになるがやはり Out of memory!

モジュール間の相性でメモリを食いすぎている……なんて事もないだろうなぁ。

 $ulimit -a
 cpu time               (seconds, -t)  unlimited
 file size           (512-blocks, -f)  unlimited
 data seg size           (kbytes, -d)  524288
 stack size              (kbytes, -s)  65536
 core file size      (512-blocks, -c)  unlimited
 max memory size         (kbytes, -m)  unlimited
 locked memory           (kbytes, -l)  unlimited
 max user processes              (-u)  4115
 open files                      (-n)  8232

の限界を越えたか? サーバのメモリはさすがに使いきってないようだし。 バーチャルサーバだけに1プロセスがメモリ食いすぎると(他人にされると自分も)困るので理解できるが、ちと苦しいなぁ。

Perl をやめる」という案は「Perl モジュール開発」と相反するから却下。

@ 追記

2001年5月6日に、Apache の設定で limit がかけられているらしい事が判明。 (2001年5月6日追記)


[ 1月4日全て ]

2001年5月11日 (金)

はいぱー日記システム日記を開始 このエントリーを含むはてなブックマーク

やはり気楽に一言書く場所が欲しくなって日記ページを作ることにした。 ちなみにここは日記ではなくて日誌であるという、ささやかな主張をしていたりする*1。 コンピュータ関連のまとまった情報はこのコンピュータ日誌にて公開し続けるつもり。

本日誌は、自前のスクリプトで生成しているが日記の方ははいぱー日記システム(hns)を使う事にした。 国内では結構メジャーな GPL2 なWeb 日記システム。 ドキュメントもウィットにとんでいてイケてる。

今回のインストール戦略は、

  1. Web サイトをメンテナンスしている Debian GNU/Linuxノート PC にはいぱー日記システムのパッケージ(hns2)をインストールし、
  2. 日記データはローカルで書き、mirror を使って適宜 FTP アップロード
  3. 日記 CGI は、現在の Web サイトコンテンツツリーにセットアップし、そのまま他のコンテンツと一緒に FTP アップロード
  4. 日記データは FTP アップロードのみとし、メールWeb ベースでのオーサリングはしない。

とする。 まずさっそく hns2 をパッケージインストールし、/usr/bin/hnssetup2 を実行。 インタラクティブに設定を答えていく。

 タイトル: Naney's Diary
 URL: http://www.naney.org/personal/diary/hns/
 Mail: naney@naney.org
 mail2nikki用 To: naney@naney.org(一応入力)
 mail2nikki用 From: naney@naney.org(一応入力)
 mail2nikki用 パスワード: xxxxxxxx(一応入力)
 検索フォーム: N(最初は)
 テーマ: japanese
 星野アンテナ登録: Y
 日記ディレクトリ: サーバのホームディレクトリ/diary
 ウェブ日記ディレクトリ: サーバのWeb公開ディレクトリ/personal/diary/hns

これで一旦'サーバのホームディレクトリ/diary'と'サーバのWeb公開ディレクトリ/personal/diary/hns'に、設定ファイルや CGI スクリプトがコピーされるので、これをホームディレクトリの適当なところに移動する。

後は config.ph を少し編集して終了。 日記データと、CGI スクリプト等をアップロードしパーミッションとかを変更する。 後は問題なく動作。

検索の追加とか、レイアウトの変更はおいおいということで。

遅ればせながらアンテナもたてたし、日記もつくった。 さすがに掲示板は立てる気、今のところないなぁ。


[ Naney's Diary ]

*1現在は旧コンピュータ日誌nDiki に統合されている。この記事はコンピュータ日誌時代のもの。


[ 5月11日全て ]

2002年1月22日 (火)

mapperl.pl このエントリーを含むはてなブックマーク

ntop に同梱されている小さな CGI スクリプト。 mapperl.pl?host=xxx.xxx.xxx.xxx と IP アドレスCGI パラメタに与えると、その IP アドレスのサーバ(があるであろう)位置を示す地図画像を返す。 実装としては、そういうサービスをしている URL にアクセスして画像をもらってきて返すというだけのもの。

ntop の -U オプションでこの CGI プログラムURL を指定しておくと、ホスト情報に位置画像が追加される。 楽しい。

localhost の apache でアクセスできるようにしておいて、/etc/init.d/ntop にも -U を追加しておいた。 単体で使ってもそこそこ楽しい。 ……すぐに飽きるかもしれないけど。


[ 1月22日全て ]

2002年10月21日 (月)

NaneyOrgWiki 改良 このエントリーを含むはてなブックマーク

WikiEngine開発にははいったけれども、稼働するのはずっと後になりそうなので、今使用している engine もまだまだ手を入れて遊びます。

@ DanglingLink の強調

WikiName と違って[[, ]]で区切るページ名は DanglingLink の時に「どこまでが名前かわからない」かなと思い、 CSS で破線をつけるようしてみる。

@ shared lock の導入

今までは CGI スクリプトの最初で必ず exclusive lock をかけるというバカ lock だった。 これだと WantedPages のような時間のかかる処理のあるページにアクセスがあると、他のページの read が軒並み sleep させられてしまう。

なので、書き込みのないアクセス時には shared lock で flock するように修正。 これで read vs read でのアクセスが待たされたくなったはず。 それでも時間のかかる shared lock なアクセスがあると write 系のアクセスはやっぱりしばらく待たされてしまうのだけれど、write 系は頻度が低いから……。


[ 10月21日全て ]

2003年11月9日 (日)

[ WiKicker ] SpeedyCGI 対応するも…… このエントリーを含むはてなブックマーク

WiKicker の高速化のために SpeedyCGI 対応作業。

  • Singleton パターンの除去
  • リクエスト処理後にデータベースunlock処理を必ず実施するようにする
  • DATAハンドルの読み込みを最初にキャッシュ

等を行う。 手元では動くようになった。

で今度は www.naney.org 上でテストしてみたのだが、無念 SpeedyCGI 自体がうまく動かない (FreeBSD 4.4-RELEASE + perl 5.005_03)。 CGI で呼び出すと

 failed to open log file
 fopen: Permission denied

エラー。make test でもこけているテストがあったし(t/sh_bang、t/timeout)このサーバじゃ動かんのかな?

@ と思ったら動いた

CGI スクリプトの先頭に

 #!/home/.../bin/speedy -w -- -M30 -t300 -r30 -p/home/.../bin/speedy_backend

のように記述していたのだが path部分が長かったため sh-bang の限界を越えてしまっていたようだ。-p オプションで指定している speedy_backend のパスの方はデフォルトが Makefile.PL 実行時に適切に設定されているはずだから、実際には省略可。

ということで、

 #!/home/.../bin/speedy -w -- -M30 -t300 -r30

としてみたら動いた。 よっしゃ。 これでリクエスト毎のプログラムのローディングの必要がなくなるので、レスポンスの遅さが改善されるはず。 パラメータは

  • -M30 (MaxBackends: これ以上だとサーバによろしくない?)
  • -t300 (Timeout: デフォルトの 3600=1時間だと長いかな。不要なプロセスは早めに止めておきたい)
  • -r30 (MaxRuns: まだバグメモリリーク等があるかもしれないので30回呼ばれたらバックエンドを re-exec するように)

としておく。様子をみて微調整。 これからは、WiKicker を更新したら Wiki CGI スクリプトを touch する事を忘れないようにしなくては(SpeedyCGI にバックエンドを再起動させなおさせるため)。


[ 11月9日全て ]

2004年2月25日 (水)

[ 映画鑑賞 ] 20:30 ゼブラーマン このエントリーを含むはてなブックマーク

やまだ君と久しぶりに映画を観に川崎へ。 映画は去年の9月に座頭市を観て以来。

JR川崎駅で待ち合わせた後、映画の話などをしつつ夕食。 その後先にチケットを買って(全席指定だと思ってたら自由席だった)、DOS/Vパラダイス、DICE内のさくらやをぷらぷらした後、上映30分ぐらい前に劇場へ。

@ チネチッタ - チネグランデ

座席数は多いのだが、シートは一世代前。 最近のシネコンの高い背もたれのあるシートに馴れるとちと頭が疲れる。 決して悪いグレードではないのだけれどね。

客入りはレイトショーということもあってかなり少なめ。30人ぐらい? J列中央に座ったが前方には誰もいなかった。

@ ゼブラーマン

私とゼブラーマン

映画の方は中盤まではテンポが良く楽しめた。

後半だんだん真面目な展開になってくるのだが若干中途半端な感がある。 70年代特撮物のテイストでいきたいのか、それとも現代的なイメージでいきたいのが読み切れない。 中途半端にCGI(エンドロールを見て気になったのだがCG ではなくて CGIなんだな。Computer Generated Image)を多く使わないで、より特撮っぽい方が個人的にはよかったのになと思う。

コメントとして書くと辛口になってしまうが、男性諸氏はそれなりに楽しめる映画だと思う。女性の人にとってはあんまりかも。

教頭はムーが好き。

@ 渡部篤郎

やっぱ格好いい。

@ 他

今年は「××実写化」が多いなか、キューティーハニーの予告が流れていた。 この予告だと全然観る気しない。 やっぱり注目は「キャシャーン」、「サンダーバード」あたりかな。


image:ASIN:B000228XH8

ゼブラーマン プレミアムBOX - 白黒つけるぜ!! 浅野さん!!


[ 2月25日全て ]

スポンサード リンク

Related web page

[ぴ] - PATH_INFO に [ 等のメタ文字が含まれていると CGI::path_info がこける
PATH_INFO に [ 等のメタ文字が含まれていると <strong>CGI</strong>::path_info がこけるPATH_INFO でパラメータを渡している <strong>CGI</strong> スクリプトに Shift_JIS で「納」(2バイト目が [ ) とかを渡すとこけるのでなんですかねと調べていったら、どうも <strong>CGI</strong>.pm のバグらしいことがわかった。 テストコード #!/usr/bin/perl use <strong>CGI</strong>; use <strong>CGI</strong>::Carp qw(fatalsToBrowser); print <strong>CGI</strong>::header(); print <strong>CGI</strong>::path_info(); を設置し、〜/test.<strong>cgi</strong>/%5B にアクセスし
http://pmakino.jp/tdiary/20070702.html#p01
daily dayflower - speedycgi with Perl 5.8.6 のメモリリークをなおした
いや直して RT に投げたのはだいぶ昔なんですが,以前の日記で でも <strong>CGI</strong>::Speedy<strong>CGI</strong> は Perl 5.8.6 以降ではメモリリークする(RT#13521)罠。がーん。 daily dayflower - mod_speedy<strong>cgi</strong>2 on Apache 2.2 と書いてほおりっぱなしだったんでネガティブイメージが定着するとまずいかなと思い,一応アピール。上記のRT#13521にパッチを投げてあります。その他いろいろ RT に投げてるんで,手前みそながら <strong>CGI</strong>:
http://d.hatena.ne.jp/dayflower/20070216/1171620558
daily dayflower - SpeedyCGI のプロセスの癖
以前作ったモジュール(daily dayflower - Speedy<strong>CGI</strong> と module reload)でたまにモジュールファイルの変更を検知できないことがあったんですが,理由がわかりました。 Speedy<strong>CGI</strong> の挙動をおさらいすると, frontend が backend を探す。いればよし backend がいない場合 backend(0) を生成 backend(0) がスクリプトをコンパイル backend(0) が fork して backend(1) を生成 frontend が backend(1) と通信 backend(1) が実行フ
http://d.hatena.ne.jp/dayflower/20061227/1167212645
daily dayflower - mod_speedycgi2 on Apache 2.2
Speedy<strong>CGI</strong> を使ってみようと思って cpan install <strong>CGI</strong>::Speedy<strong>CGI</strong> したら,怒られました。のであれこれ調べてなんとか動くパッチを作ってみました。 原因は Apache 2.2 (APR-1.2) になって, APR_BRIGADE_FOREACH() というマクロが deprecated になった(参考) apr_filename_of_pathname という関数が apr_filepath_name_get になった(CHANGES-APR-1.2) という非互換性があるためでした。 でも <strong>CGI</strong>::Speedy<strong>CGI</strong> は Perl 5.8.6 以降で
http://d.hatena.ne.jp/dayflower/20061205/1165309213
synthereal.com -VFX/CGI Studio- ミニチュライズ:実写のミニチュア化
これらのミニチュア化されたムービーがどのようにできているのか、 その裏側を簡単にまとめた Making Of ムービーです。 Miniature Town とは、上の3つのミニチュア化したムービーをまとめた作品です。 この作品は、3月3日に SIGGRAPH Tokyo 主催で行われた CG Gong 2006 にて上映を行いました。 この Making of はその時に上映したものに若干手を加えたものです。 注:このムービーは音が
http://www.synthereal.com/jp/miniaturize.html
SVN::Web on FastCGI - Ogawa::Memoranda
半年くらい前からMovable TypeのPluginなどのsubversionリポジトリーを公開していたのだが、どうにも具合が良くなく、試行錯誤が続いていた。 Ogawa::Memoranda: SVN::Web導入 最初PerlベースのSVN::Webを<strong>CGI</strong>経由で動かしていたのだが、猛烈にパフォーマンスが悪く、私の借りているサーバーだと数秒待たされたりしていた。代わりにmod_perl環境にdeployしたりもしてみたのだが、Apache 1.3との組み合わ
http://as-is.net/blog/archives/001049.html
Perlモジュール/CGI::Application - Walrus,Digit.
を見ることができます。ただしバージョンはちょっと前のもので、<strong>cgi</strong>app_*メソッドやプラグイン機構などはなかった頃のものです。 Tips リンク 編集 出力時の文字コード自動変換・ヘッダ自動設定 リンク 編集 <strong>CGI</strong>::Application 3.31版では<strong>cgi</strong>_prerun、<strong>cgi</strong>_postrunなど、様々なタイミングで共通処理を組み込める仕組みがあります。 これを利用して、スクリプト中では(あまり)文字コードを意
http://digit.que.ne.jp/work/index.cgi?Perl%A5%E2%A5%B8%A5%E5%A1%BC%A5%EB%2FCGI%3A%3AApplication
ここギコ!: FastCGI化したmt-xmlrpc.cgiのテスト投稿
というか、Fast<strong>CGI</strong>化したのだからmt-xmlrpc.f<strong>cgi</strong>です...
http://kokogiko.net/m/archives/001346.html
lighttpd FastCGI は mod_perl Apache1.3 より1割ほど高速 :: Drk7jp
巷で超高速 Web サーバとして話題になっている lighttpd を試してみました。lighttpd に関する日本語ドキュメントは非常に少なく、ちょっと込み入った設定ファイルの記述方法とかの解析に手間取りました。 lighttpd のコンセプトは、「セキュアで省メモリで高速に動作し、柔軟性もある」なのですが、「lighttpd 公式サイトのベンチマーク結果」や「UnknownPlace. - Catalyst ベンチ」で簡単な
http://www.drk7.jp/MT/archives/000917.html
IBM Perl/CGI投票システムを作る - Japan
1 unless( defined( $q-&gt;param( $vparm ) )){ 2 # Display initial voting stuff here 3 # select a candidate 4 $ballotBox-&gt;printForm( $q ); 5 } else { 6 # if vote is tallied, do _not_ mail a ballot 7 if( $castBallot-&gt;voteIsTallied( $q ) ){ 8 print &quot;Your vote has already been recorded&quot; 9 } else { 10 # 11 # vote not tallied yet, check if we have a draft ballot on file 12 # and move the draftBallot into the castBallot object 13 # 14 if( $draftBallot-&gt;exactMatch( $q ) ){ 15 # cast ballot 16 print $q-&amp;gt
http://www-6.ibm.com/jp/developerworks/linux/050624/j_l-perlvote.html

■よく検索されるキーワード

perl(62) torrent(54) linux(48) 提案書(47) windows(43) 書き方(41) 使い方(29) アジェンダ(26) x31(25) 充電式カイロ(25) cvs(22) インストール(20) サンプル(20) thinkpad(19) アジェンダとは(19) f-01a(18) wiki(17) c#(16) 感想(16) カイロ(16) usb(16) java(16) 秋葉原(15) debian(15) ヨドバシカメラ(15) subversion(15) 壁紙(15) 作り方(15) 静電気(14) apache(14) グッズ(14) デロンギ(13) フリー(13) sh-01a(13) ganttproject(13) 修理(13) ssh(12) svn(12) ヨドバシ(12) truecrypt(12) ダイソー(11) 手帳(11) activeperl(11) ubuntu(11) ほぼ日手帳(11) firefox(10) mew(10) mp980(10) ドラマ(10) 日本語(10) n-01a(10) google(10) tc-1(10) 評判(10) ツール(10) djunit(9) cgi(9) 動画(9) mp3(9) オイルヒーター(9) docomo(9) rcs(9) 除去(9) centos(9) メモリ(9) エネループ(9) 設定(9) p-01a(9) tortoisesvn(9) 無印(8) ケース(8) 口コミ(8) ミノルタ(8) メール(8) インストーラ(8) 会議(8) xampp(8) 加湿器(8) af(7) 値段(7)

この日記のはてなブックマーク数 Add to Google RSS

Process Time: 0.19152s / load averages: 0.32, 0.20, 0.17
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)