MacBookAirの設定をした

MacBookAirを買って、いろいろ設定をしたので残しておく。

使い勝手向上のため設定したもの

インストールしたもの

個別に設定したもの

Temperature Monitor

メニューバーの表示変更
Preferences -> Menu Bar Tab -> Sensorsの順位を入れ替える

Xcode

iTunes Helperを止める
Applications -> install Xcode

HomeBrew

Xcodeのインストールが終わっていること

$ ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)"

試しにgitを探して、インストールする

$ brew search git
$ brew install git

参考サイト

Macでgitkを見やすくする

Macでgitkを使ってみたら、フォントが変で見づらかったので、良い方法を探してみた。

やったことは、下記のファイルを修正するだけ。

$HOME/.gitk

# before
set mainfont {{Lucida Grande} 9}
+set textfont {Monaco 9}
+set uifont {{Lucida Grande} 9 bold}

# after
set mainfont {Inconsolata 10}
set textfont {Inconsolata 10}
set uifont {"Inconsolata Bold" 8}

jasmine-nodeを使う

coffee-scriptのテストを書く方法を調べていたら、jasmine-nodeというのを発見した。
インストールして、実行するまでやってみる。
参考にしたサイト。ソースはこちら

jasmine-nodeのインストール。

$ npm install jasmine-node

ディレクトリを作成する。

$ mkdir jasmine_sample
$ cd jasmine_sample
$ mkdir lib
$ mkdir spec

specにはテストコードを入れて、libには実コードを入れる。
spec/string_truncate_spec.coffee

# ../lib/string_truncateでもだいじょうぶ。../lib/string_truncate.coffeeは不可。
String = require("../lib/string_truncate.js").String

describe('String#truncate', ->
	it "not truncate when string has less than 30 characters", ->
		expect("abcdefghi".truncate()).toEqual("abcdefghi")

	it "truncate when string has more than 30 characters", ->
		expect("abcdefghijklmnopqrstuvwxyz1234567890".truncate()).toEqual("abcdefghijklmnopqrstuvwxyz1...")

	it "truncate when string has more than $n characters", ->
		expect("abcdefghi".truncate(6)).toEqual("abc...")
)

lib/string_truncate.coffee

String::truncate = (delim=30) ->
	if delim >= @length then @ else @slice(0, delim - 3).concat("...")

exports = {} unless exports
exports.String = String

specは、coffeeのままでよいけど、実コードはコンパイルする動かし方しかわからない。

$ coffee -c lib/string_truncate.coffee

specを実行する。.coffeeのスペックを含めるため--coffeeオプションを付ける。

$ jasmine-node --coffee spec

Started
...

Finished in 0.002 seconds
1 test, 3 assertions, 0 failures

実行できました。

Ubuntuにnode.jsとcoffee-scriptをインストールする

参考にしたサイト

ソースダウンロードのURLが古かったので、本家を探してダウンロードした。

http://nodejs.org/dist/node-v0.4.9.tar.gz

$ tar zxf node-v0.4.9.tar.gz
$ sudo mv node-v0.4.9 /usr/local/src
$ ./configure
$ make
$ sudo make install

npmもインストール。
https://github.com/isaacs/npm#readme
http://www.giantflyingsaucer.com/blog/?p=1688

$ curl http://npmjs.org/install.sh | sudo sh

coffee-scriptもインストール。
http://jashkenas.github.com/coffee-script/

$ npm install coffee-script

coffee-scriptでコードを書いて、コンパイルして、node.jsで実行してみる。
example.coffee

console.log "Hello"

コンパイルする。

$ coffee -c example.coffee

コンパイルしてできたjsを見てみる。

$ cat example.js
(function() {
  console.log("Hello");
}).call(this);

node.jsで実行する。

$ node example.js
Hello

設定ファイルをgitで管理する

動機

設定ファイルを変更したことを忘れがちなので、そのままバージョン管理をしてしまおうと思ってやってみた。

やり方

http://1-byte.jp/2011/01/04/home_with_git/を参考にした。

管理するファイルを決める

設定ファイルの中でもなにを管理したいかなと思って、ファイルを一覧表示した。

$ ls -al
.
.
.

シェルとか、エディタの設定ファイルを抽出してみた。これらを管理してみよう。

.bashrc
.gitconfig
.gitignore
.gvimrc
.hgignore
.hgrc
.screenrc
.vim/
.vimrc
.zshrc
設定ファイルをgit管理下に入れる

設定ファイルをgit管理下に入れるということは、ホームディレクトリをgit管理下に入れるということ。やってみる。

$ cd ~
$ git init
fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions

なんかエラーが出てあせったけど、とりあえず無視でだいじょうぶ。

このままだと、すべてのファイルがgitの管理下に入ってしまうので、.gitignoreというファイルを作って、無視するファイルと管理するファイルを設定する。
.gitignore

# I am selective about what I want to revision, you may not want this.
/*
# You probably want to ignore all the "dot" files in your home
# directory, since they mostly contain local application state data.
/.*
# but... some dot files you probably do *not* want ignored are
# listed here:
!/.bashrc
!/.gitconfig
!/.gitignore
!/.gvimrc
!/.hgignore
!/.hgrc
!/.screenrc
!/.vim
!/.vimrc
!/.zshrc

設定できたか確認するには、コマンドを打って確認する。

$ git status
# On branch master
#
# Initial commit
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#	.bashrc
#	.gitconfig
#	.gitignore
#	.gvimrc
#	.hgignore
#	.hgrc
#	.screenrc
#	.vim/
#	.vimrc
#	.zshrc

これでよければ、インデックスにファイルを追加する。

$ git add .

最後にコミットする。

$ git commit -a

これで設定ファイルがgit管理下に入った〜。

Vimでマクロを使う

動機

Vimでもマクロを使えることは知っていたが、めんどくさそうで調べていなかった。しかし、マクロがないと開発をしていて不便極まりない。我慢ならんので調べてみた。

マクロの使い方

http://www15.ocn.ne.jp/~tusr/vim/vim_text2.html#mozTocId475506を参考にした。練習するべし!

マクロの記録

qを押した後に、記録したいキーを指定する。
この時に、数字キーに覚えさせるのはやめたほうがよいらしい。(thincaさん、ありがとうございます!)
例として、qaと押してみる。

マクロの内容を実施

参考サイトの内容はよく使うパターン。覚えておくと便利。
ちなみに、fの機能をここで学んだ。fの次に入力した文字を探してくれるのね。0dfと組み合わせると、行頭から文字を探して削除してくれる。
あと、Dの機能も学んだ。カーソル以降の文字を消してくれる。

マクロの再生

1に記録した場合は、@aと押す。
回数を指定して繰り返したい場合は、100@aとすると100回再生してくれる。

Postgresqlを使う

Postgresql?

Railsを使っていてPostgresqlが必要になったので、インストールした。

必要なパッケージのインストール

まずは、ubuntuPostgresqlをインストールする。
libpq-devはpgのgemを入れるのに必要。

$ sudo apt-get install postgresql pgadmin3 libpq-dev
データベースユーザの作成

postgresqlは、postgresユーザになってメンテナンスをするらしい。
ユーザを消したいときは、dropuser。

$ sudo su - postgres
$ createuser -P hoge
接続時認証方法変更

/etc/postgresql/8.4/main/pg_hba.conf

# before
local   all         all                              ident
# after
local   all         all                              trust
再起動
$ sudo /etc/init.d/postgresql restart
gemのインストール
$ gem install pg
rails経由で接続テスト

railsプロジェクトを作成して、試してみてね。