Chat (Lingr.com)
Informaiton
Daily
Column
- MySQL日本語の旅(5/1)
- アクセス向上秘伝(5/9)
- 一風変ったHaskellλ門(6/13)
- SICP Answer Book (5/31) 問題3.26追加
Zope Solution
Extra
アーカイブ
OSS案内所
Site Info
関連リンク
- 2004: 01 02 03 04 05 06 07 08 09 10 11 12
- 2005: 01 02 03 04 05 06 07 08 09 10 11 12
- 2006: 01 02 03 04 05 06 07 08 09 10 11 12
- 2004-08-31 normalize
- 2004-08-30 ssh_config
- 2004-08-27 cvs ワーキングディレクトリの状態チェック
- 2004-08-26 .emacs 圧縮されたファイルの参照
- 2004-08-25 .emacs ノートPC用の設定
- 2004-08-24 .zshrc プロンプトの設定
- 2004-08-23 httpd.conf の LogFormat
- 2004-08-20 more と less あるいは lv
- 2004-08-19 diff と patch
- 2004-08-18 tcsh
- 2004-08-17 httpd.conf
- 2004-08-16 loginfo
- 2004-08-13 rsync
2004-08-31 normalize
HTML や XML の自動生成ツールは、インデントなどおかまいなしの出力を することが殆ど。Well-formed であることは、一般には保証されている ことがおおいので、その点では心配ないことが多いけれど、ちょっとした 調整などをしたいときには、生成された HTML や XML を読む必要がある。 そのとき、インデントなどを調整してくれるプリティプリンタがあれば便利
そのようなとき、 W3C の HTML-XML-utils (http://www.w3.org/Tools/HTML-XML-utils/) の ユーティリティ群にあるコマンドの一つ normalize が使える。
$ normalize -x -e -i 1 -l 78 < foo.html > foo2.html
とやると、foo.html を
- (-x): XML風の空要素 <img .... /> を使う。
- (-e): 必ず終了タグが付くようにする。</p>、</li> など。
- (-i 1): インデント単位 1カラム
- (-l 78): 一行の長さ、78カラム
のように調整して、foo2.html へ書き込む。
2004-08-30 ssh_config
一定時間パケットが流れないとSSHのコネクションが切断されるような場合、 クライアントで対処する方法。
Debian の OpenSSH では(特別なパッチがあたっているので)、以下のように 設定しておくとパケットが流れていない状況で、5分ごとに無害なパケットを 流してくれる。
ProtocolKeepAlives 300
NATな環境で放置したSSH接続が切断される問題について より
There is no comment.
2004-08-27 cvs ワーキングディレクトリの状態チェック
cvs を使っていると、update や commit の前にワーキングディレクトリの状態を チェックしておきたいことがある。cvs の status コマンドだけだと、ファイル 数が多い場合など情報が多すぎる。Up-to-date でないファイルがあるかどうかだけ 調べたいことが多い。こんなふうにして、cvscheck というエイリアスを つくっておくと便利。
alias cvscheck='cvs status | grep File | grep -v Up-to-date'
There is no comment.
2004-08-26 .emacs 圧縮されたファイルの参照
Emacs には、圧縮されたファイルを自動的に展開し、それを変更して 保存すると自動的に再圧縮するライブラリがある。.emacs に次のように書いて おくと便利。
(auto-compression-mode t)
There is no comment.
2004-08-25 .emacs ノートPC用の設定
解像度 1024 x 768 のディスプレイを持つノートPCの X 上で Emacs 21.2 を 利用しいます。画面上に Emacs のフレームを 2 枚、重なりなくならべて使いたい ので、フォントは小さめ、フレームの飾りはできるだけ少くする設定にしています。
;; ;; Font-set ;; (create-fontset-from-fontset-spec "-*-fixed-medium-r-normal--12-*-*-*-*-*-fontset-12, -*-fix-*-fixed-medium-r-normal--12-*, -*-gothic-medium-r-normal--12-*, -*-mincho-medium-r-normal--12-*") ;; ;; Frame ;; (tool-bar-mode nil) (menu-bar-mode nil) (set-scroll-bar-mode nil) (add-to-list 'default-frame-alist '(width . 80)) (add-to-list 'default-frame-alist '(height . 50)) (add-to-list 'default-frame-alist '(font . "fontset-12"))
There is no comment.
2004-08-24 .zshrc プロンプトの設定
プロンプトに現在のワーキングディレクトリを出すと、ディレクトリが深くなると なんとなくコマンドラインの先頭位置が右へ右へとずれて、いやな感じ。
zsh だと RPROMPTという変数でコマンドライン右側にもプロンプトが出せるので 現在のワーキングディレクトリは右側に出したい。コマンドライン入力が長く なって、右側のプロンプトにぶつかると、右側のプロンプトは消えてくれるので 心配無用。
$HOME/.zshrc に
PROMPT='%U%m%#%u ' RPROMPT=' %U%~%u'
という設定を入れておくと、左側には「nike% 」のように ホスト名% が、 右側には 「~/hack/Gauche」のように現在のワーキングディレクトリが、 それぞれアンダーライン付きで表示される。アンダーラインを付けておくと 直前に入力したコマンドの出力がどこから始まるのかが分りやすくなる。
There is no comment.
2004-08-23 httpd.conf の LogFormat
Web アプリケーションのデバッグやプロファイルをする際、リクエスト処理に かかった時間というのを知りたいことがある。Apache では mod_log_config に %T という書式が用意されているので、これを使うと、リクエスト処理にかかった 時間が秒単位で log に記録される。
LogFormat "%h %l %u %t \"%r\" %>s %b %T" debug
There is no comment.
2004-08-20 more と less あるいは lv
高機能の lv や less を使わずに more を使っていた。その理由は、 lv や less では q で終了すると、今まで見ていた画面が消えてしまう。 残っていて欲しいから、それだけで more を利用していた。でも、 以下のようにすると q しても画面がクリアされない。 Yoichi's diary より
$ TERM=vt100 less FILE
あるいは
$ TERM=vt100 lv FILE
というわけで、$HOME/.zshrc に
alias lv='TERM=vt100 lv'
を追加。
There is no comment.
2004-08-19 diff と patch
オプションの対応を忘れていたので、メモ。
$ diff -rc FROM_DIR TO_DIR > PATCH_FILE
として、FROM_DIR ディレクトリ以下とTO_DIRディレクトリ以下との文脈付き差分を 再帰的に取って PATCH_FILE とする。これをパッチを当てるディレクトリの親 ディレクトリにて、
$ patch -p0 -d . < PATCH_FILE
とするとパッチが当たる。
There is no comment.
2004-08-18 tcsh
ターミナルのシェル(bash)から以下のようなコマンド
$ tcsh | tee /tmp/console.log 2>&1
を発行すると、/tmp/console.log にコンソールのプロンプト、ユーザ入力、 出力が記録される。このマシンにリモートからログインして、上と同じサイズの ターミナルで
$ tail -f /tmp/console.log
とやると、最初のターミナルでの作業の様子が見える。作業手順を複数の人に 教えたりするのに手軽で便利。
吉田智子著「ホップ!ステップ!Linux!」(1999)という本に この手法で、複数の学生にコンピュータリテラシを教えているというような話が載っていたと思う。
There is no comment.
2004-08-17 httpd.conf
Apache のログを日毎に access.log.20070817 のようなファイル名で出力するための httpd.conf での設定。日毎のファイルになるので、あとで、ログ解析をするのに なにかと手間がはぶける(と思う)。cronolog が /usr/sbin にインストールされて いるとする。
CustomLog "|/usr/sbin/cronolog /var/log/apache/access.log.%Y%m%d" combined
There is no comment.
2004-08-16 loginfo
$CVSROOT/loginfo の設定
^www (date; cat; (sleep 2; cd /var/www/; cvs -q update -dP) &) >> \ $CVSROOT/CVSROOT/updatelog 2>&1
/var/www は、Apache のドキュメントルート。同時に、このマシンの CVS リポジトリ にある、www モジュールのワーキングディレクトリになっている。
この設定は、リモートで、www モジュールのファイルを編集し、それを commit すると、サーバ側の /var/www 以下がアップデートされるというものです。
Web サーバにある静的な HTML コンテンツをリモートから保守するのに使う。
There is no comment.
2004-08-13 rsync
$ rsync -avW /home/foo /backup/home/
rsync で差分コピーが必要ないとき(この場合 rsync を使う必然性はあるのだろうか?)、W オプションを付ければよい。
There is no comment.