|
昨日のおさらい… >ん〜、圧縮しないと1MB近くになりますよ。 BIGのサーバーレンタルは50MBもらえるので 容量的には問題ないですね、というか、画像なしでどうやってこの容量をうめるかが問題だな(笑) >nkf 了解しました。 今までそういった文字コードの変換には「jcode.pl」を使ってたんですよ。 このコマンドがあれば「jcode.pl」いらないな。 そのわりにはCGIの本にはこれで文字コードを変換するようになってるんだけど、 なぜそんなことが必要なんだろう? nkfって特殊なコマンドなんでしょうか? ># ところで、open(IN,"hoge|")とかopen(OUT,"|hoge") ># という意味はわかりますか? 「パイプ」とか「リダイレクションパイプ」ですよね。 一応本読んでますけど、自分が作るCGIでは使った事ないんですよ。<へぼプログラマー この例だと、ファイルハンドルINやOUTにパイプを結び付けているってとこまではわかります。 open(OUT…)の場合、今後ファイルハンドルになにか出力すると、hogeにそのデータがわたされる…であってますか? >tar 説明が非常にわかりやすいです(笑) ただ、こういったプログラムをレンタルサーバー上で動かしてもいいのかなと思っちゃたりするんですけど… いいのかな?>サポートに連絡してみよう。 >ふふ…、いまだに2000年問題が残ってたら、強者揃いの >UNIXハッカー連中がよってたかって直しにかかるでしょう。 ぎゃぁぁぁぁぁ! めっちゃ恥ずかしい…(笑) そうなってたのかぁ、勉強になるなぁ(笑)<UNIXについての知識の少なさを露呈してますな(爆) >購入されることをお勧めします。 今日は忙しくて本屋に行く暇もなかったので、明日買ってきます。 ってわけで、今日はここまで。 仕事が忙しいの…(涙) |
|
> BIGのサーバーレンタルは50MBもらえるので まぁ今のところ他に使い道がないなら圧縮しないのも いいでしょう。 > そのわりにはCGIの本にはこれで文字コードを変換するように > なってるんだけど、なぜそんなことが必要なんだろう? nkfはただのUNIXコマンドなので、CGIの本の範疇を越えている ということでjcode.plを使っているんでしょうね。 僕はnkfの方が慣れてるのと、nkf使った方が多分速いから 使ってるだけですので、代わりにjcode.pl使ってもいいですよ。 > サポートに連絡してみよう。 どちらかと言えば(あくまでも「どちらかと言えば」ですけど) CPUパワー喰うので、嫌がるところは嫌がるでしょう。 んが、僕は 「CGIはperlの中で完結しなければならないということは ない。UNIXのコマンド使って何が悪い」 という人なので、僕的には完全にOKです。 > 「パイプ」とか「リダイレクションパイプ」ですよね。 です。openの最初や最後に|を付けると、コマンドとして 解釈されてそのコマンドが実行されるわけです。 |
|
BIGのサーバーどうやらnkf使わせてもらえないみたい。 しかも実験の結果、「system」もだめみたいです。 あかん、結構書き直しですな…(苦笑) |
|
> しかも実験の結果、「system」もだめみたいです。 え〜そんなことは…。もしsystemがダメならperlからは 子プロセス生成できないってことですよ。CGIとして動かすなら #!/path-of-perl $|=1; # これ大事。 print "Content-type: text/plain\n\n"; system("/bin/ls"); でうまくいくはずです。 > BIGのサーバーどうやらnkf使わせてもらえないみたい。 じゃあソース持ってってコンパイルしませう(70%本気)。 |
|
はじめまして。ミーという者です。 FreeBSDについてちょっと質問があるんですが、 私のパソコンでpppとやって、termでモデムとお話をしようとすると、 そこのところが御亡くなりになります。 あまり良く分からないので詳しく状況を書けないのですが、 考えられる原因を教えていただきたく思いまして、書きました。 よろしくお願いします。 |
|
ども、68userです。 僕もよく知らないんですが、 ppp ON X68000> term Working in interactive mode Entering terminal mode. Type `~?' for help. となったら、C-cもC-zも効かなくなるんですけど、 「そこのところが御亡くなりになります」 というのは、このことでしょうか? 「Type `~?' for help.」とある通りに、「~?」とタイプすると、 簡単なヘルプが表示されます。そこにも書いてありますが、 term modeを抜けるには「~.」と打ちます。packet modeに 戻るには、「~p」です。 で、 ppp ON X68000> term Working in interactive mode Entering terminal mode. Type `~?' for help. at(とタイプする。ここは表示されない) OK(と表示されたら、少なくともモデムは認識されているはず) atdt電話番号(とタイプする。ここは表示されない) CONNECT … とするらしいです。僕の環境ではこれでモデムが電話をかけて くれるんですが、手動でユーザ認証させる方法を知らないので、 ここまでしかわかりません。 あとは、環境(アナログモデム/ISDN)、ログの内容(/var/log/ppp.log)、 /etc/ppp/ppp.conf、/etc/ppp/ppp.linkupの内容などがわからないと なんとも言えないと思います。 |
|
>あとは、環境(アナログモデム/ISDN)、ログの内容 >(/var/log/ppp.log)、 >/etc/ppp/ppp.conf、/etc/ppp/ppp.linkupの内容などがわからな >いとなんとも言えないと思います。 そうでしたね。すみません。 ですが、ppp.confは、サンプルをデバイス部分だけかえているんですよ。 ppp ON mee>term Working in interactive mode Entering terminal mode. Type"~?"for help は出ます。 この時点で何も打てなくなります。 でないだけかと思って at [Enter] と打ってみても反応しません。 とりあえず、もう一回自分で調べてみます。 ありがとうございました。 |
|
やってみると、 ~. ~? は実行できました。~?は文字が化けていましたが... ただ、at は反応しません。モデムってカーネルの再構築必要なんでしたっけ? |
|
モデムは、sioデバイスで認識されます。なお、PCのシリアルポートも sio?で認識されます。僕の場合は、dmesgで sio0 at 0x3f8-0x3ff irq 4 on isa sio0: type 16550A sio1 at 0x2f8-0x2ff irq 3 on isa sio1: type 16550A となっていますが、sio0がシリアルポート、sio1がモデムです。 この場合、/etc/ppp/ppp.confには set device /dev/cuaa1 と書けばいいです。 PCによってはシリアルポートが2つ付いてる場合がありますが、 デフォルトのカーネルコンフィグは device sio0 at isa? port "IO_COM1" tty irq 4 vector siointr device sio1 at isa? port "IO_COM2" tty irq 3 vector siointr device sio2 at isa? disable port "IO_COM3" tty irq 5 vector siointr device sio3 at isa? disable port "IO_COM4" tty irq 9 vector siointr となっているので、モデムが認識されません。 disableを削ってカーネルの再構築をするか、ブート時に boot: -cv で、sio2をenableにするといいでしょう。 # PCのBIOS設定で、シリアルポートを殺すこともできます。 # 僕のマシンはシリアルポートが2個なのですが、BIOSで # 1つ殺してあります。 pppのtermモードとは別に、cuで調べることもできます。 モデムが認識されてるなら、 % cu -l cuaa1 Connected. at(と入力) OK atdt電話番号(と入力) CONNECT 9600/ARQ/V34/LAPM/V42BIS で、モデムが電話をかけてくれます。 % cu -l cuaa0 % cu -l cuaa2 などとして、モデムが認識されているか確認してみてください。 もしsio?のいずれもモデムを認識していなかったら、PnPの問題ですかねぇ。 モデムカードの型番を元に、http://www.jp.freebsd.org/で調べてみると いいと思います。 |