2011/02/03

さくらのVPSにFuntooをインストール

うちのサーバは、大学4年から大学院卒業までお世話になった2代目の相棒である「dynabook SS SX/2211」だったわけですが、ついに数日前にお亡くなりになってしまいました。(こいつはCDもついていないしUSBブートもできないので、PXEブートでGentooをインストールして使っていました)
さすがにそろそろ引退させてあげてもいいと思うので、新しい環境としてさくらのVPSを借りることにしました。

CentOSなんていう冗談みたいなOSはあまり使いたくないので、さくらの VPS に Gentoo Linux をインストールする(これ、お知らせからしかリンクないんですね。もったいない。)を見ながらFuntooをインストールすることにしました。

この手順書はすばらしい出来なので、これとFuntooのインストールドキュメント(Gentooハンドブックの差分が書いてある)を見れば大体できるのですが、いくつか注意するところがあるのでちょっと解説しておきます。

1. SystemRescueCDからイメージを取り出すところ

次の7つのファイルを取り出せとありますが、SystemRescueCD2.0では下の5つのファイルはisolinuxというディレクトリの中に入っています。これを、/mnt/workの直下にコピーすればいいみたいです。ディレクトリ構造を反映させる必要はありません。
  • sysrcd.dat
  • sysrcd.md5
  • initram.igz
  • rescuecd
  • rescue64
  • altker32
  • altker64

2. /etc/make.conf

marchとかをどうするかですが、ぐぐってみるとcore2でいいんじゃないかという感じだったので、ひとまずcore2にしておきました。

3. grubの設定と/etc/boot.conf

Funtooは、boot-updateというコマンドでgrubの設定をするので、Gentooと同じ手順ではシリアルコンソールの設定ができません。(grubのバージョンも違うんでしたっけ?)
/etc/boot.confにparamsでシリアルコンソールの設定を書きだすようにしてあげましょう。私のboot.confは以下のようになっています。心配な人は、SystemRescueCDのブート設定も書いておけば、万が一の時も安心です。



最後の再起動前に/boot/grub/grub.cfgだけはちゃんとチェックしておきましょう。シリアルコンソールの設定を忘れるとCentOSのリカバリからやり直しです。

それでは、みなさん楽しいFuntoo生活を!

2011/02/01

プロバイダをi-revoにしました

やはり500円というのは心配だったので、しばらく @ursm に人柱になってもらっていたのですが、大分安定しているようなので乗り換えました。

申し込みウィザードを進んでいくといきなりアカウントが発行されるという、いままでのプロバイダの面倒な作業はなんだったんだと思わずにはいられない感じです。

IPv4で固定IPだけあればいいという人はだいぶお得なので、興味のある人は乗り換えるといいと思いますよ。

http://access.i-revo.jp/

2011/01/22

呑まれ部サミット2011に参加してきました

噂によると、今年で3度目となる呑まれ部サミットに参加してきました。

お店は、昨年同様の都内某所。
相変わらずの美味しいお酒と料理でした。

当日の様子はTogetterを御覧ください。

Togetter:呑まれ部サミット2011

2011/01/13

月刊オブラブとオブログとペアプロイベント

先日、月間オブラブ創刊号が発行されました!
2011年、オブジェクト倶楽部はオブラブへと名前を変え、メルマガを月刊にし、記事をブログへと、大きく形を変えましたが、今後ともよろしくお願いします!

また、初春オブラブミニミニイベント「ペアプロワークショップ」もまだ席に余裕があるようなので、是非是非ご参加ください!

オブラブ: http://objectclub.jp/
オブログ: http://oblog.objectclub.jp/

2011/01/04

書き初め

うちの事業部の毎年恒例の書き初め。今年の一字は「笑」にしました。

今年一年、笑って終われるように、自分のやれることを精一杯やっていきたいという思いで、この字にしました。

また、htkymtks_ugの活動を通して、世界にほんの少しの笑い(と失笑)を届けられればと考えています。
これは別に冗談ではなく、プログラムを書いてお金をもらっている以上、技術的卓越を追求したいと思うもの。そのためには壊していいオモチャはいつも手元に置いておかなければなりません。その一つが、htkymtks_ugで使っているいくつかのツールです。なので、ユーザ会の半分は本気と書いてマジでできているのです。(もう半分はちくわです)

気づけば今年で29になります。20台最後の一年に相応しい一年にしたいものです。

2011/01/01

2011年もよろしくお願いします。



取り急ぎ、今年もよろしくお願いします!

2010/12/06

RSpecにおけるdescribe/contextとTDD(未完)

タイトルはいまいちですが、今の私のWeb日記力ではこれが限界。
この記事は、オチも結論もありません。私(と@ursm)がRSpecでテスト駆動開発をする上で感じている違和感をとりあえず読める形にしただけです。

まずは次の2つのテストを見てください。

describe Array do
  describe '#empty?' do
    context 'just initialized' do
      subject { Array.new }
      it { should be_empty }
    end
  end
end

describe Array do
  subject { @array }
  context 'just initialized' do
    before do
      @array = Array.new
    end
    describe '#empty?' do
      it { should be_empty }
    end
  end
end
テストしている内容(itの中)はどちらも同じです。両者で違うのは(ほぼ)describeとcontextの順番だけです。
次に、Railsのコントローラのテストを考えてみましょう。

describe 'HogeController' do
  describe 'GET index' do
    context 'login as Teacher' do
      ...
    end
    context 'login as Student' do
      ...
    end
  end
end
これも同じように、describeとcontextを逆転させると次のようにも書けます。

describe 'HogeController' do
  context 'login as Teacher' do
    describe 'GET index' do
      ...
    end
  end
  context 'login as Student' do
    describe 'GET index' do
      ...
    end
  end
end
ただ、少なくとも普段は下のような書きかたはしません。それは、これから作るのがメソッド(アクション)であり、そのメソッドを検証する観点としてコンテキストがあるからです。

しかし、ある程度開発が進んでくると、今度は既存の機能にコンテキストが追加されるようになってきます。(例えば、最初はロールが「教員」「学生」だけだったのが、途中で「ゲスト」が増えるなど)そうすると、今度はdescribe単位ではなく、context単位でテストを追加したくなります。しかし、それまでのテストはすべてdescribeを上位に書いているので、急にcontextを上位にするわけにもいきません。(モヤモヤ)

最初に書いたように、これに明確な答えがあるわけではありませんし、「こうしたほうがいいのかもしれない」という程度の意見もありません。ただ、今こういうモヤモヤがあって、もしかしたら数ヶ月後、数年後になんらかの答えを見つけられたなら、それが私達の成長の証であることを再確認できるようにここに残しておきます。

===ここから追記===
2010/12/17 Arrayの例でcontextとdescribeが同じ順番になってしまっていたのを修正しました。