learning on vnc

投稿者 nanki 2005-11-15 05:20:00 GMT

vnc で同じ画面をシェアして、作業する機会があった。

これが中々おもしろくて、相手の作業が刻々と見えるから、何をしようとしているかわかりやすいし、口では伝えきれない事まで伝わるので、素早い問題解決ができる。

口でどこがまずいか、ということを説明できない初心者には最適だろうし、上級者同士なら、よりよい議論ができるはずである。 と、これは、ペアプログラミングの利点そのものである。

ペアプログラミングでは、同じ画面をのぞき込んで対話しながら作業するわけだが、マウスの動きやキーボードの叩きかたなんて見ることはないので、実際には画面だけみている。

だから、vnc のようなソフトで再現できるわけだ。

ただ、操作の排他制御をもうちょっと手軽にできるとよいな、と思った。


Rails 勉強会@関西 第0回

投稿者 nanki 2005-11-13 02:18:00 GMT

Rails 勉強会@関西 第0回 に参加してきた。

今回は、babieさんの取り計らいで「ポジションペーパー」方式が導入され、自己紹介がスムーズに。

これはいい。自己紹介だけじゃなくて、十数人くらいの単位で何か議論する際に、固定的なメディアである紙の上に各自のスタンスを述べることで、議論すべきポイントが明確になりそうだ。 今回の勉強会は、Rails 以外にも、こういう点で期待している。

で、自己紹介も終わり、勉強会の方針について決める。→ 議事録

京都の勉強会が存続してよかった。

休憩をはさんで、moriq さんのajax 講座。 observer 以外はちょうど使ったばかりなのでタイムリー。

ストヤンさんが、会社でのサーバ構成、デプロイ環境を発表して勉強会は終わり。

部屋を片付け、懇親会へ。

懇親会では、babieさん、高木さんに挟まれ、向かいにはcuzicさんという恵まれた環境で、rails話で盛り上がったりした。

高木さんは、すでにかなりAWDwR を読み倒している感じで、何か言うと「ああそれは、320ページくらいに書いてあった」といって周りを驚きの渦に。 ピンと言えばポンというテンポのいいレスポンスはこういう集まりならでは。

ページごとにキーワードをメモっておくのはいいな。 是非取り入れたいけど、本に書き込むのは気が引ける。

これ以上書くと日記になってしまうのでこの辺でやめ。


agiledox with rails

投稿者 nanki 2005-11-06 17:50:00 GMT

rails のwiki を眺めていたら、こんなページ(TDDinRails)を発見。(見つけるの遅い)

この中で、rails のrake に agiledox 風の機能を追加するという小技が紹介されている。 要は、テストクラスのメソッド名を説明的に書いて(test_should….)、テストを書くと同時にクラスの仕様のリストまで作成してしまおう、というやり方のようだ。

task :agiledox do
  tests = FileList['test/**/*_test.rb']
  tests.each do |file|
    m = %r".*/([^/].*)_test.rb".match(file)
    puts m[1]+" should:\n"
    test_definitions = File::readlines(file).select {|line| line =~ /.*def test.*/}
    test_definitions.each do |definition|
      m = %r"test_(should_)?(.*)".match(definition)
      puts " - "+m[2].gsub(/_/," ")
    end
    puts "\n"
  end
end

の様なコードをRakefile に追加することで、

$ rake agiledox
user_controller should:
 - store user in session on successful login
 - not store user in session on unsuccessful login
...

という使い方ができるようになる。 テストに失敗しても、メソッド名から何がどう失敗しているかがわかりやすいし、TODO 管理の様にも使える。

なるほど、これならテスト駆動開発が楽しいものになりそうだ、と心の中でわくわくした。

さらに、ruby ではメソッド名に日本語が使えるので、

def test_ログインに成功したらsessionにuserが保存される。
...
end

ともできる。

これは良さそうということで、早速後輩に勧めたら、テストコードが書きたくてしょうがなくなったようだ。 テスト駆動開発定着までの近道として参考になる。

参考