東京Ruby会議01 その1(ライブラリ移植と機能拡張のためのパターンランゲージ)
色々興味深いセッションが多く、すべてをまとめたい気持ちはありますが
その中でも特に得るものが多かった2セッションについてまとめます。
1.それ Ruby でもやりたい - ライブラリ移植と機能拡張のためのパターンランゲージ
SeaserプロジェクトのS2Daoという機能から、2WaySQLを移行した経験談
Seaserプロジェクト
t-wadaさんのブログ
2.Ruby 1.9.1リリースに向けて
Ruby 1.9.1リリースに向けた1.9開発の現状報告および嘆願
Yuguiさん
1.それ Ruby でもやりたい - ライブラリ移植と機能拡張のためのパターンランゲージ
ポイント |
---|
1.移植を試みる際は、多くを求めずまず動かすことに注力する 2.TDDと黄金の回転 3.移行したら、移行元に恩返し(フィードバック)する。 |
技術的な魅力
まず、動的クエリ作成に向けて条件分岐でSQL文組み立てたり、SQLインジェクション攻撃から守るためににパラメータ化する技術は他にもある。
この技術の魅力 |
---|
1.クエリ実行を確認した結果をそのままプログラムで使用できる <--ここがポイント 2.JOIN、CASE文といったパラメータによって動的に変化する部分の可読性が高い。 3.出力結果がSQLインジェクション対応を加味している |
※t-wadaさんのスライドにて具体例がまとめられているので、ここでは割愛します
こちら
所感
技術的な魅力もさることながら、このセッションが一番すばらしいと感じたのは、実践的な「テストファースト」のアプローチが聞けた点。他の開発者と移行を試みると、あの時の「妥協」が後になって問題となるケースに遭遇します。実際、コミュニケーション不足にも起因して泣かす・泣かされる事も多い。このセッションは、移行の目的整理、リスク回避、そして実践からフィードバックまでの一連が整理されていて、かなり実践的で有効な内容でした。
正直、このセッションを聞けただけでもRubyKaigiに参加した価値があったと思います。
発表中に紹介のあった本
テストコードのない機能⇒Legacy-Code
Working Effectively With Legacy Code
- 作者: Michael Feathers
- 出版社/メーカー: Prentice Hall
- 発売日: 2004/09/22
- メディア: ペーパーバック
- 購入: 8人 クリック: 168回
- この商品を含むブログ (69件) を見る