どうも先日からこのブログではてスタが付けられないようです。
特になにもいじってないのですが、デザインをデフォルトに戻してはてスタのJSだけつけてもだめなので、ダメなんでしょう。
どうしてもはてスタ付けたいという方がいましたら、http://ruby.agile.esm.co.jp/ に私の記事も集約されていますので、そちらからなら付けられるようです。
追記:2010/02/26 10:04
いつのまにか直っていました。
というわけで、みなさん好きなだけスター付けていいんですよ?
2010/02/25
2010/02/24
プログラミング初等教育とTDDの相性は最高
1年半ほど前、入社前はプログラミング経験ゼロの@chibisayoを新入社員としてチームに迎え、私がOJT担当っぽくなった時の経験から、プログラミング初等教育とTDDの相性は最高であることをきちんと文章に残しておきたかったので、このビックウェーブに乗ることにしました。
私が @chibisayo に何度も何度も言ったのは、まずユニットテストを先に書くということです。
これによる最大のメリットは、何がわからなくて悩んでいるのかをこちらが把握できることです。
- テストが書けないのであれば、仕様が理解できていないか、テストの書き方が分からない
- テストがREDになっているのであれば、それを通すプロダクトコードの書き方がわからない
初心者(じゃくなくても)でよくある、「わからない所がわからない」「全部わからない」状態になる可能性がとても低いのです。最初は、本人が「全然わからない」と思い込んでいることがよくありますが、こちらから見れば一目瞭然です。
徐々に本人も自分のわからない所がわかるようになり、質問の仕方も「このテストの書き方がわからないんです」とか「こんなテストを書いたんですけど仕様とあってますか?」と非常に具体的になってきます。
プロダクトコードについては、「このテストを通そうとしてここまで書いたんですが、ここから先が分かりません」と質問の仕方のお手本のような聞き方ができるようになります。
なんということでしょう!TDDを意識しただけで、コーディングスキルだけじゃなく、適切な質問の仕方まで身についてしまったではないですか!すごい!
このように、プログラミング初等教育からTDDを意識させるのは、コーディングスキルの面でも、コミュニケーションスキルの面でも、とても価値のあることだと思っています。
またこの副作用として、常にTDDを意識させられた @chibisayo は、配属から半年経ったころに「テストを書かなくてどうやってプログラム書くんですか」という名言を残すこととなったのでした。
最後になりますが、TDDを意識したプログラミング初等教育の難しさは、仕様からテストコードを導出するアプローチをどう習得させるかというところだと思います。
今回はそちらも(たまたま)成功したと思うので、まだ記憶が残っているうちにエントリにしたいと思っています。(続く)(かも)
ラベル:
programing,
tdd
2010/02/23
bloggerのコメントをDISQUSにしてみた
bloggerのコメントシステムは昔から大変アレな感じなのは皆さん周知のことかと思います。
今の時代、コメントシステムも外部に委譲することができるそうで、ruby.agile.esm.co.jpが採用したことでも有名なDISCUSを使ってみることにしました。
基本的には、言われた通りに進んでいけばいいのですが、テンプレートに埋め込む部分で、「Use Disqus Comments on all blog entries. Any existing comments can be imported in.」を選択しないと上手く埋め込めませんでした。
このあたりは、テンプレートによってダメだったりするんですかね。
ただ、まだ誰もコメントしてくれないので、上手くできてるかどうか全然わからないんです。
みんなもっとコメントしてくれいいんですよ?
今の時代、コメントシステムも外部に委譲することができるそうで、ruby.agile.esm.co.jpが採用したことでも有名なDISCUSを使ってみることにしました。
基本的には、言われた通りに進んでいけばいいのですが、テンプレートに埋め込む部分で、「Use Disqus Comments on all blog entries. Any existing comments can be imported in.」を選択しないと上手く埋め込めませんでした。
このあたりは、テンプレートによってダメだったりするんですかね。
ただ、まだ誰もコメントしてくれないので、上手くできてるかどうか全然わからないんです。
みんなもっとコメントしてくれいいんですよ?
某サミットに参加してきました
2月でサミットと言えば、当然、呑まれ部サミットですよね。
当日の様子と後日談はTogetterにまとめましたので、こちらをご覧ください。
Togetter 呑まれ部サミット2010
途中で帰った@chiba777顧問の某サミットの第二部どうなったのか、早くききたい!という発言に対して、@koic顧問による名言をここに残しておきます。
「顧問が後日談を聞きたいとはどういうことか。顧問は後日談を作るものだ」
当日の様子と後日談はTogetterにまとめましたので、こちらをご覧ください。
Togetter 呑まれ部サミット2010
途中で帰った@chiba777顧問の某サミットの第二部どうなったのか、早くききたい!という発言に対して、@koic顧問による名言をここに残しておきます。
「顧問が後日談を聞きたいとはどういうことか。顧問は後日談を作るものだ」
2010/02/01
Ubuntu9.10でPPAの使い方が簡単になった
普段はMacやGentooを使っている人も、やむを得ない理由によりUbuntuを使わなければいけないシチュエーションが当然ありますよね。
そんな時に困るのが、Ubuntuのaptリポジトリにないソフトウェアや、あってもバージョンが古い場合ですね。
野良ビルドをしてもいいんですが、無駄にCPU資源を使って、後々管理しにくい方法でインストールするのは得策とは言えません。
「そこでPPAですよ」という発表を昨年のオブラブ夏イベントでしたのですが、9.10になってPPAの使い方が超簡単になったようです。
例えば、9.04でgitのstableを入れたいのであれば、まず/etc/apt/sources.list.d/git-core.list を以下の内容で作成し、
https://launchpad.net/~git-core/+archive/ppaの Not using Ubuntu 9.10 (karmic)?をクリックすると表示されるされる部分がsources.list.dに書くべき内容で、Signing key:のスラッシュの後ろがapt-keyで指定する文字列です。
とてもとても大変ですね。
これが9.10ならば、以下のコマンドでOKです。
こんなに便利になっていたのに、つい最近まで知りませんでした。これからはちゃんとリリースノート読みます。
そんな時に困るのが、Ubuntuのaptリポジトリにないソフトウェアや、あってもバージョンが古い場合ですね。
野良ビルドをしてもいいんですが、無駄にCPU資源を使って、後々管理しにくい方法でインストールするのは得策とは言えません。
「そこでPPAですよ」という発表を昨年のオブラブ夏イベントでしたのですが、9.10になってPPAの使い方が超簡単になったようです。
例えば、9.04でgitのstableを入れたいのであれば、まず/etc/apt/sources.list.d/git-core.list を以下の内容で作成し、
deb http://ppa.launchpad.net/git-core/ppa/ubuntu jaunty mainapt-keyで鍵を取り込みます。
deb-src http://ppa.launchpad.net/git-core/ppa/ubuntu jaunty main
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com E1DF1F24鍵の取り込みは必須ではありませんが、そのリポジトリからインストールする度に、インストールしてよいか聞かれるので取り込んでおいたほうがいいです。
https://launchpad.net/~git-core/+archive/ppaの Not using Ubuntu 9.10 (karmic)?をクリックすると表示されるされる部分がsources.list.dに書くべき内容で、Signing key:のスラッシュの後ろがapt-keyで指定する文字列です。
とてもとても大変ですね。
これが9.10ならば、以下のコマンドでOKです。
add-apt-repository ppa:git-core/ppaね。簡単でしょ。
こんなに便利になっていたのに、つい最近まで知りませんでした。これからはちゃんとリリースノート読みます。
2010/01/29
cucumberでrerun.txtが残って困っている方へ(Git編)
いつのバージョンからかrake cucumberが失敗したときに、rerun.txtというファイルが生成されるようになりました。
rerun.txtの中には、失敗したフィーチャのファイル名が記録されており、次にcucumberを実行する際に最初に実行されるようになっているようです。
しかも、このファイルはAll Greenになっても削除されない上、例えば何らかの事情でrerun.txtに記載されているファイルが削除されてしまった場合、ファイルが見つからずにエラーとなってしまいます。
そして、これはトピックブランチを切り替えるときによく発生し、(チームメンバーが)いつも頭を悩ませていました。
そこでgithooksですよ。
リポジトリのルートディレクトリの.git/hooks/に、post-checkoutというファイルを以下の内容で作成し実行権限を付けることで、git checkoutを実行した際にrerun.txtがあれば削除することができます。
gitには他にもフックポイントがあるのですが、全てのコマンドのpre、postに対応しているわけではないようです。
詳しくは man githooks を参照ください。
rerun.txtの中には、失敗したフィーチャのファイル名が記録されており、次にcucumberを実行する際に最初に実行されるようになっているようです。
しかも、このファイルはAll Greenになっても削除されない上、例えば何らかの事情でrerun.txtに記載されているファイルが削除されてしまった場合、ファイルが見つからずにエラーとなってしまいます。
そして、これはトピックブランチを切り替えるときによく発生し、(チームメンバーが)いつも頭を悩ませていました。
そこでgithooksですよ。
リポジトリのルートディレクトリの.git/hooks/に、post-checkoutというファイルを以下の内容で作成し実行権限を付けることで、git checkoutを実行した際にrerun.txtがあれば削除することができます。
gitには他にもフックポイントがあるのですが、全てのコマンドのpre、postに対応しているわけではないようです。
詳しくは man githooks を参照ください。
2010/01/21
MacbookPro 15inch 用バッグ
年末年始に実家へ帰る際、手下げ2つ+息子(ベビーカー)+おみやげという荷物があまりに大変だったので、Macbookが入るバックパックタイプのバッグを探してました。
macbook用のバッグを探すと、かなりの確立で誰かとかぶるようなのですが、とりあえず1ホップでは被らないようにと思って買ったのはこちらの商品。
ちなむとこちらで買うと安いのでオヌヌメです。
http://store.shopping.yahoo.co.jp/shasinyasan/6419334043418.html
macbook用のバッグを探すと、かなりの確立で誰かとかぶるようなのですが、とりあえず1ホップでは被らないようにと思って買ったのはこちらの商品。
ちなむとこちらで買うと安いのでオヌヌメです。
http://store.shopping.yahoo.co.jp/shasinyasan/6419334043418.html
登録:
投稿 (Atom)