68user's page 掲示板

Prev< No. 118〜126> Next  [最新発言に戻る] [過去ログ一覧]
No. 118 # mm 1999/02/03 (水) 02:15
>68user さん
>はやいとこ改造せねばいかんなと思いつつ…めんどくさいし〜。
ワタシも、flockに書き換えるつもりで、ロック部分をコメントアウトしたんですが、
未だにそのままになってます…(^o^;ゞ

> foreach $i (LIST)
>でも $i はローカル変数扱いなんですねぇ。知らなかったっす。
こちらは、C++の場合もループ内ローカルだと思い込んでて、
perlの場合と並べて書いてたんですが、調べてみると違ってたので、
ちょっとヘンな文章になってしまいました(^^;


>M.Masuda さん
>他のスクリプトで、ロックファイルのタイムスタンプを調べて、
>10分以上前なら削除、てな方法がありましたよ。
とほほさんのコードも
    ($mtime) = (stat("lock/wwwboard.loc"))[9];
    if ($mtime < time() - 600) {
        rmdir("lock/wwwboard.loc");
    }
となっていて、10分以上前なら削除されるハズなんだけど、
利いてないのかな?

>本来ちゃんとした手続をすればある程度、エラーを減らしたり出来るらしいですが
>、私もそこまで出来てませんし今のところクライアントにはわざといろいろと難し
>い説明で逃げ回ってます。(^^ゞ
ウチの場合は、手元にNN4とIE3しかないってのが一番問題になるようです。
でも、NN2,3やIE2,4があっても、やっぱり面倒そうではありますね(^^;

>#でもDHTMLのスタイルシートやレイヤーの方がもっとたちが悪いですよ(互換性で)
そのヘンは、もはや別物って気がします(^o^;ゞ
もっとも、ウチでも簡単なスタイルシートは使ってますが…

>何か執筆していらっしゃるんですか?
ん? 「第何版」ってのは、単なる冗談です(^o^;ゞ
ワタシは、単なるパソコン好きの素人にすぎません(^^;


>68user さん
># 引用の色変えはmmさんとこのBBSのマネ(^^;
ウチのも、他所のマネです(^^;;;
でも、おかげで、空行を入れずに済みます。

>あとは何かありますかねぇ…。タグの自動補完とか二度書き禁止とか…
>うーん、いまいちそそる機能がない。
タグの補完は、前にちょっと考えたことがありますが、面倒ですよね。
<TABLE>タグの<TR>とかが入れ子にならないし、引用符の中で ">" を使われると、
正規表現でのタグの切り出しができないし…

No. 119 # 68user 1999/02/04 (木) 05:22
> <TABLE>タグの<TR>とかが入れ子にならないし
おろ、TABLEまで何とかしようという魂胆で? 志が高いですね(笑)

僕が昔に書いたのは http://X68000.startshop.co.jp/~68user/tmp/tag.txt
です。今考えると、element(って言うのかな?)とか全く考えて
ないんで、ヘボヘボですね。

うーん、でも真面目に実装したら、
    TABLE-TAG := <TABLE> TR-TAG </TABLE>
    TR-TAG := <TR> [TD-TAG] [</TR>]
    TD-TAG := <TD> <chars> [</TD>]
なんてBNF式に定義して、それに基づいてparseさせなきゃダメなのかしら。

# 昔 yaccとlexで組もうとした事があるけど、エラーから回復させる事が
# できずに(=文法エラーにぶつかると止まってしまう)挫折しました(^^;

No. 120 # M.Masuda 1999/02/04 (木) 14:26
ちょっと質問!です。
すいませんシェルコマンドのmailって有りますよね。
#みんな使ってます?

私が聞いたmailコマンドの使い方ですが、
=================
mail "送信先のメールアドレス" <ENTER>
Subject: "メールタイトル" <ENTER>
メール本文、etc.
最後に"."ピリオドのみで終了。
=================
ここまでを、聞きました。
#OSによっては違うかもしれないけど。

http://X68000.startshop.co.jp/~68user/unix/prgmemo.html#sendmail
を見ると、sendmailとほぼ同じ操作ですよね。
シェルの場合、sendmailとmailコマンドの違いは、自動的にSubject:等
の文字がエコーされる事ぐらいなのですか?

CGIで直接メールを出す場合、レスキューさんのWebFromを参考にすると
sendmailに直接書込んでいますが、CGIで直接sendmailに書込みした場合
のエラーメッセージを取得したい時は、sendmail実行時にどんなオプシ
ョンを付ければいいんでしょうか?

前にsendmailに実際に転送された手順を表示する様なオプションが
ある事を聞いたのですが忘れました。(^^ゞ
#man sendmailで調べたら -N dns ってのが怪しいのですが意味が
#よく解からん。(ToT)
##前から思っていたけど、英語圏で生まれていたらもっと詳しくなっ
##ていたろうな。だってマニュアルって英語だもん(^^ゞ

No. 121 # mm 1999/02/04 (木) 22:45
>おろ、TABLEまで何とかしようという魂胆で? 志が高いですね(笑)
いや、入れ子構造だと決め付けて、作ってみてから気が付きました(^^;

>僕が昔に書いたのは http://X68000.startshop.co.jp/~68user/tmp/tag.txt
おお、ちゃんと < や > の対応もチェックしてあるんだぁ…
なるほど、スタックを使うので、入れ子にならない例外的な処理も
やりやすそうですね。
ウチのは、再帰を使ったので、スタックを直接操作できないんです(^^;
以前「とほほ」さんとこに書き込んだんですが、一応
http://www2s.biglobe.ne.jp/~cru/library/junk/tag.txt に置いときます。
例示した文字列では、</hr>の処理が 68user さんのとは違ってます。

># 昔 yaccとlexで組もうとした事があるけど、エラーから回復させる事が
># できずに(=文法エラーにぶつかると止まってしまう)挫折しました(^^;
yacc は私も挫折しました…ただし、68user さんよりはもっと手前でですが(^^;

ところで、HTMLみたいなものも、yaccで解析できるんでしょうか?
BNFで定義できれば問題ないのかな…?
lexの方を独自の切り出しルーチンに替えればいいのかな…?

No. 122 # クーロンで苦労!? 1999/02/05 (金) 22:14
crontabコマンドについて質問させてください。
あるプログラムAをcrontabで自動起動させたいのですが、
そのプログラムAはCシェルでしか動きません。
そこでcrontabで呼出すシェルスクリプトBを作成し、Bの先頭で
Cシェルを指定し、次に必要な環境変数を設定し、
次にAを実行するようにしたのですが、
うまくいきませんでした。
Bにenvをいれて、環境変数を出力するようにしたら、
path等がshのデフォルトのままでした。
ちなみにAはオラクルに接続しSQL処理をおこないます。
どなたかご存知の方がいらっしゃいましたら、お知恵をお貸しください。

No. 123 # 68user 1999/02/06 (土) 23:56
> http://X68000.startshop.co.jp/~68user/unix/prgmemo.html#sendmail
> を見ると、sendmailとほぼ同じ操作ですよね。
うーん、mailコマンドっていうのはメーラーなんですよ。メールも
読めるし返事も書ける。低機能ながら立派なメーラーです。一方、
sendmailというのはSMTPサーバ兼(低レベルなら)SMTPクライアントって
感じでしょうか。
# しかし上のリンク先の「SMTPポートに繋げてメールを送る方法」って
# のは大嘘ですね。誰だ、こんなの書いたのは。…俺か(^^;

> CGIで直接sendmailに書込みした場合のエラーメッセージを取得したい時は、
宛先がなかった場合などに返ってくるメールを指して「エラーメッセージ」と
言ってらっしゃるなら、
    http://www2e.biglobe.ne.jp/%7es-hasei/cgi-bin/wwwlng.cgi?print+99020031.txt
など。

> #man sendmailで調べたら -N dns ってのが怪しいのですが意味が
> #よく解からん。(ToT)
-Nは-N failure,successなどと指定できます。manを読むときは、
日本語マニュアルを使って楽をしましょう。
    http://www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&man=sendmail&dir=jpman-3.0.0%2Fman


> あるプログラムAをcrontabで自動起動させたいのですが、
> そのプログラムAはCシェルでしか動きません。
状況がよくわかりませんが、プログラムAがCシェルスクリプトなら
プログラムAの1行目に
    #!/bin/csh -f
などと書いてあるでしょうから、crontabにプログラムAのスクリプト名を
フルパスで書いておけばいいです。PATHは、プログラムAの先頭で
    set path=(/bin /usr/local/bin /usr/sbin ....)
と書いてもいいですし、crontabの設定ファイルの先頭に
    PATH=/bin:/usr/local/bin:/usr/sbin:...
と書いてもいいです。例えば
    PATH=/bin:/usr/local/bin:/usr/sbin:...
    0 * * * * /home/user/bin/hogehoge
とか。

No. 124 # 68user 1999/02/07 (日) 01:01
> yacc は私も挫折しました…ただし、68user さんよりはもっと手前でですが(^
こっちも挫折は早かったですよ〜。
    http://X68000.startshop.co.jp/~68user/tmp/html.l
    http://X68000.startshop.co.jp/~68user/tmp/html.y
うーん、短いなぁ。今見ると、どこがどういう意味なのかさっぱり(笑)

No. 125 # M.Masuda 1999/02/07 (日) 01:42
どうもありがとう68userさん。(^^)/

> > CGIで直接sendmailに書込みした場合のエラーメッセージを取得したい時は、
> 宛先がなかった場合などに返ってくるメールを指して「エラーメッセージ」と
> 言ってらっしゃるなら、
>  http://www2e.biglobe.ne.jp/%7es-hasei/cgi-bin/wwwlng.cgi?print+99020031.txt
> など。
直接行ってみたら、なんとよく行くページの中。
ここの所忙しく、あまり見に行って無かったらなんとリアルタイムな!
灯台下暗しとは、この事?

> -Nは-N failure,successなどと指定できます。manを読むときは、
> 日本語マニュアルを使って楽をしましょう。
>  http://www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&man=sendmail&dir=jpman-3.0.0%2Fman
こんな便利があるとは!なんともうれしい限りです。(^^ゞ
でもうちの環境ではLinuxなので適当に、コンバート?しながら見てみます。

だけど、また暫く睡眠時間が少なくなりそう....(T_T)

ちなみですが。
http://X68000.startshop.co.jp/~68user/Cgi-room/printenv.cgi
で書いてあるなかで REMOTE_PORT を、「ポート番号とは全く関係なくて、httpdをforkした回数じ
ゃないかなぁと思ったらこれも違うみたい。よくわからん。」と書いてありましたが、そのまんま
です。(^^)

つまりクライアント側が、webサーバーの80ポートにアクセスする際に使用する、クライアント側の
ポートの番号です。
私の使用しているパケットモニターで確認しました。
クライアント側アプリケーションが、通信の際にソケットを生成するとその時に自動的に割り当て
られるみたいです、アプリの処理方法はそれぞれでなんでしょうが、通信セッション(っていうのかな)
が終わる毎にクライアント側のポートが変わりました。
#まじめに勉強した訳でなくパケットモニターでの通信内容をみて書いてます。(^^ゞ

No. 126 # mm 1999/02/07 (日) 20:44
>http://X68000.startshop.co.jp/~68user/tmp/html.l
>http://X68000.startshop.co.jp/~68user/tmp/html.y
ありがとうございます。なんとなく雰囲気はわかるような気がします(^o^;ゞ

ただ、lexでは"<BODY>"とかをトークンとして扱ってますよね。
こういう方法で <BODY GBCOLOR="#ffffff"> のような属性を持ったものも
扱えるのでしょうか?
よくは分かってないんですが、lexではトークンを正規表現で切り出しますよね。
だから、<>内をまとめて切り出すのは難しいような気がするのです。
それとも、<>内はまた別のルールでトークンに切り分けるのかな…?

Prev< No. 118〜126> Next  [最新発言に戻る] [過去ログ一覧]