カテゴリー
技術

LEGO遊びもつきつめるとこうなる

真剣に遊ぶってすごい。マック用のソフト Bricksmith は、レゴブロックの設計をするための支援ツール。

lego_bricksmith.jpg

仮想空間上で試行錯誤することで実作業での手戻りを防ぐのは CAD の考え方だ。ソフトウェア開発もすべて仮想空間内での出来事とは言え、ドローイングツールや紙ベースでのプロトタイピングは後工程のずれをあらかじめ防いでくれる大切な工程だ。

Parts として別々に組み合わせた中規模のブロックを呼び出せるようになっているようだ。これは、ソフトウェア工学における分割統治と通じるものがある。

レゴといえども、巨大な作品を作ろうと思えば、いきなり手元に近いブロックを適当にくっつけていって成せるものではない。僕の4歳の甥がブロック遊びをするのを見ていると、まさにこの適当な感じで、これでは大きなものをちゃんと作ることはできない。彼の作品が進化するのは学校や家庭でもっといろいろなことを学んでからとなるだろう。しかし、こんなレベルまで行けるかどうかは、大人でも設計というものが仕事に絡んでくる人ではないと難しいのかも。

カテゴリー
技術

Ruby on Rails の実運用プロジェクト一覧

Ruby on Rails RealWorldUsage

80個ぐらいリストに載っている。

  • 新しいサービスである(Rails 自身が若いからね)
  • 新しい技術に敏感な人が作っている

ということで、Geeky なサービスが発見できるかもしれん。個々のサイトは未チェックだが。

カテゴリー
技術

JUnit4 の変更点

IBM developerWorks で、An early look at JUnit 4 で、JUnit の Java 5 対応版 JUnit 4 がどんな風になるかが紹介されていた。

  • テストメソッドはアノテーションにより判別されるため、テストクラスの継承や test* というメソッド名の制約は無くなる
  • setUp や tearDown もアノテーション。テストセット全体にかかる初期化や終了にもアノテーションが用意される
  • 例外のテストがアノテーションで指定できる
  • テストのコメントアウトができる(テストを飛ばしたことはちゃんと記録される)
  • テストのタイムアウトを指定できる
  • 配列を比べる assertion の追加

これらの変更を踏まえてテストクラスを書いてみると、これまでの JUnit テストケースに比べて格段に楽になってると思う。メソッドの名前付けについては必要とされなくてもこれまでのコンベンションを続けてもいいような気はするが。

現時点で開発中の JUnit 4 は CVS からチェックアウトして試すことができる。