<<3170 さん、 ありがとうございます。 結果として、 while (<ARGV>) { ... } でも while (<>) { ... } 同様に動くので、<>のファイルハンドルがARGVであることに 間違いはないようですが、 binmode ARGV; は効かないようです!? へんだなぁ、、。 |
>>3166 68user なるほど、狭義と広義の差が有るんですね。僕にとっては、 新たな知識です。どうも教えていただいて、ありがとうござ います。 20年程前のパソコン雑誌に載っていた機械語プログラムには、 横一列の合計が書いてあったのを懐かしんで、こんな質問を してしまいました。確か最初は何も無く、次に横一列、次に 縦一列と横一列、その次にそれ+CRC演算が出てきたという 記憶があります。確か一列はどちらも1octet x 16個で、CRC は256octet毎に1octetでした。 僕も、その後GoogleでCRCもチェックサムと呼ぶようになっ た経緯を調べたのですが、経緯自体は、なかなか見つからな いですね。 もし、どなたか見つけたら、教えていただければ嬉しいです。 蛇足ですが、単純に足すだけだと間違いが見つかりにくいので、 > 加算のたびに右ローテート のような工夫がされているんでしょうね(推測です)。 |
>>3172 へにか > なるほど、狭義と広義の差が有るんですね。僕にとっては、 > 新たな知識です。 わたしが世の中の「チェックサム」という用語の使われ方を見る限り、 広義のチェックサムと狭義のチェックサムがあるのでは、と思った だけですので、誤解のなきよう。 例えば IP・UDP・TCP のチェックサムは「1の補数和の 1の補数」で 狭義のチェックサムだと思いますが、一方 java.utik.zip.CRC32 http://java.sun.com/j2se/1.3/ja/docs/ja/api/java/util/zip/CRC32.html は Checksum インタフェースを implements していますが、この「Checksum」 は広義のチェックサムかなぁと。…ってなんか苦しい例だなぁ。 http://www.onelook.com/?w=checksum&ls=a#all_com を見ても、わたしの思う「狭義のチェックサム」しか載ってないよう ですし、やっぱりわたしの認識が変なのですかねぇ。 ちなみに http://www.jisc.go.jp/index.html で JIS を調べてみましたが、「チェックサム」の定義は見付けられませんでした。 >>has あの後、寝てしまいました…。 |
時間のあるときに、遊びつつ飲みつつちょっとずつですが、 linux kernel-2.4.18-24.7.xにてpoll()を追っかけてます。 相当飛ばし読みでやっとこ__pollwait()。 けど先が見えません…。 @68user あいかわらずですな。またの機会に。 |
>>3173 68user > 誤解のなきよう。 了解しました。 色々調べていただいて、ありがとうございます。 http://www.onelook.com/?w=checksum&ls=a#all_com のリンク先、これから追いかけてみます。 そこで、早速二箇所追いかけたところ、面白い記述を見つけました。 http://www.wikipedia.org/wiki/Checksum > Note: The term 'checksum' is also often used incorrectly to mean a CRC. http://www.wikipedia.org/wiki/CRC >CRC's are often referred to as "checksums," but such > designations are not accurate since, technically, > a checksum is calculated through addition, not division. incorrectlyを始め、思わずbabylonで単語の意味を調べてしまいました。;) とにかく歴史上などの何らかの事由で捻じ曲がったのではないかと推測 していますが、なんとかその確証が得られるよう、調べてみます。 運良く見つけたら、連絡します。見つけられなかったら、次回の(他の ネタを含む)書き込み時に、その旨お伝えいたします。 #教えて頂いたリンク先、情報の宝庫ですね。ありがとうございます。 |
#連続ですみません。 >>3173 68user >やっぱりわたしの認識が変なのですかねぇ。 少なくとも、cksumが存在する以上、(繰り返しになりますが)何らかの 事由があったのでしょうから、変と思わなくても良いのではないかと思 います。といいますか、その事由に依存すると思いますので、変かどう かという問題ではないかもしれません。 #尊敬する68userさんでも困難な問題なので、わたくしごときが調べ #きれるかどうか自信ないですが、挑戦してみます。 |
ども。以前erro.cgiの件でお世話になった者ですが、 どうしても解決できない事が有り、質問させてください。 Web上にてユーザーがアカウントを自動登録できるようにしたのですが 登録したユーザーのquotaをcronで設定したく下記のようにしてみました。 つか見つけてきました。 */5 * * * * edquota -p foo `awk -F":" '$3 > 1000 {print $1}' /etc/passwd` idが1000以上のユーザーに予め設けたユーザーfooのquotaを例えばsoft 20000 と同じに設定すると言うものですが、これをcronで走らせても なぜか登録ユーザーのquotaには反映されません。 しかし、直接#rootで上記コマンドを打つと反映されます。 で、コマンドが長すぎるのかとも思い、 下記のように二つに分けてcronで走らせてもだめでした。 勿論、直接コマンドではOKです。 */5 * * * * awk -F":" '$3 > 1000 {print $1}' /etc/passwd > member_id.txt */6 * * * * edquota -p foo `cat /root/member_id.txt` 二つに分けた場合ではmember_id.txtは作成されているから edquota -p info `cat /root/member_id.txt`がcronで作動してない ということになりますが、理由がわかりません。 長文で申し訳ありませんがご教授お願いします。 |
あ! edquota -p info `cat /root/member_id.txt`がcronで作動してないは edquota -p foo `cat /root/member_id.txt`がcronで作動してないです。 |
すみません。自己解決しました。 cronからメールが来てました。 /bin/sh: edquota: command not found /usr/sbin/edquotanにしたら解決しました。 板汚してすみませんでした。 で、ついでと言っては何ですが、、、 suEXECを使ったCGIはその所有者の権限で動くわけですが、 その所有者には/bin/falseとしてシェルは利用出来ないようにしています。 でも、コマンドが使える(例えばtelnet.cgi)CGIではcat /etc/passwd 等と出来てしまいます。 これは誰の権限で動いているのでしょうか。 OSはLinuxで鯖はApacheです。 |
>>3179 ある厨 > その所有者には/bin/falseとしてシェルは利用出来ないようにしています。 /etc/passwd に書くログインシェルはあくまで 「ログインするときに起動するシェル」 です。 ログインとは telnet や rlogin や ssh 経由でログインすることを指します。 よって、cron から起動したり、setuid(2) して exec(3) する場合は関係 ありません。 web サーバは nobody や www 権限で動かされることが多いでしょうが、 /etc/passwd で nobody:*:65534:65534:Unprivileged user:/nonexistent:/sbin/nologin www:*:80:80:World Wide Web Owner:/nonexistent:/sbin/nologin などと /sbin/nologin となっているのは、単にその権限でログインさせない という設定になっているだけで、その権限でのプロセスの実行を制限している わけではありません。 >>3176 へにか (狭義の) checksum や parity や CRC や hash はデータ誤りを検出するための 一方式だと思うのですが、「データ誤りを検出するためのもの」一般は英語で 何て言うんでしょうね? http://www.wikipedia.org/wiki/Checksum にあるように「integrity-protection measure」としか言いようがないなら、 「データ誤りを検出するためのもの」という意味で「checksum」という用語を 使ってもいいんじゃないかなぁ、となんとなく思っております。 |
>>3180 68user なるほど、ただ単にログインできないと言うことであって 実行制限ではないと言うことですか。 勉強になりました。 #やぱり独学では限度があるにゃぁ。 |
>>3180 68user >「データ誤りを検出するためのもの」一般は英語で何て言うんでしょうね? Error Detecting Code (誤り検出符合)です。 因みに、CRCは、なんと、1bit-errorまでは訂正できてしまいます。 即ち、Error Correcting Code (誤り訂正符合)でもあるところが、parityやchecksumとは違うところで、面白いです。 #訂正方法は遠い昔に忘れました・・・ #hashは方式を知らないので、訂正できるのかどうか分からないです。 #今日本屋で調べても、歴史的なことは見つかりませんでした。A^^; #http://www.wikipedia.org/ は現在crashしているみたいです。 |
始めまして。 なんとなくXULの練習でUnixの部屋のMozilla用検索ツールバーを作ってみました 迷惑になるかもしれないので(それと家のサーバーが落ちてるからというのもある) 許可があるまで配布はしてないのですが配布してもよろしいでしょうか? # 家の鯖と外の鯖両方落ちてる・・・ # なぜ家に居ないときに落ちる・・・ |
>>3183 NPK > 配布してもよろしいでしょうか? はい、構いません。ぜひお願いします。 |
ASCIIでプログラミングして ISO-2022-JPを出力するプログラムを書いていますが (なんのために #! /usr/local/bin/perl -w print "\e\$B\$3\$s\$K\$A\$O\n"; だとうまくいくけど、 #! /usr/local/bin/perl -w print "\e\Q$B$3$s$K$A$O\E\n"; だとダメですね。 \Q〜\Eより先に変数展開が行われるみたいです。 ヘンな感じ、、。 |
>>3184 68user まだDNSが無いのがちょっとどうかと思いますが(^^; とりあえず置いてみました。 # 古いdyndnsのパスワード忘れたものでそのうちとろうと思ってとりあえずしばらく放置です(笑) |
はじめまして。unix初心者です。 定期的にhtmlをftpでファイルをアップロードしたいと思いました。それで、cronで実現しようと考えcrontabで編集したのですが上手く動いてくれません。コマンドが間違っているかと思い、console上で実際にやってみたところ普通に動きました。どうしてcronでは上手く動いてくれないのでしょうか? 以下の様にやっています。 10 0 * * * ftp -n < /home/hogehoge/ftp.sh ftp.shの中身 open ftp-server user hogehoge passwd ascii prompt cd data/ put index.html quit |
もじら組のゆきちといいます。いつも、こちらの記事は参考にさせていただいています。 >NPKさん 下記で紹介されているツールバーですが、「新もじら瓦版」というニュースサイト(?)があるのですが、そこでツールバーの報道を行なっても良いでしょうか。 ぜひとも、紹介させていただきたいのですが。 |
追記 今、InfoseekとX68Kの両方を利用してみたのですが、「新しいタブで開く」(Infoseek)「新しいWindow」(X68K)で開くを利用すると、最大化(全画面表示)になって、かつ、右にスクロールバーが出ない状態です。最大化を解くと、小さくなりますが、スクロールバーが出ませんね。1.4αです。 こんなところですいませんが、とりあえず、利用報告です。 |
ここで会話することじゃないと思いますが(^^; (68userさんすいません >>3188 ゆきち(もじら組) 紹介に関しては問題ないです。 鯖が貧弱なので落ちたらごめんなさい(笑) 開発には1.4α使ってるんですが家ではそんなバグは確認されてませんね・・・。 もしかしたらほかのXULアプリと衝突を起こしてるのかもしれません。 そのうち調べてみます。 |
ありがとうございます。今、時間がとれないですが、紹介してみようと思います。ありがとうございました。 #管理人さん、すいませんでした。 |
>>3185 ふくし > \Q〜\Eより先に変数展開が行われるみたいです。 プログラミング Perl 第 3版では、その辺の評価順序は明示 されていないみたいですね。 >>3187 Phantom 普通、/var/mail/$USER などに実行結果がメールで届くはずです。 そこに何か情報があるかもしれません。 >>3189 ゆきち(もじら組) FreeBSD 4.7-RELEASE + mozilla-1.4b (2003041308) ですが、再現 しませんでした。ただ、「新しいタブで開く」としても、(タブでなく) 新しいウィンドウが開いてしまいます。 infoseek の方ですが、アプリとしての感想を述べさせていただくと、 - うちの常用のサイズではウィンドウの幅が足らず、「新しいタブで開く」が 切れる (ウィンドウサイズを広げれば表示される) 「Search by Dictionary」と単語入力フォームが広すぎるのかも。 -「Search」で検索じゃなくて、「国語」「和英」「英和」それぞれを押せば 検索するといいかも (そしたら「Search」は不要) - 「和英」と「英和」はひとつにまとめて、フォームの内容が ASCII なら 英和、日本語なら和英、だといいかも。 - てなところを設定で変更できたりするとうれしいかも。 - 「英→日」はとても便利ですねぇ。 - 入力した単語の履歴が残って、さらに補完してくれたりすると素晴らしい。 てな感じです。 勉強用にとりあえず作ってみただけなのか、あるいは継続的に 開発されるのかわかりませんが、もし後者であればご検討ください。 >>3190 NPK > ここで会話することじゃないと思いますが(^^; 全く問題ないです。 >>has しばし待たれよ。 |
ずっと前に、 while (<>) { ... } のファイルハンドル ARGV に binmode が適用されないので、 while (<>) { ... } における ActivePerl の \r\n => \n 置換を抑制できない、 という話をしましたが、5.6 以降では binmode のかわりに use open IN=>"raw:"; だと動作するようです。PerlIOってやつですね。 |
>>3193 ふくし 自己レスれす。 use open IN=>":raw"; の間違いでした。 |
>>3185 ふくし perldoc perlre > You cannot include a literal "$" or "@" within a "\Q" sequence. An > unescaped "$" or "@" interpolates the corresponding variable, while > escaping will cause the literal string "\$" to be matched. You'll need > to write something like "m/\Quser\E\@\Qhost/". >>3192 68user > その辺の評価順序 「詳説 正規表現」のP245とか… |
改行コードについて質問いたします。 UNIX(HP-UX)の改行コードはLFだと思うのですが、 このコードを削除して複数行のテキストファイルを 一行にすることは可能でしょうか? |
>>3195 /tk > 「詳説 正規表現」のP245とか… 書いてありました。正規表現エンジンを作ってみる本だと思って 買ってみたらそうじゃなかったので、ほとんど読んでなかったり。 >>3196 天 tr -d '\n' < file perl -pe 's/\n//' < file などなど。 |
>>3192 68user > 普通、/var/mail/$USER などに実行結果がメールで届くはずです。 という事でしたが、何故か何も届いていませんでした。 それで、もう1度すべて見直して、ftp.shの中身を以下のようにしたら 出来ました。 ftp.sh open ftp-server user hoge passwd prompt cd data/ ascii del index.html put /home/hoge/public_html/index.html ./index.html quit なんか、putがうまく行ってなかったみたいです。それで、フルパスで 書いたら上手く行くようになりました。ここまで、書かなければならない とは、、、 ご迷惑おかけしました。 |
>>3192 68user 実験的な要素は強いですけど基本的に自分が使うから作ってるのでよさげなら取り込みます(笑) ってな訳で微妙に弄ってみました。 セレクトボックス以外は大体取り込んだと思います。 |
エンベロープを変えてメールを送る方法を超初心者向けにわかりやすく説明していただけませんか? |
>>3199 NPK FreeBSD 4.7-RELEASE + 昨日あたりの nightly で最新版を インストールして mozilla を再起動したところ、mozilla が 起動しなくなりました (何かを poll(2) してずっと待っている)。 ~/.mozilla/ をリネームしてみたところ起動したのですが、設定が 全部元に戻るのは避けたいので、infoseek transfer だけを削除 する方法を教えてください。 >>3200 oMH どういう環境で実現したいのか わからないので無理っす。 |
>>3201 68user 一応そういう事は予想していてあとゆあおうんりすくと書いたんですがね(^^; chromeの中にあるchrome.rdfからinfoseek_transferに関する項目を削除 chromeの中にあるoverlayinfoディレクトリ内navigatorディレクトリの contentの中にあるoverlays.rdfからinfoseek_transferに関する項目を削除 これでアンインストールできます。 |
>>3202 NPK > 一応そういう事は予想していてあとゆあおうんりすくと書いたんですがね(^^; 別にクレームをつけているわけではないです。単なる報告と質問の つもりでした。 で、アンインストールして、再度インストールしたところ正常に動いている ようです。ありがとうございました。 てゆーか、 http://ryuzi.dyndns.org/mozx/j_googlebar/index.html にちゃんと書いてありましたね。失礼しました。 |
いや、そういうリスクがあるので自分で治せない場合はやばいっすよ〜みたいなニュアンスで書いたんですが(^^; 別にクレームとしては受け取ってないですよ。 報告はあったほうがありがたいですし。 1.4のナイトリーは大規模な変更が行われてるようですのでたぶんこれからもこういうことがあると思います。 ですので、むしろ報告していただけるほうがありがたいです。 |
別々のディレクトリのファイルどうしの日付を見てファイル更新が新しければ、コピーするというスクリプトを作りたいんですけど、そのようなコマンドはありますか? |