プログラム質問箱一括表示
[表示範囲:662〜712][スレッドモード]


[RE] フォロー記事投稿 記事のキャンセル
From: TAD <hotani@mua.biglobe.ne.jp>
Subject: Re: CGIでのヘッダ出力(ボールイメージの件について)
Date: 1999/05/28 11:59:15
Reference: mesh.program/00663

5月27日に、三葉工房さんは書きました。

>ボールイメージの件なのですが,残念ながらNetscapeでは,私の
>質問した問題のイメージプログラムと同様に,リロードボタンでは
>1回きりしか,オンラインからイメージをリロードしません。

#ちょっとあきらめが早すぎるのではないでしょうか。
#なぜ、にあさんが言っている動きをしないのかの理由をブラウザのせいにして終わりなのですか。
#もっと自分を疑ってみましょうよ。

結論から言うと、私の使用している以下のブラウザではちゃんとリロード(再読み込み)
するたびに違う画像が表示されましたよ。
NetscapeCommunicator  4.5
NetscapeNavigator  3.01

但し、最初試したときはすぐにリロードすると何回やっても変わらなかったので
おかしいと思い、しばらく経って(1分程度)からリロードしたらちゃんと変わりました。
どうしてこうなったのかと少し考えてみましたが、以下のような理由ではないかと思います。
三葉工房さんの場合も同じ理由じゃないでしょうか。

<理由>
サーバから画像が送られるときに有効期限(Expires:)はサーバでの現在時刻が設定されてきます。
それで、クライアント側の時計がサーバと同じ時刻であれば、
ブラウザでリロードする時点では当然すでに有効期限が過ぎているので
ブラウザは再度、画像を要求するというのが想定した動き(正しい動き)ですが、
クライアント側の時計が例えば1分くらいサーバより遅れている場合、
すぐにリロードしたのでは、クライアント側ではまだ有効期限を過ぎていないので
ブラウザは再度、画像をサーバに要求することなく自分のキャッシュ上の前の画像を
そのまま表示してしまうため、何度やっても画像が変わらない、ということになってしまう。

そこで私は自分のPCの時刻を確認してみたところやはり時刻が1分程度遅れていたので
117に電話して、正しい時刻に設定しました。
そうしてやり直してみたところすぐにリロードしても画像が変わるようになりました。

>又,分からない事が思いつきましたら改めて宜しくお願いします。

別に、思いついたときすぐに質問に来る必要はないですよ。
考えて考えて考えてもわからなかった時に初めて、質問するようにした方が
自分のためにもなるしみんながハッピーになれると思います。

では。


[RE] フォロー記事投稿 記事のキャンセル
From: にあ <nir@mvg.biglobe.ne.jp>
Subject: Expiresの動作
Date: 1999/05/28 22:58:24
Reference: mesh.program/00664

5月28日に、TADさんは書きました。

>クライアント側の時計が例えば1分くらいサーバより遅れている場合、
>すぐにリロードしたのでは、クライアント側ではまだ有効期限を過ぎていないので
>ブラウザは再度、画像をサーバに要求することなく自分のキャッシュ上の前の画像を
>そのまま表示してしまうため、何度やっても画像が変わらない、ということになってしまう。

そうなんですよね。Expiresレスポンスヘッダと言うのは時計が狂っていると
キチンと動作しなくなって扱いづらいんですね。

そこで、HTTP/1.1(長文注意450kB)では、Expiresでは無く、Ageと言うレスポンス
ヘッダが使えるようになっています。

これは文字どおり賞味期限を示す物で、

Age: 600

とか書けば、600sec=10min後に賞味期限が切れるようになります。
これなら、サーヴァとユーザエイジェントで時計が狂っていても正しい動作が見込めるわけです。(^^)

# もう、HTTP/1.1を正しく認識出来るユーザエイジェントってあるのかな?


[RE] フォロー記事投稿 記事のキャンセル
From: TAD <hotani@mua.biglobe.ne.jp>
Subject: Re: Expiresの動作
Date: 1999/05/29 00:06:52
Reference: mesh.program/00665

5月28日に、にあさんは書きました。

>そうなんですよね。Expiresレスポンスヘッダと言うのは時計が狂っていると
>キチンと動作しなくなって扱いづらいんですね。

ちゃんとご存じでしたか。(^^;;

>そこで、HTTP/1.1(長文注意450kB)では、Expiresでは無く、Ageと言うレスポンス
>ヘッダが使えるようになっています。
>
>これは文字どおり賞味期限を示す物で、
>
>Age: 600
>
>とか書けば、600sec=10min後に賞味期限が切れるようになります。
>これなら、サーヴァとユーザエイジェントで時計が狂っていても正しい動作が見込めるわけです。(^^)

なるほどそんなものがあったんですね。
勉強になります。

># もう、HTTP/1.1を正しく認識出来るユーザエイジェントってあるのかな?

どうなんでしょうね。
IE5あたり、やってそうでやってない、かもしれないし
やってなさそうで実はやってたりして。<-未確認


[RE] フォロー記事投稿 記事のキャンセル
From: 三葉工房 <nature-create@amy.hi-ho.ne.jp>
Subject: Re: Expiresの動作(ついに成功しました!)
Date: 1999/05/29 13:45:44
Reference: mesh.program/00666

にあ様&TAD様

お世話になります。

熱心なExpiresのアドバイスどうもありがとうございました。

こないだは,クライアント側とサーバ側の時刻のズレを忘れて,イメージ
が変わらないと記述して,本当に済みませんでした。とても反省してます。

TAD様に言われた通り,3~4分時間を置いたらイメージは変わりました。

そして,根拠となる記述を得て,早速自分のスクリプトのイメージプログラム
の Expiresのデバックをした末に自分のプログラムでも Expiresの動作が出来る
様になりました。

その Expiresの動作を成功させるには,gmtimeで時刻を得る事が条件でした。
時刻のズレを見込んで,gmtime(time-60*5)とクライアントの時刻の後にならない
様にして実行すれば,ランダムイメージを読み込んだ時点で直ぐに イメージをオン
ラインリロードする事が可能です。まるでSSIのランダムイメージの感覚を得られます。

それでは,又質問したい事柄が思いつきましたら改めて宜しくお願いします。


[RE] フォロー記事投稿 記事のキャンセル
From: TAD <hotani@mua.biglobe.ne.jp>
Subject: Re: Expiresの動作(ついに成功しました!)
Date: 1999/05/30 19:08:28
Reference: mesh.program/00667

5月29日に、三葉工房さんは書きました。

>そして,根拠となる記述を得て,早速自分のスクリプトのイメージプログラム
>の Expiresのデバックをした末に自分のプログラムでも Expiresの動作が出来る
>様になりました。

よかったですね。

>それでは,又質問したい事柄が思いつきましたら改めて宜しくお願いします。

いや、だから... (^^;;
私の投稿記事の最後のところは読んでいただけなかったのでしょうか。


[RE] フォロー記事投稿 記事のキャンセル
From: 三葉工房 <nature-create@amy.hi-ho.ne.jp>
Subject: Re: CGIでのヘッダ出力(TAD様へ)
Date: 1999/05/31 10:38:22
Reference: mesh.program/00664

TAD様へ
お世話になります。

気になられたのは,117へTELして,クライアント側の時刻を正しく
して,イメージスクリプトの出力を試す事ですよね。

私も同じ様に117で時刻を正しくして,gtime(time)と,時刻を現在
の時刻に書き直して実行しました。TAD様のおっしゃられている通り
の結果が得られました。

それでは,失礼します。


[RE] フォロー記事投稿 記事のキャンセル
From: TAD <hotani@mua.biglobe.ne.jp>
Subject: Re: CGIでのヘッダ出力
Date: 1999/05/31 15:37:31
Reference: mesh.program/00669

5月31日に、三葉工房さんは書きました。

>私も同じ様に117で時刻を正しくして,gtime(time)と,時刻を現在
>の時刻に書き直して実行しました。TAD様のおっしゃられている通り
>の結果が得られました。

そういう結果を得られたというのは、前の記事でわかりましたよ。
それで、「解決できてよかったですね。」という以下の私の発言となります。

[記事番号:668より]
TAD>よかったですね。

>気になられたのは,117へTELして,クライアント側の時刻を正しく
>して,イメージスクリプトの出力を試す事ですよね。

ちょっと違います。
確かに「自分から問題提起しておいて、さっと引いてしまうのはどうかと思うし、
自分でもう少し考えてはどうですか」ということも書きましたが、
私が気になったのは、以下の三葉工房さんの発言から
'自分で考えようとせず、すぐに人に聞いてしまえばいい'という姿勢が
感じられたことです。(三葉工房さんはなにか特別のことをされているようですから、
自分で解決する力も必要ではないかと思ったのです。いらぬお節介かもしれませんが。)

「又,分からない事が思いつきましたら改めて宜しくお願いします。」

これは私には

「また、わからないことが出てきたら(自分でじっくり考えないで、すぐ)質問しに来ます。」

という風に聞こえましたので、以下の様に私は書いたのです。

[記事番号:664より]
>>又,分からない事が思いつきましたら改めて宜しくお願いします。

TAD>別に、思いついたときすぐに質問に来る必要はないですよ。
TAD>考えて考えて考えてもわからなかった時に初めて、質問するようにした方が
TAD>自分のためにもなるしみんながハッピーになれると思います。

その後また、ほとんど同じ発言があったので、以下のように私は書きました。

[記事番号:668より]
>>それでは,又質問したい事柄が思いつきましたら改めて宜しくお願いします。
>
TAD>いや、だから... (^^;;
TAD>私の投稿記事の最後のところは読んでいただけなかったのでしょうか。

べつに質問するのがいけないと言っているのではないですよ。
そこは誤解しないで下さい。


[RE] フォロー記事投稿 記事のキャンセル
From: 三葉工房 <nature-create@amy.hi-ho.ne.jp>
Subject: Re: CGIでのヘッダ出力(回答される方全てへ)
Date: 1999/05/31 17:07:03
Reference: mesh.program/00670

三葉工房です。
お世話になります。

そうですね。

確かに,今回の事に関して, Expiresの動作しないと,あっさり質問
したのは,自分としてもあさはかすぎ失礼過ぎたと思います。

確かに,PERLを学び始めて,半年になりましたので,ある程度のプログラミング
力はついたと思います。ですから,今は,自分の発想である目的のCGIスクリプト
を開発しています。(アクセスカウンタのログプログラムは,人のスクリプトを
参考にせず思いつきで作成した。随分と大雑把な書き方であるが一応動作する。)

それも,TAD様やにあ様を始めとする助けがあったからと感謝しています。

そして,こないだのよくない記事のキャンセルの件なのですが,TAD様の,
"時間を置けばイメージは動作する"と言う記事で,私が間違った事に気付き,
せめて,こんな失礼な投稿をせめてにあ様だけには見せられないと思い,やって
しまいました。

確かに,このような投稿の仕方では,投稿する筋合いは無いと思っています。


ですから,又出会う時は,雑巾から水滴が出無くなるまで自分の頭をしぼりあげた
上で,それでも分からなかったら,投稿しようと思いますが,やはり,回答される
方に印象よくする様に努められないならば,投稿はしないべきだと思います。

ですから,投稿を礼儀作法について,振り返りしっかり反省しようと思います。


[NEW] フォロー記事投稿 記事のキャンセル
From: ジン <jin@zin.net>
Subject: 2つのCGIを一度に起動させるには・・・
Date: 1999/06/02 05:18:36

2つの異なったCGIを一度に起動させるにはどうしたらいいのでしょうか?

具体的にはレスキューさんのアクセス制限自動管理(regist.cgi)とWebFORM(webform.cgi)をメンーバーサイトの
申込みのページでsubmitを一度押す事で一度に起動させたいのです。

<FORM METHOD=POST ACTION="/webform.cgi">
<FORM METHOD=POST ACTION="/regist.cgi">
<input type=hidden name="recipient" value="jin@zin.net">
<input type=hidden name="subject" value="[ORDER]:">
<input type="hidden" name="no_check" value="on">
<input type="hidden" name="space_check" value="on">

以上の様にしてみましたが、1つしか起動出来ません。
1度に2つのCGIを有効にする事は可能でしょうか?
それとも2つのCGIを1つにまとめるしか方法はないのでしょうか?
宜しくお願いします。


[RE] フォロー記事投稿 記事のキャンセル
From: にあ <nir@mvg.biglobe.ne.jp>
Subject: Re: 2つのCGIを一度に起動させるには・・・
Date: 1999/06/02 06:04:59
Reference: mesh.program/00673

6月2日に、ジンさんは書きました。

>2つの異なったCGIを一度に起動させるにはどうしたらいいのでしょうか?

><FORM METHOD=POST ACTION="/webform.cgi">
><FORM METHOD=POST ACTION="/regist.cgi">

>以上の様にしてみましたが、1つしか起動出来ません。

<FORM>を書き並べたり、ACTIONを複数書いてもダメですね。(^^;

>1度に2つのCGIを有効にする事は可能でしょうか?

ここの会議室選択のフレームから部屋へのリンクをたどると、二つのフレームが同時に
更新されると思いますが、これはひとつは通常のリンクでもう一つはjavascriptによる
リンクです。

この様にターゲットフレームが異なる場合には複数のCGIを同時に起動することも可能ですが、
あくまでもユーザエイジェント(ブラウザ)からの別々の要求によって複数のCGIが起動される
事になるので、接続の関係で片方だけ起動できなかったりすることはざらにあるわけです。

>それとも2つのCGIを1つにまとめるしか方法はないのでしょうか?

と言うことで、必ず2つ同時に実行したいのなら、複数のセッションに分けずに、
単独のセッションで処理できるように、CGIを変更するしかないでしょう。


[NEW] フォロー記事投稿 記事のキャンセル
From: 岡安 <boardmaster@po.dream-gogogo.com>
Subject: DreamBBSservice
Date: 1999/09/28 21:29:54

インターネット・プログラム・JAVA関係の電子掲示板をつくりました。
オリジナルなので、アクセスがとても早いです。(CGIを使ってません)(^^)
私が苦労して頑張って作ったものですから、是非書き込んで下さい。
私も知識がありますので、返答できると思います。

是非、是非、是非、私の掲示板も利用して下さい。宜しくお願いします!

http://www.dream-gogogo.com/bbs/


[RE] フォロー記事投稿 記事のキャンセル
From: にあ <nir@mvg.biglobe.ne.jp>
Subject: Re: DreamBBSservice
Date: 1999/09/29 02:15:21
Reference: mesh.program/00676

9月28日に、岡安さんは書きました。

>インターネット・プログラム・JAVA関係の電子掲示板をつくりました。
>オリジナルなので、アクセスがとても早いです。(CGIを使ってません)(^^)

CGIを使っていない、と言うことはJava servletsか何かを使っていると
言うことでしょうか?
# それとも単に読み込み時にはCGIを使っていない、と言うことかしら?

見た所、Macサーヴァ(AppleShareIP)の様ですが、何か特殊な機構とか
入っているのでしょうか?
# なかなか興味津々です。(^^)

Apacheサーヴァでもmod_perl等々を使ってCGIの実行を軽くしようと言う
試みは色々ありますが、一般の商用プロヴァイダーでそう言うのをサポートして
いる所はどのくらいあるのでしょうか?

# そう言うのを売りにしたら、スキルが高い人が集まるような気はしますが
# 腕っこきは、自前のサーヴァを立てる方に流れているのかな?
## うちのサーヴァにもmod_perl入れてみようかと思いつつ、実はサーヴァの
## ヴァージョンすら全然上げてないのは秘密。(爆)


[NEW] フォロー記事投稿 記事のキャンセル
From: SAYKA. <sayka@halcyon.ne.jp>
Subject: NTサーバ用実行形式でファイルを開けない
Date: 1999/10/12 05:51:22

始めまして SAYKAと言う者です。
私のHPのサーバがNTなので、
ここのカウンター「npc.exe」を使わせていただいております。

突然の質問で…読みにくいのを承知で書かせていただきます。

現象
「ファイルを開く」プログラムが動かない。

サーバ
OS :WindowsNT(確か4.0)
IIS:4.0
パールスクリプトが実行できる設定無し

アップロード(自分のマシン)環境
OS :Macintosh(8.6)
ツール:Fetch 3.0.3J2


詳細
自分のHPに掲示板を設置しようと思い、
同じサーバで掲示板(.exe仕様)を立ちあげている知人に頼んで、
自分HP用にカスタマイズしてもらい、
アップロードしてテストしてみたら
「ファイルが開けない」という不具合が起きました。
ここのサーバは、パールスクリプトが動作せず、
Windowsの(C等の言語で)実行形式を作成するか、
拾ってくるしかCGIを実行する手だてがありません。
知人のHP(同一サーバ)では動作しているのに私の方では動作しない…。
ローカルでの動作も確認しています。
そこで、html(要はテキストですね)ファイルを開いて中身を出力する…
というだけのプログラムを作ってみたんですが、
同様に「ファイルが開けない」(正しくは見つからない)
というエラーが出て動作しませんでした。
(パーミッション設定は正常(の様にFetch上からは見える))
(単にHTMLを掃き出したりするだけなら正常に動くんですが…)
知人との違いはWindowsでアップロードしているのか
Macintoshでアップロードしているのか…
の違いくらいしか思い当たりません。
(自分のWindowsはインターネットに繋げられないんです…)

そこで思い出したのがここのカウンタです。
「.exe」なのにもかかわらず、
私の環境でアップロードして全く正常に動作しています。
もしかしてプログラムの作成時に注意しなくてはならない事とかがあるのでしょうか?
特に外部ファイルの読み書きに関して です。


聞きたい事まとめ
☆NTサーバ用の実行形式ファイルをアップロードする時、
 環境が関係あるのか?
☆関係ないとしたらプログラムを作る時に
 注意しなくてはいけない事があるのか?
の2つです。


どなたかお心当たりがありましたら教えていただけないでしょうか?


[RE] フォロー記事投稿 記事のキャンセル
From: TAD <hotani@mua.biglobe.ne.jp>
Subject: Re: NTサーバ用実行形式でファイルを開けない
Date: 1999/10/18 19:26:18
Reference: mesh.program/00679

#ちょっと時間が経ってしまっていますから、すでに解決されているかもしれませんが... (^^;;

10月12日に、SAYKA.さんは書きました。

>始めまして SAYKAと言う者です。

初めまして、こんにちは。

>突然の質問で…読みにくいのを承知で書かせていただきます。

「承知」しているのでしたら、できればわかりやすく書いて欲しいですね。(#^_^#)
'箇条書き'にするだけでももう少しわかりやすくなると思いますよ。

>現象
>「ファイルを開く」プログラムが動かない。

以下の認識であってますか?
 CGIプログラムの中でファイルを操作(読み書き)するプログラムを実行すると
 「ファイルが開けない」(正しくは見つからない)というエラーメッセージが出力される。
  CGIプログラム自体は動作している。
 このCGIはperlスクリプトではなくてWindowsの実行形式(.exe)。

>サーバ
>OS :WindowsNT(確か4.0)
>IIS:4.0
>パールスクリプトが実行できる設定無し
>
>アップロード(自分のマシン)環境
>OS :Macintosh(8.6)
>ツール:Fetch 3.0.3J2
>
>
>詳細
>自分のHPに掲示板を設置しようと思い、
>同じサーバで掲示板(.exe仕様)を立ちあげている知人に頼んで、
>自分HP用にカスタマイズしてもらい、
>アップロードしてテストしてみたら
>「ファイルが開けない」という不具合が起きました。

何のファイルを開こうとして開けないのでしょうか。
その開こうとしているファイルは在るべきディレクトリに在りますか?
(これが一番有力だと思いますが...)
また、そのファイルのパーミッションは?

>そこで、html(要はテキストですね)ファイルを開いて中身を出力する…
>というだけのプログラムを作ってみたんですが、
>同様に「ファイルが開けない」(正しくは見つからない)
>というエラーが出て動作しませんでした。
>(パーミッション設定は正常(の様にFetch上からは見える))
>(単にHTMLを掃き出したりするだけなら正常に動くんですが…)

CGIでファイルを作成するとどのディレクトリに作成されましたか?
それは想定しているディレクトリですか?

>聞きたい事まとめ
>☆NTサーバ用の実行形式ファイルをアップロードする時、
> 環境が関係あるのか?

FTPするときは、サーバ側クライアント側とも環境は関係ありません。
ただ、
 ファイルをそのまま送るか(バイナリモード)
 改行コードを変換するか(テキストモード)
を指定されたモードで送るだけです。
その違いについては要注意です。
Macをお使いの場合は特に改行コードの問題は気をつけないといけないですね。

>☆関係ないとしたらプログラムを作る時に
> 注意しなくてはいけない事があるのか?

ファイルを操作(読み書き)するプログラムを作るにあたっては、という事ですよね。
特定のファイルを読む場合はそのファイルを見つけられるか、パスは通っているかを
気を付けないといけないでしょうね。
取りあえず書き出すだけなら、どこかにファイルは作ってくれるでしょうけど。

#参考になりますか。(^^;;


[RE] フォロー記事投稿 記事のキャンセル
From: SAYKA. <sayka@halcyon.ne.jp>
Subject: Re: NTサーバ用実行形式でファイルを開けない
Date: 1999/10/21 02:24:50
Reference: mesh.program/00680

10月18日に、TADさんは書きました。

コソニチハ SAYKAデス

TADさん、答えていただいてありがとうございます


>'箇条書き'にするだけでももう少しわかりやすくなると思いますよ。

箇条書き…そうですね、列挙しておいた方が判りやすそう…(殴
今度はそうします


>>現象
>>「ファイルを開く」プログラムが動かない。
>以下の認識であってますか?
> CGIプログラムの中でファイルを操作(読み書き)するプログラムを実行すると
> 「ファイルが開けない」(正しくは見つからない)というエラーメッセージが出力される。
>  CGIプログラム自体は動作している。
> このCGIはperlスクリプトではなくてWindowsの実行形式(.exe)。

はい。その通りです。


>>「ファイルが開けない」という不具合が起きました。
>何のファイルを開こうとして開けないのでしょうか。
>その開こうとしているファイルは在るべきディレクトリに在りますか?
>(これが一番有力だと思いますが...)
>また、そのファイルのパーミッションは?

開こうとしているのは「.html」という拡張子のテキストファイルです。
置いてある階層は、実行ファイルと同じ階層で、
プログラム中ではパスの指定がなされていません。
(違う階層だとパス自体を間違ってしまう可能性が出ると思ったので)
パーミッションはFTPツールから見る限りでは、
誰でも読み書きできる様になっています。


>>そこで、html(要はテキストですね)ファイルを開いて中身を出力する…
>>というだけのプログラムを作ってみたんですが、
>>同様に「ファイルが開けない」(正しくは見つからない)
>>というエラーが出て動作しませんでした。
>CGIでファイルを作成するとどのディレクトリに作成されましたか?
>それは想定しているディレクトリですか?

言葉が足りませんでしたね。(^^
中身を出力…って言うのは「ファイルに」ではなく標準出力に、です。
でも、ファイルを作成する、というのはプログラムが参照している
場所を探る為には有効かもしれません。
この方法を試してみたいと思います。


>>☆NTサーバ用の実行形式ファイルをアップロードする時、
>> 環境が関係あるのか?
>FTPするときは、サーバ側クライアント側とも環境は関係ありません。
>ただ、
> ファイルをそのまま送るか(バイナリモード)
> 改行コードを変換するか(テキストモード)
>を指定されたモードで送るだけです。
>その違いについては要注意です。
>Macをお使いの場合は特に改行コードの問題は気をつけないといけないですね。

関係ないんですね。
改行コードで問題が出るのは何処かの書き込みで
幾つか触れているのが有ったと思います。
ハマリやすいんでしょう、私もこの記事を読んでから注意する様にしています。


>>☆関係ないとしたらプログラムを作る時に
>> 注意しなくてはいけない事があるのか?
>ファイルを操作(読み書き)するプログラムを作るにあたっては、という事ですよね。
>特定のファイルを読む場合はそのファイルを見つけられるか、パスは通っているかを
>気を付けないといけないでしょうね。
>取りあえず書き出すだけなら、どこかにファイルは作ってくれるでしょうけど。

私も「パスが通っているのか」というのが引っ掛かっている様に思えます。
実際、エラーを表示する部分もHTMLとして出力しているわけですし…(^^;


>#参考になりますか。(^^;;

ありがとうございます。参考になりました。
取り敢えずプログラムが何処を見ようとしているかが
確かめられるかもしれません。


とても困ったらまた質問させていただくかもしれませんが、
その時はまたよろしくお願いします


-----------------------------------------
sayka@halcyon.ne.jp
SAYKA.


[RE] フォロー記事投稿 記事のキャンセル
From: SAYKA. <sayka@halcyon.ne.jp>
Subject: Re: NTサーバ用実行形式でファイルを開けない
Date: 1999/10/25 22:54:53
Reference: mesh.program/00680

10月18日に、TADさんは書きました。

コソニチハ SAYKAデス

ファイル操作がうまく行かない件、取り敢えず解決されました。
原因は思われていた通り、

「パスが違う」

でした。
オープンする際にファイル名だけ指定すると、何処になるか良く判らないので、
プログラム側に渡されるargvの頭に入っているコマンドラインのパスを使い、
絶対パスでオープンをかけた所、正しく動作しました。
結局これだと、プログラムが何処を参照しようとしているのかが
突き止められませんでしたが、動いたのでよしとします(ぉ
あまり良い方法ではないのかもしれませんが…
恐らく知り合いに作ってもらった伝言板プログラムも、
このパスの問題で動作しなかったんだと思います。

と言うわけでこれからオリジナル伝言板作成に取り掛かります(^^

また何かお知恵を拝借するかもしれませんが、その時はよろしくお願いします。


-----------------------------------------
sayka@halcyon.ne.jp
SAYKA.


[RE] フォロー記事投稿 記事のキャンセル
From: いしどう <ishidou@po.iijnet.or.jp>
Subject: Re: NTサーバ用実行形式でファイルを開けない
Date: 1999/10/28 06:25:40
Reference: mesh.program/00682

自分としては超早起きしてしまった いしどう@自宅 です。

10月25日に、SAYKA.さんは書きました。

>ファイル操作がうまく行かない件、取り敢えず解決されました。
>原因は思われていた通り、
>
>「パスが違う」
>
>でした。
>オープンする際にファイル名だけ指定すると、何処になるか良く判らないので、
>プログラム側に渡されるargvの頭に入っているコマンドラインのパスを使い、
>絶対パスでオープンをかけた所、正しく動作しました。
>結局これだと、プログラムが何処を参照しようとしているのかが
>突き止められませんでしたが、動いたのでよしとします(ぉ

えっと、Cのライブラリの中に、getcwd() とかそんなのありません
でしたっけ。これでカレントディレクトリがどこかわかるような
気がするのですが。

IIS上のCGIのカレントディレクトリは、ここの掲示板(どの会議室か
忘れちゃいました。わたしの名前で検索してみてください)で以前
投稿したことがありますが、割り当てている仮想ディレクトリの
てっぺんのディレクトリになるみたいです。
たとえば、C:\inetpub\scripts\myscripts\cgifile.exe という
ファイル(HTTPでアクセスする時の仮想ディレクトリは、
/scripts/myscripts/cgifile.exe になると思いますが)を CGI
として実行した場合、カレントディレクトリは C:\inetpub\scripts
になるはずです。

>と言うわけでこれからオリジナル伝言板作成に取り掛かります(^^

がんばってください (^o^)/~


[NEW] フォロー記事投稿 記事のキャンセル
From: MADZ <madz@cool.email.ne.jp>
Subject: sendmailルールセット3の質問
Date: 1999/11/12 09:54:09

みなさんはじめまして。松澤と申します。

現在、sendmail.cfをカスタマイズ中ですが、次の簡単なルールセット3がマッ
チしません(8.9.0/Linux 及び8.8.6/HPUX10.20の両方ともNG)。
私の拙い知識では、マッチしてくれても良さそうなのですが、全くマッチしない理由
が解りません。
どなたかお知恵をお貸しください。
やりたいことは、アドレスのサブドメイン"yyy"が一致したら"@"を"&"に変えたいだけ
なのです(a@b.yyy.c ---⇒ a&b.yyy.c)。


sena78 $ 
sena79 $ 
sena710 $ sendmail -Cs3.txt -d21.12 -bt
No local mailer defined
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter  
> 3 a@b.yyy.c rewrite: ruleset 3 input: a @ b . yyy . c -----trying rule: $- @ $- yyy $* ----- rule fails rewrite: ruleset 3 returns: a @ b . yyy . c > > sena711 $ s3.txtの内容は; sena77 $ cat s3.txt V7 DXyyy CO @ % ! & O OperatorChars=.:%@!^/[]+& S3 R$-@$-$X$* $1&$2$X$3

[RE] フォロー記事投稿 記事のキャンセル
From: にあ <nir@mvg.biglobe.ne.jp>
Subject: Re: sendmailルールセット3の質問
Date: 1999/11/12 12:05:29
Reference: mesh.program/00684

11月12日に、MADZさんは書きました。

>現在、sendmail.cfをカスタマイズ中ですが、次の簡単なルールセット3がマッ
>チしません(8.9.0/Linux 及び8.8.6/HPUX10.20の両方ともNG)。

>> 3 a@b.yyy.c
>rewrite: ruleset   3   input: a @ b . yyy . c
>-----trying rule: $- @ $- yyy $*

>s3.txtの内容は;

>R$-@$-$X$*	$1&$2$X$3

'.'もトークンですから、

R$-@$-.$X$*	$1&$2.$X$3

とか、

R$-@$+$X$*	$1&$2$X$3

とかにすればよろしいのでは?


[RE] フォロー記事投稿 記事のキャンセル
From: MADZ <madz@cool.email.ne.jp>
Subject: Re: sendmailルールセット3の質問
Date: 1999/11/12 14:57:47
Reference: mesh.program/00685

11月12日に、にあさんは書きました。

>11月12日に、MADZさんは書きました。
>
>>現在、sendmail.cfをカスタマイズ中ですが、次の簡単なルールセット3がマッ
>>チしません(8.9.0/Linux 及び8.8.6/HPUX10.20の両方ともNG)。
>
>>> 3 a@b.yyy.c
>>rewrite: ruleset   3   input: a @ b . yyy . c
>>-----trying rule: $- @ $- yyy $*
>
>>s3.txtの内容は;
>
>>R$-@$-$X$*	$1&$2$X$3
>
>'.'もトークンですから、
>
>R$-@$-.$X$*	$1&$2.$X$3
>
>とか、
>
>R$-@$+$X$*	$1&$2$X$3
>
>とかにすればよろしいのでは?

 にあさん、ありがとうございました。全くそのとおりですね。助かりました。
 にあさんには、この会議室を自社のイントラネット上に立ち上げるときも大変お世話になっておりました。今後ともお知恵を拝借させていただく事があるかと思いますがよろしくお願い致します。


[NEW] フォロー記事投稿 記事のキャンセル
From: SAYKA. <sayka@halcyon.ne.jp>
Subject: リンクで呼んだREQUEST_METHODをPOSTにするには?
Date: 1999/12/11 03:21:51

こんにちはSAYKAです。
前回の問題の後から、ちまちまと伝言板作成を進めていますが、
ちょっと判らない事が出たので質問させていただきにまいりました。

<A HREF="xxx.exe?">
などとして呼び出したやつの「REQUEST_METHOD」を調べると
「GET」になっているのですが、
これを「POST」で送る方法はありませんでしょうか?

FORMで見えるsubmitボタンだったら簡単なんですが
いかんせんボタンなんで…(^^;

解決策が有るようでしたお願いします
--------------------
SAYKA.
sayka@halcyon.ne.jp


[RE] フォロー記事投稿 記事のキャンセル
From: NK <beatbase@mxb.mesh.ne.jp>
Subject: Re: リンクで呼んだREQUEST_METHODをPOSTにするには?
Date: 1999/12/11 16:20:46
Reference: mesh.program/00687

SAYKAさんこんにちは!

<INPUT TYPE="image" SRC="image.gif" name="xxx">

というのはどうでしょう。
 ボタンのかわりにイメージが表示されます。
押すと、その座標も送られてきますが無視すれば
良いと思います。

それでは。


[NEW] フォロー記事投稿 記事のキャンセル
From: hide <akm@nasuinfo.or.jp>
Subject: isdnについて
Date: 1999/12/15 22:49:47

isdnにしたのにアナログよりつながるのがおそい!
なぜ?


[RE] フォロー記事投稿 記事のキャンセル
From: にあ <nir@mvg.biglobe.ne.jp>
Subject: Re: CGIのパラメータ区切りに';'を使う事
Date: 1999/12/24 21:50:02

Reference: http://www8.big.or.jp/~yasuf/proj/FAQ/forum/talk/00041.html

# やっと仕事がひとやま越えたので、スクリプト書き、ペーヂ書きをぼちぼちとやっています。(^^;
# 違う会議室から引っ張ってきた話題です。(^^;

>11月19日に、Yasu.Fさんは書きました。
>
>>せっかくなのでやってみました(^^;;  といっても数文字追加しただけですが。
>>
>>  npc.cgi?N=123;DI=1&INC=-1
>>
>>とかは利くみたいです。たぶん、これだけでいいんじゃないかな。見落しがあったら
>>失礼。

チョット困っているのが、QUERY_STRING以外で渡された';'の扱いをどうしようか? と
言うことです。

例えばPOSTのデフォルトエンコーディングは"application/x-www-form-urlencoded"で、
この場合は英数字以外は皆、"%XX"形式にエンコーディングされていますから、';'は
現れないはずなので、';'に'&'と同じ意味を与えてしまってもよさそうな気もしますが、
逆にもともとPOSTには、"&amp;"問題は存在しないわけで、';'に特別な意味を与えるのも
変ですし...

>># うぇぶ会議室のほうは…まだ見てません(^^;

と、言う事で、試しに、『npc.cgi』と『うぇぶ会議室』の両方で、';'をパラメータ区切りに
使えるようにしてみましたが、今のところ、';'が区切り記号と思われるのは、QUERY_STRINGの
中だけにしてあります。

どっちにした方が良いですかねぇ > ALL


<DIV CLASS="余談">
### 会議室を跨いだ Followup-To: のイメーヂの試験も兼ねていたりするんですが、
### 最初に「〜は書きました」を挿入するの忘れてた。再編集モードだとCookieが利かないし... (^^;
</DIV>


[RE] フォロー記事投稿 記事のキャンセル
From: Yasu.F <yasuf@big.or.jp>
Subject: Re: CGIのパラメータ区切りに';'を使う事
Date: 1999/12/26 02:59:58
Reference: mesh.program/00690

なんか、呼び出されてしまった…(^^;;

12月24日に、にあさんは書きました。

>チョット困っているのが、QUERY_STRING以外で渡された';'の扱いをどうしようか? と
>言うことです。
>
>例えばPOSTのデフォルトエンコーディングは"application/x-www-form-urlencoded"で、
>この場合は英数字以外は皆、"%XX"形式にエンコーディングされていますから、';'は
>現れないはずなので、';'に'&'と同じ意味を与えてしまってもよさそうな気もしますが、
>逆にもともとPOSTには、"&amp;"問題は存在しないわけで、';'に特別な意味を与えるのも
>変ですし...

わたしは逆に、「同じquery stringをrequest lineに書くとうまくいくのに、entity bodyとして
送るとうまくいかない」というのは、たとえばuser agentを実装する側にとって混乱の元に
ならないかなぁと思ったりもするのですが、どうなんでしょうね。

# そもそもuser agentが & の代わりに ; を生成するというのはやりすぎ?
# そんなことはないと思うんだけど…。

><DIV CLASS="余談">
>### 会議室を跨いだ Followup-To: のイメーヂの試験も兼ねていたりするんですが、
>### 最初に「〜は書きました」を挿入するの忘れてた。再編集モードだとCookieが利かないし... (^^;
></DIV>

ちょっとびっくりしました:)  思ったより簡単に実現しそうですね。


[RE] フォロー記事投稿 記事のキャンセル
From: にあ <nir@mvg.biglobe.ne.jp>
Subject: Re: CGIのパラメータ区切りに';'を使う事
Date: 1999/12/26 13:42:39
Reference: mesh.program/00691

12月26日に、Yasu.Fさんは書きました。

>12月24日に、にあは書きました。
>
>>逆にもともとPOSTには、"&amp;"問題は存在しないわけで、';'に特別な意味を与えるのも
>>変ですし...
>
>わたしは逆に、「同じquery stringをrequest lineに書くとうまくいくのに、entity bodyとして
>送るとうまくいかない」というのは、たとえばuser agentを実装する側にとって混乱の元に
>ならないかなぁと思ったりもするのですが、どうなんでしょうね。

うーん、確かにwww-form-urlencodedされた文字列なら両者に共通に使えますが、そこでは
'&'や'='は特別な意味を与えられているし、逆に';'は書くことが出来ないわけです。

しかし、request lineではwww-form-urlencodedを使わねばならない、と言う規約はなく、
URLの一部として扱われるから、単にURL中に書けない文字だけがurlencodeされれば良いので、
';'が使えるわけですよね。

HTML中のURL中に "...?n+=i;&amp;len(p=ptr);" と言う所があったとしても、それは
単に "n+=i;&len(p=ptr);" と言う文字列を渡したいだけで、その意味として、
項目"n "に値"i;"を、項目"len(p"に値"ptr);"を入れる、と言う意味が強制されている
わけでは無いですし、"n+=i;&len(p=ptr);"と言う文字列を渡すのに、必ず、
"n%2B%3Di%26len%28p%3Dptr%29"と書かなくてはいけないことも無いですよね。

また、FORMのエンコードに、と言うより、entity bodyのエンコードにwww-form-urlencoded以外
(multipartとか)のエンコードを使っても、別に構わないわけですよね。
# うぇぶ会議室的には、まだ実装されていないから大いに構いますが...(^^;

># そもそもuser agentが & の代わりに ; を生成するというのはやりすぎ?

www-form-urlencodedを使っているんなら、';'は書けないですし、そうじゃないなら
'&'は'&'として渡してほしいです。

ただし、ここからは実装上の話になるわけですが、request lineでも(www-form-urlencoded)な
entity bodyでも『区切り記号に'&'ないし';'を使い、項目と値の区切りに'='を使い、
文字はurlencodeされている可能性がある』という、緩いwww-form-urlencoded形式を入力に
仮定することは安全な選択かな、と言う気はします。

# まあ、どうせ、正しいwww-form-urlencoded中に';'は来ないので、あくまでもアルゴリズム上の
# 正しさ、と言うか、意味上はどうあるべきなのか、と言うことだけに尽きるのですが。(^^;
## あ、へぼなUserAgentからのfool proofをとるためにはどちらが良いのか、というのもあるな。


>ちょっとびっくりしました:)  思ったより簡単に実現しそうですね。

# この頃サボって顔出していなかったので、少し強力な召喚呪文を唱える必要があるかしらと...(^^;;;

実は、プレヴューモードのソース表示を貼り付けて、ちょっと編集しただけなので、大して
手間はかからなかったのですが、実際に実装する場合には、Followup-To:先のCGIの
URLと部屋名を知らないと指定できないので、その辺をどうすれば良いのかがポイントですね。

今のユーザカスタマイズ設定の転送みたいに直書きさせたのでは使いづらいし、第一、
間違いが多くなって、フォローアップ先が見つからないことが多くなってしまうでしょうから、
複数会議室間の有機的リンク機構が働くようになった後の話かもしれませんね。(^^;
# って、いつの事やら。(^^;


[NEW] フォロー記事投稿 記事のキャンセル
From: あら <ara@ask.ne.jp>
Subject: javascript(onClick)
Date: 2000/04/06 16:55:22

こんにちは。
数年前にうぇぶ会議室の設置に質問をさせていただいた以来です。(^^;
おかげさまで好評稼働中です。

さて、今回はjavascriptに関して教えてください。
画像の一部をクリックして小さいウインドウを開きたいのですがIE(5)だと開くのに
Netscape(4.6,4.7)だと何も起こりません。
Netscapeではareaタグの中にonClickと記述しても無効なのでしょうか?

--------------------------------------------------------------------
<html>
<head>
<title>index</title>

<SCRIPT LANGUAGE="JavaScript">

<!--
function subWin1(){
         window.open("select.htm","window2","toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,width=220,height=180" );
        }
// -->

</SCRIPT>

</head>

<body bgcolor="white">
<center><br>
<img border="0" frame src="img/top.jpg" name="main" noresize usemap="#top" width="571" height="451"><br>
	<map name="top">
   #↓ onClickがNetscapeで動作しません
    <area shape="rect" coords="13, 4, 72, 63" onClick="subWin1()">
    <area shape="rect" coords="493, 2, 555, 63" href="a.htm">
    <area shape="rect" coords="180, 238, 377, 260" href="b.htm">
    </map>
<hr>
</center>
</body>
</html>
--------------------------------------------------------------------

長文失礼しました。


[RE] フォロー記事投稿 記事のキャンセル
From: いしどう <ishidou@po.iijnet.or.jp>
Subject: Re: javascript(onClick)
Date: 2000/04/10 17:38:34
Reference: mesh.program/00694

いしどう@自宅 です。

4月6日に、あらさんは書きました。

>さて、今回はjavascriptに関して教えてください。
>画像の一部をクリックして小さいウインドウを開きたいのですがIE(5)だと開くのに
>Netscape(4.6,4.7)だと何も起こりません。
>Netscapeではareaタグの中にonClickと記述しても無効なのでしょうか?

Netscape の DevEdge Online 中の HTML のドキュメントを見ると、AREAタグには onClick はないようです。

ですので、Netscape Navigator ではサポートしてないんでしょう。たぶん。


[RE] フォロー記事投稿 記事のキャンセル
From: あら <ara@ask.ne.jp>
Subject: Re: javascript(onClick)
Date: 2000/04/11 20:38:52
Reference: mesh.program/00695

あらです。

いしどうさんありがとうございました。

>ですので、Netscape Navigator ではサポートしてないんでしょう。たぶん。

なるほどNetscapeではサポートしていないんですね。
javascriptだけじゃなくてもブラウザ依存ってやっかいですね。。。

対応としてはjavascriptを使用せずに他の部分と同様通常のリンクに変更しました。
どうもありがとうございました。m(_ _)m


[RE] フォロー記事投稿 記事のキャンセル
From: Kaz <kaz-h@ra2.so-net.ne.jp>
Subject: Re: javascript(onClick)
Date: 2000/06/15 11:34:45
Reference: mesh.program/00696

4月11日に、あらさんは書きました。

>なるほどNetscapeではサポートしていないんですね。
>javascriptだけじゃなくてもブラウザ依存ってやっかいですね。。。
>
>対応としてはjavascriptを使用せずに他の部分と同様通常のリンクに変更しました。
>どうもありがとうございました。m(_ _)m

 AREAのなかに HREF="javascript:subWin1()" と書くのはどうでしょう。
 試してから書けばよかったですが・・・
 いずれにしろJAVASCRIPTは、やっかいですね。(^^;;


[RE] フォロー記事投稿 記事のキャンセル
From: Kaz <kaz-h@ra2.so-net.ne.jp>
Subject: Re: javascript(onClick)
Date: 2000/06/15 11:43:59
Reference: mesh.program/00700

 自己レスです。

> AREAのなかに HREF="javascript:subWin1()" と書くのはどうでしょう。
> 試してから書けばよかったですが・・・
> いずれにしろJAVASCRIPTは、やっかいですね。(^^;;

 ネスケ4.73とIE3.02では、確認できました。
 IE4以上でダメだったりして・・・(^^;;


[RE] フォロー記事投稿 記事のキャンセル
From: あら <ara@ask.ne.jp>
Subject: Re: javascript(onClick)
Date: 2000/06/15 14:51:10
Reference: mesh.program/00701

6月15日に、Kazさんは書きました。

こんにちは。

> ネスケ4.73とIE3.02では、確認できました。
> IE4以上でダメだったりして・・・(^^;;

すばらしい!
私の方で

 ネスケ4.7, 6 Preview Release 1
 IE5

でも正常に動作しました。
ありがとうございました。
でわでわ〜。


[NEW] フォロー記事投稿 記事のキャンセル
From: くろみつ <kuromitu@mxb.maple.or.jp>
Subject: 特殊文字の抜き出しについて
Date: 2000/06/06 17:49:29

はじめまして、くろみつと申します。
検索エンジン(NinjaSearch)のスクリプトを見て、にあさんのHPに訪れました。
スクリプトの中の特殊文字のエスケープ処理をにあさんが考えられたという事なので、
この掲示板に書き込みします。(誰でもいいから教えてほしいんです。)
掲示板のCGIを作成中ですが、imode,PC,EZでも共通に見れるようにしているのですが、
imodeの絵文字が、PCでは文字化けですんでいるのですが、EZになると、コンパイルエラーが出るのです。
そこで、EZに表示する時のみ絵文字(SJIS:63647〜63919)を除いて表示したいのです。
だれか、特定の文字コードの文字だけを取り除く方法をお教え願えないでしょうか?
お願い致します。


[RE] フォロー記事投稿 記事のキャンセル
From: にあ <nir@mvg.biglobe.ne.jp>
Subject: Re: 特殊文字の抜き出しについて
Date: 2000/06/08 01:12:29
Reference: mesh.program/00697

6月6日に、くろみつさんは書きました。

>掲示板のCGIを作成中ですが、imode,PC,EZでも共通に見れるようにしているのですが、
>imodeの絵文字が、PCでは文字化けですんでいるのですが、EZになると、コンパイルエラーが出るのです。
>そこで、EZに表示する時のみ絵文字(SJIS:63647〜63919)を除いて表示したいのです。
>だれか、特定の文字コードの文字だけを取り除く方法をお教え願えないでしょうか?

とりあえずEZとは何の事だか分からないんですが、(^^;; ドコモの絵文字リストを見ると、
ずいぶん飛び飛びにコードが割り当てられているんですね。

コードの範囲は、

No.001 0xF89F (63647)
 .
 .
No.094 0xF8FC (63740)
No.095 0xF940 (63808)
 .
 .
No.104 0xF949 (63817)
No.105 0xF972 (63858)
 .
 .
No.117 0xF97E (63870)
No.118 0xF980 (63872)
 .
 .
No.134 0xF990 (63888)
No.135 0xF9B0 (63920)
No.136 0xF991 (63889)
 .
 .
No.166 0xF9AF (63919)

ですから、正規表現で書くと、

$re_emoji = '\xF8[\x9F-\xFC]|\xF9[\x40-\x49\x72-\x7E\x80-\xB0]';

となりますね。

簡便にはこれらの文字が現われたら、ゲタ(〓)か何かに差し替えてしまえば良いので、

$str =~ s/$re_emoji/〓/g;	# 簡単な式

で出来ますが、これだと偶々隣り合った漢字の[2バイト目1バイト目]の並びが
絵文字に一致してしまうと、そこまで変換してしまいます。

例えば、

$str = "半角カナ(\xB6\xC5)やAlphabetが有っても"
     . "絵文字(\xF9\x75\xF8\xA2)は除けるけど、"
     . "需要とかも化けてしまうかも?";

と言う文字列が有ると、これが、

「半角カナ(カナ)やAlphabetが有っても絵文字(〓〓)は除けるけど、氏vとかも化けてしまうかも?」

の様になってしまいます。

perlのヴァージョン5を使っているなら、上の簡単な式の代わりに、

$re_ascii     = '[\x00-\x7F]';
$re_sjis_c    = '[\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC]';
$re_sjis_kana = '[\xA1-\xDF]';
$re_emoji     = '\xF8[\x9F-\xFC]|\xF9[\x40-\x49\x72-\x7E\x80-\xB0]';

$str =~ s/\G((?:$re_ascii|$re_sjis_c|$re_sjis_kana)*?)(?:$re_emoji)/$1〓/g;	# 複雑な式

とすれば、正しく、

「半角カナ(カナ)やAlphabetが有っても絵文字(〓〓)は除けるけど、需要とかも化けてしまうかも?」

となります。

# perl4だと、前回の一致位置のしっぽ(\G)も最短一致(*?)も無いので、
# ループを回さなくてはいけないでしょうから面倒そう。取りあえずperl4版はパスです。(^^;


[RE] フォロー記事投稿 記事のキャンセル
From: くろみつ <kuromitu@mxb.maple.or.jp>
Subject: Re: 特殊文字の抜き出しについて
Date: 2000/06/09 15:12:09
Reference: mesh.program/00698

にあさん、お忙しい中、早速の返信ありがとうございました。
詳しい説明なので、よくわかります。

6月8日に、にあさんは書きました。

>とりあえずEZとは何の事だか分からないんですが、(^^;; ドコモの絵文字リストを見ると、
>ずいぶん飛び飛びにコードが割り当てられているんですね。
EZというのは、DDIセルラーやIDOなどで使っているEZWebとEZAccessのことです。
PCのHTML,imodeのC-HTMLに対して、EZはHDMLという言語(正確にはWAP上で動くらしい...詳しい事はよくわかりません。)を使っていて、これがちょっとやっかいなんです。

>perlのヴァージョン5を使っているなら、上の簡単な式の代わりに、
>
>$re_ascii     = '[\x00-\x7F]';
>$re_sjis_c    = '[\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC]';
>$re_sjis_kana = '[\xA1-\xDF]';
>$re_emoji     = '\xF8[\x9F-\xFC]|\xF9[\x40-\x49\x72-\x7E\x80-\xB0]';
>
>$str =~ s/\G((?:$re_ascii|$re_sjis_c|$re_sjis_kana)*?)(?:$re_emoji)/$1〓/g;	# 複雑な式
>
>とすれば、正しく、
>
>「半角カナ(カナ)やAlphabetが有っても絵文字(〓〓)は除けるけど、需要とかも化けてしまうかも?」
>
>となります。
>
># perl4だと、前回の一致位置のしっぽ(\G)も最短一致(*?)も無いので、
># ループを回さなくてはいけないでしょうから面倒そう。取りあえずperl4版はパスです。(^^;
使っているperlは5です。(よかった。すみません、最初に書くのを忘れていました。)

さっそく、使ってみます。


[NEW] フォロー記事投稿 記事のキャンセル
From: Kaz <kaz-h@ra2.so-net.ne.jp>
Subject: Cookieを覚えない
Date: 2000/06/22 10:05:35

 Kazです。こんにちは。

 私のこういうチャットの部屋で、問題が起こっております。
 http://ya.sakuraweb.com/%7Ekaz/gchat/

 名前やメールアドレス・色などの入室情報をCookieで伝えていきます。
 まずは、フレームをprintするCGIが起動されて、各フレームでは、
発言欄を表示するCGIと過去発言を表示するCGIが起動されます。

 どうも、この発言欄を表示するCGIに全てのCookie情報が伝えられていない
ようなんです。
 特にWin98でIE5を使っているひとに頻発しています。

 入室のCGIから伝えられたCookie情報をブラウザが認識する前に
発言欄を表示されるCGIが起動されてしまい、Cookie情報が伝えられないのかなぁと
考えたのですが、そんなことになるのでしょうか??
 どぉーも、うまいデバッグ方法が見つからず困っています。
 何よりうちのマシンでは、うまくいってしまうのが、ネックです。(^^;;

 上記のような現象が起こり得るなら、画面構成を替える等の処置で
とりあえず、逃げたいと思いますが。。。

 何か思い当たる節がありましたら、教えて下さい。
 よろしくお願いします。


[RE] フォロー記事投稿 記事のキャンセル
From: Kaz <kaz-h@ra2.so-net.ne.jp>
Subject: Re: Cookieを覚えない
Date: 2000/06/22 11:14:49
Reference: mesh.program/00703

6月22日に、私が書きました。

> 名前やメールアドレス・色などの入室情報をCookieで伝えていきます。
> まずは、フレームをprintするCGIが起動されて、各フレームでは、
>発言欄を表示するCGIと過去発言を表示するCGIが起動されます。

 勘違いです。cookieで伝えているのではなく、パラメータでした。
 でもそれが正しく伝えられないとは、どういうことなのでしょう。

 Cookieに覚える覚えないというのもパラメータで伝えられるので、
これが正しく伝えられず、すっかり入室情報がクリアされてしまうひともいるようです。
 (入室してから入室情報の一部を変更することができるので、
この画面でも、Set-Cookieやっています。)

 IEの仕業でしょうか?やはり。


[NEW] フォロー記事投稿 記事のキャンセル
From: SAYKA. <sayka@halcyon.ne.jp>
Subject: imgタグから呼んでるCGIの仕組みは?
Date: 2000/10/03 09:03:14

こんにちは。
以前伝言板作成で四苦八苦していたSAYKAです。

今度はexeのカウンターを作ろうと思っているのですが、
にあさんの開発されたnpcのカウンタはCGIの結果が画像ですよね?
これはどういう原理なんでしょうか?
動作からすると、1つの画像として書き出しているようですが…

------------------------------
SAYKA.
sayka@halcyon.ne.jp


[RE] フォロー記事投稿 記事のキャンセル
From: にあ <nir@mvg.biglobe.ne.jp>
Subject: Re: imgタグから呼んでるCGIの仕組みは?
Date: 2000/10/07 20:41:30
Reference: mesh.program/00705

にあです。
皆さんお久しぶりです。(って、ぉぃ)

10月3日に、SAYKA.さんは書きました。

>にあさんの開発されたnpcのカウンタはCGIの結果が画像ですよね?
>これはどういう原理なんでしょうか?
>動作からすると、1つの画像として書き出しているようですが…

いや、単純にCGIでGIF画像を出力しているだけです。
言い換えれば、CGIでContent-Typeがimage/gifなデータ列を出力している、
と言うことです。

# 昔は自作の高速LZW圧縮コードが売りだったりもしたのですが、
# 今はUnisysのLZW特許の関係で無圧縮モードしかサポートしなくなって
# しまったので、単にGIFのフォーマットを出力しているだけの様な
# つまらないコードになってしまいました。 (^^;;


[RE] フォロー記事投稿 記事のキャンセル
From: SAYKA. <sayka@halcyon.ne.jp>
Subject: Re: imgタグから呼んでるCGIの仕組みは?
Date: 2000/10/08 22:54:22
Reference: mesh.program/00706

10月7日に、にあさんは書きました。

>>にあさんの開発されたnpcのカウンタはCGIの結果が画像ですよね?
>>動作からすると、1つの画像として書き出しているようですが…
>いや、単純にCGIでGIF画像を出力しているだけです。
>言い換えれば、CGIでContent-Typeがimage/gifなデータ列を出力している、

という事はGIFを読み込んで
printf("Content-Type: image/gif\n\n");
ってやってstdoutにたれ流しっていう安直なやり方なんですか?(^^;
この時必要な個数分だけgifデータを読んで出力すれば(隣の座標に)繋がってでるって事でしょうか?


>今はUnisysのLZW特許の関係で無圧縮モードしかサポートしなくなって
>しまったので、単にGIFのフォーマットを出力しているだけの様な
>つまらないコードになってしまいました。 (^^;;

PNGとか言うが進出してきてますが、なんかまだぱっとしない感じします。個人的に(^^;

----------------------------------------
SAYKA.
sayka@halcyon.ne.jp


[RE] フォロー記事投稿 記事のキャンセル
From: にあ <nir@mvg.biglobe.ne.jp>
Subject: Re: imgタグから呼んでるCGIの仕組みは?
Date: 2000/10/08 23:23:42
Reference: mesh.program/00707

10月8日に、SAYKA.さんは書きました。

>10月7日に、にあさんは書きました。
>
>>いや、単純にCGIでGIF画像を出力しているだけです。
>
>という事はGIFを読み込んで
>printf("Content-Type: image/gif\n\n");
>ってやってstdoutにたれ流しっていう安直なやり方なんですか?(^^;

だと簡単で良いのですが、複数桁繋げて一つの画像にするには、一度繋がった数字画像を
作っておき、それをGIFのフォーマットにしたがって出力する必要があります。

>この時必要な個数分だけgifデータを読んで出力すれば(隣の座標に)繋がってでるって事でしょうか?

ということで、これでは上手くいきません。
もっとも、ひとつながりの画像にしないで並べる方法なら、GIFデータを読んで書く、
と言った方法も使えます。もちろん、その場合でも、単に続けて出力しても
並んでは表示してくれませんから、フォーマットにしたがって再結合する必要は
ありますが、LZWの伸張、圧縮を行う必要がありませんから、Unisysの特許に
抵触せず圧縮GIF画像を扱うことが出来ます。
# 世の中にある、perlを使ったカウンタは大抵このタイプじゃないかしら?

>PNGとか言うが進出してきてますが、なんかまだぱっとしない感じします。個人的に(^^;

PNGは主要ブラウザがサポートするようになったので、もう十分使える段階に
入っていると思います。ただ、PNG単体ではアニメーションが出来ないんですよ。

現在、Web上の画像では、フルカラーの物は大抵JPEGになっていますから、
GIFが使われているのは、ごく小さいアイコンかアニメーションとなってしまって、
なかなかPNGで置き換わることが進みませんね。アニメーション対応のMNGが
広範囲に使われるようになれば事情は変わるとは思うのですが。

現在、GIFの代わりにPNGを使うのは、Unisysに対する抗議の意味が強くて、
PNG自体の魅力で使うのは、ごく限られた範囲内でしか無いですから。
# たとえば、24bitsフルカラーをlossless圧縮で置きたいと言う、
# どちらかと言うとマニアックな趣味とか。(^^;;


[RE] フォロー記事投稿 記事のキャンセル
From: SAYKA. <sayka@halcyon.ne.jp>
Subject: Re: imgタグから呼んでるCGIの仕組みは?
Date: 2000/10/09 22:23:33
Reference: mesh.program/00708

10月8日に、にあさんは書きました。

>>>いや、単純にCGIでGIF画像を出力しているだけです。
>>という事はGIFを読み込んで
>>printf("Content-Type: image/gif\n\n");
>>ってやってstdoutにたれ流しっていう安直なやり方なんですか?(^^;
>だと簡単で良いのですが、複数桁繋げて一つの画像にするには、一度繋がった数字画像を
>作っておき、それをGIFのフォーマットにしたがって出力する必要があります。

やはり、世の中そんなに甘くないですか(笑
有りがとうございます。
GIFフォーマットの事を調べてやってみます…いや、npcのソースをもっとよく見てみれば判るかも(^^;
そういう意味では縦並びの漢数字カウンタも作ろうと思えばできそうですね


>>PNGとか言うが進出してきてますが、なんかまだぱっとしない感じします。個人的に(^^;
>PNGは主要ブラウザがサポートするようになったので、もう十分使える段階に
>入っていると思います。ただ、PNG単体ではアニメーションが出来ないんですよ。

あ、あれアニメーションができないんですか(^^;
じゃぁ今のところ強みはフルカラーでマスクができるってことくらいですかね

#私としてはそれでも充分ですが…重い(^^;

----------------------------------------
SAYKA.
sayka@halcyon.ne.jp


[NEW] フォロー記事投稿 記事のキャンセル
From: dio <dio_@mail.infoseek.co.jp>
Subject: データを受け取らないでCGIを起動したときの判別方法
Date: 2000/11/09 22:59:08

C言語で、CGIを作り始めたのですが、

if( getenv( "QUERY_STRING" ) != NULL ){
    //GETでデータを渡されたとき
    func1();
}else if( getenv( "CONTENT_LENGTH" ) != NULL ){
    //POSTでデータを渡されたとき
    func2();
}else{
    //データを渡さず、普通に起動したとき
    func3();
}

という感じで、場合分けして実行したかったのですが、
普通にCGIを実行すると、REQUEST_METHODはGETで、
QUERY_STRINGに、なんだかわからない、文字ではないデータが入ってます
これはどういうデータなんでしょう?
そして、CGIを普通に起動した時を見分ける方法ってあるのでしょうか?


[RE] フォロー記事投稿 記事のキャンセル
From: Yasu.F <yasuf@bsdclub.org>
Subject: Re: データを受け取らないでCGIを起動したときの判別方法
Date: 2000/11/10 12:44:45
Reference: mesh.program/00710

11月9日に、dioさんは書きました。

>if( getenv( "QUERY_STRING" ) != NULL ){
>    //GETでデータを渡されたとき
>    func1();
>}else if( getenv( "CONTENT_LENGTH" ) != NULL ){
>    //POSTでデータを渡されたとき
>    func2();
>}else{
>    //データを渡さず、普通に起動したとき
>    func3();
>}
>
>という感じで、場合分けして実行したかったのですが、
>普通にCGIを実行すると、REQUEST_METHODはGETで、

「普通に」とは?

>QUERY_STRINGに、なんだかわからない、文字ではないデータが入ってます

上のコードから見ると、「普通に起動したとき」には
getenv("QUERY_STRING") は NULL を返すはずですが、そこから
無理矢理読み込もうとしているのではないですよね?


[RE] フォロー記事投稿 記事のキャンセル
From: dio <dio_@mail.infoseek.co.jp>
Subject: Re: データを受け取らないでCGIを起動したときの判別方法
Date: 2000/11/10 15:55:41
Reference: mesh.program/00711

11月10日に、Yasu.Fさんは書きました。

>>普通にCGIを実行すると、REQUEST_METHODはGETで、
>「普通に」とは?
えーと、
http://〜〜〜〜〜/hogehoge.cgi
を、ブラウザで見たときというか・・・・
こういう場合、なんて言うのがいいんでしょうね?


>getenv("QUERY_STRING") は NULL を返すはずですが、そこから
>無理矢理読み込もうとしているのではないですよね?
getenv("QUERY_STRING") は NULL を返すハズなんですが、
NULLを返さず、func1に飛んでしまうという状況です。


以上51記事(キャンセル分を含む)


・ ホームペーヂに戻る
nir@mvg.biglobe.ne.jp
Last Update: 7 March 1998