68user's page 掲示板

Prev< No. 1757〜1773> Next  [最新発言に戻る] [過去ログ一覧]
No. 1757 # すな 2001/02/28 (水) 16:12:18
あら?いろいろと書いているうちに、前後してしまった…(^^;

No. 1758 # すな 2001/02/28 (水) 16:23:50
金床>
私も詳細は判りません(手抜き)ですが、調べるなら参考まで。
日本語RFC(FTP)
http://hp.vector.co.jp/authors/VA002682/rfc959j.htm

No. 1759 # 68user 2001/02/28 (水) 16:24:40
>>1755 金床
ああ、逆でした。

FTP はコネクションを 2本張るので、3way handshake が2回行われ、
その分 HTTP の方がわずかに速い *かも* しれません。

あと、FTP だと USER/PASS/TYPE/PORT などのコマンドを発行した
後はレスポンスを待たなければいけませんが、HTTP だと最初に
リクエストを送って、あとは受け取るだけなので、そういう点でも
HTTP の方が速い *かも* しれません。

それらの差が *仮に* あったとして、なおかつ数十 KB 程度の
小さいデータの転送時には *仮に* 体感できたとしても、
> 巨大なデータ(少なくとも10Mb程度)で現れる(かも
> しれない)差の事です。
データの転送自体の仕組みは全く変わらないため、転送データの
サイズが大きくなればなるほど、差は目立たなくなるでしょう。

No. 1760 # 金床 [E-mail] 2001/02/28 (水) 16:55:18
>データの転送自体の仕組みは全く変わらないため、転送データの
>サイズが大きくなればなるほど、差は目立たなくなるでしょう。
納得行く答えを頂きました。ありがとうございます。

>すなさん
RFC情報、どうもありがとうございます。

No. 1761 # 68user 2001/02/28 (水) 16:55:20
>>1756 すな
> 2001-02-28 01:00:02
5秒 sleep したのですから、00:59:57 あたりに cron から
起動されているわけですか。手元の FreeBSD 4.1-RELEASE と
Solaris2.6 で負荷をかけて試してみましたが、1秒程度遅く
なることはあっても、早く起動されることは一度もありません
でした。

となると、Vine の cron が腐ってるということになりませんかね。

> マシンフル稼働状態だとloadの数値は最大いくつ位になるのでしょう?
とりあえず
    http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?log=1119
を読んでください。理論的には、load average はどこまででも
増やすことができます。

No. 1762 # すな 2001/02/28 (水) 17:40:32
68user>となると、Vine の cron が腐ってるということになりませんかね。
なるほど、と言う事はcronの実装も結構ディストリビューションで違うのですね。
というか、さすがSolarisと言うべきなのか…
# マシンの内臓タイマーの精度とかも関係有るのかな?
# このマシンはかなり時間が狂うので…(1日数秒はあたりまえ)

>http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?log=1119
なるほど、これも大変勉強になりました。
最初は単純にシステム負荷を100で割った(理由不明)数値なのかと思っていました。

Windows等のシステム負荷表示とはまったく違って、100%以上の負荷まで表示
している訳ですね。(待ちプロセスを負荷と言うかは別として)
説明も大変判りやすかったです。

No. 1763 # CZ 2001/02/28 (水) 22:59:34
>>1750 68userさん

> あと、この BBS で <http://blade.nagaokaut.ac.jp/> という書き方をすると
> &lt;http://blade.nagaokaut.ac.jp/&gt;
> → <A HREF="&lt;http://blade.nagaokaut.ac.jp/&gt;">
> と置換されていましたが、さきほど直しました。

自作BBSを見ると正規表現部分*だけ*はほぼ同じでした。やはりここの掲示板のソースを引き写していたようです。(perlではなくrubyですが。)で,直していて気が付いたことですが,

s!<A HREF="(.*?)&gt;">(.*?)&lt;</A>!<A HREF="$1">$2</A>&lt;!g;

も加えておいた方がよいのでは。

No. 1764 # CZ 2001/02/28 (水) 23:02:34
<<1763
ん? 訂正。

s!<A HREF="(.*?)&gt;">(.*?)&gt;</A>!<A HREF="$1">&gt;$2</A>&gt;!g;
s!<A HREF="(.*?)&lt;">(.*?)&lt;</A>!<A HREF="$1">&lt;$2</A>&lt;!g;

こうですね。

No. 1765 # CZ 2001/02/28 (水) 23:05:27
<<1764

ん?? 何やってるんだろう。

s!<A HREF="(.*?)&gt;">(.*?)&gt;</A>!<A HREF="$1">$2</A>&gt;!g;
s!<A HREF="(.*?)&lt;">(.*?)&lt;</A>!<A HREF="$1">$2</A>&lt;!g;

これでいいんですね。
<<1762 はタイプミス
<<1763 は勘違いでした。

板汚しですみません。

No. 1766 # mm 2001/02/28 (水) 23:29:52
あっ、ウチも同じバグがある(^^;
でも、書き戻しですね…、ちょっとテストさせてくださいm(_o_)m
<http://x68000.startshop.co.jp/~68user/><http://www2s.biglobe.ne.jp/~cru/library/>

No. 1767 # 68user 2001/03/01 (木) 01:02:25
おー、これってきっちりやると結構面倒かも。で、30分あれこれ
やった結果…これでどだ!
    $_='hoge<http://x68000.startshop.co.jp/~68user/><http://www2s.biglobe.ne.jp/~cru/library/>fuga';
    
    s/&/&amp;/g;
    s/\"/&quot;/g;
    s/</&lt;/g;
    s/>/&gt;/g;
    $http_pattern = '((http|https)://[a-zA-Z0-9\.\/\~\:\?\#\@\&\-\+\=;%_]+)';
    $out = '';
    while (1){
            if ( ! s!(.*?)($http_pattern)!! ){
                    $out .= $_;
                    last;
            }
            $out .= $1;
            $buf = $2;
            $buf =~ s/((&lt;|&gt;|&quot;).*)//;
            $rest = $1;
            $buf =~ s!$http_pattern!<A HREF="$1">$1</A>!;
            $out .= $buf;
            $_ = $rest . $_;
    }
    
    print "$out\n";
無限ループが恐いので (^^;、まだ wwwboard.cgi には組み込んでません。

No. 1768 # mm 2001/03/01 (木) 02:34:18
無茶苦茶効率悪そうだし、未定義変数使用の警告が出るけど…(^^;

    $_='hoge<http://x68000.startshop.co.jp/~68user/><http://www2s.biglobe.ne.jp/~cru/library/>fuga';
    $http_pattern = '(http|https)(://)(([a-zA-Z0-9\.\/\~\:\?\#\@\&\-\+\=;%_]+?)(&gt;|&lt;|&quot;)|([a-zA-Z0-9\.\/\~\:\?\#\@\&\-\+\=;%_]+))';
    s/&/&amp;/g;
    s/\"/&quot;/g;
    s/</&lt;/g;
    s/>/&gt;/g;
    s!$http_pattern!<A HREF="$1$2$4$6">$1$2$4$6</A>$5!g;

No. 1769 # CZ 2001/03/01 (木) 07:43:42
>>1767 68userさん
おはようございます。

> おー、これってきっちりやると結構面倒かも。

こんなに奥が深いものとは想像もつきませんでした。以前これに着手しかけて断念した覚えはあったのですが,なぜ断念したかは覚えていません。

> 無限ループが恐いので (^^;、まだ wwwboard.cgi には組み込んでません。

早速ruby文に変換して実働掲示板に使っています。無限ループになっても利用者が二人しかいないサーバだし,HTTPならすぐ切れそうだということで,心配はしていません。

そんなわけで,いつもありがとうございます。これからもお世話になります。

No. 1770 # 68user 2001/03/01 (木) 12:11:10
こんなのも。
    $_='hoge<http://x68000.startshop.co.jp/~68user/><http://www2s.biglobe.ne.jp/~cru/library/>fuga';
    $http_pattern = '((http|https)://[a-zA-Z0-9\.\/\~\:\?\#\@\&\-\+\=;%_]+)';
    s/&/&amp;/g;
    s/\"/&quot;/g;
    s/</&lt;/g;
    s/>/&gt;/g;
    @items = split(/(&lt;|&gt;|&quot;)/, $_);
    foreach (@items){
            s|$http_pattern|<A HREF="$1">$1</A>|g;
    }
    $_ = join('', @items);
    print "$_\n";
アルゴリズム・正規表現が複雑にならないという点で、これが
一番よさげかなぁ。でも動作チェックと速度計測をしなくては。

もっとよいのを思いついた方は教えてください。

No. 1771 # 68user 2001/03/01 (木) 23:48:26
>>1770 68user
commit しました。とか言ってみたり。
    http://X68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/public_html/cgi-bin/wwwboard.cgi

No. 1772 # mm 2001/03/02 (金) 00:14:33
>>1770 68userさん
いいですねぇ。
これ頂きます。perl4でも動くし(^^;

No. 1773 # purine 2001/03/02 (金) 11:42:08
質問したいことがあります。それはあるプログラムでPIDを変数として
持っているときに、その変数のPIDのプロセスを殺す方法があれば教えて欲しいのですが。
よろしくお願いします

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