2007年12月19日水曜日

rails 2.0 scaffold

またもや流行からだいぶ遅れて rails を体験。

2.0 で scaffold 周りが変更になったようで、
多くのサイトが昔のバージョンを基準に書かれているので
いろいろ躓いた。

勉強した結果 2.0 の scaffold での土台作成は以下の手順。
# DB は sqlite を使用

rails rails -d sqlite3 test_site
cd test_site
ruby script/generate scaffold member name:string affiliation:string

scaffold の引数で DB の column を指定するのがポイント。
というか、上記のような情報はマニュアルのどこにまとまってるんだ??

2007年12月3日月曜日

Mercurial

分散型のバージョン管理ツール。

Python で実装されている。
Subversion, CVS よりも速いらしい。

試してみるか。。。

zshのプロンプトに色

zsh のプロンプトに色をつけてみる。

いろんなサイトを参考にした結果、次の設定となった。

#local LEFTC=$'%{\e[1;32m%}' #ターミナル.app 用
#local RIGHTC=$'%{\e[1;34m%}' #ターミナル.app 用
local LEFTC=$'%{\e[38;5;30m%}'
local RIGHTC=$'%{\e[38;5;88m%}'
local DEFAULTC=$'%{\e[m%}'
export PROMPT=$LEFTC"%U$USER%%%u "$DEFAULTC
export RPROMPT=$RIGHTC"[%~]"$DEFAULTC

プロンプト文字列の前後の LEFTC, RIGHTC, DEFAULTC で
色をコントロールしている。

iTerm.app ではカラフル表示が可能だが、
デフォルトのターミナル.app は 8 色用の
エスケープシーケンスしか使えない。

8 色の \e[1;30m の形式のエスケープシーケンスでは
黒赤緑黄青紫水白が 30 から 37 に対応する。

\e[38;5;0m の形式では 0 から 255 が使える。
色の確認用に zsh の関数を作ってみた。

function pcolor() {
for ((f = 0; f < 255; f++)); do
printf "\e[38;5;%dm %3d#\e[m" $f $f
if [[ $f%8 -eq 7 ]] then
printf "\n"
fi
done
echo
}

ターミナルで pcolor を実行すると色の一覧が出力される。