2005-10-07(Fri) 1トークス = プレゼンで5分しゃべること [長年日記] [Edit]
■1
『達人Ajax 〜Web2.0入門』
『Pragmatic Ajax:A Web2.0 Primer』。PDF版でBeta Bookを購入。公式サイトの書籍紹介のページでイマドキな感じのJavaScriptを使ってる。芸が細かい。
PDF版で表紙含めて全143ページ。ほどよい分量。
■2 『よりぬきRubyクイズ』
『Best of Ruby Quiz』というタイトルが、達人の本棚からリリースされる予定みたい。2006/02/15、175頁(予定)。これまたほどよい分量。著者の James Edward Gray IIってRuby Quizの中の人か。
「Rubyプログラミングのスキルを研ぎ澄まそう。25問のチャレンジングな問題をRuby Quizから出題。問題を読み、解き、他のひとの解き方と較べてみよう」って感じか。クイズを通してRubyの具体的・効果的な使い方やイディオムを学ぶ、というのはヘタレプログラマにはうってつけの教材だな。楽しみ。
2005-10-13(Thu) [長年日記] [Edit]
■2 RSpecのTUTORIALを翻訳したよ
Mr.FlypanがBDDについて言及して(しまって)いる。タイミングが良いことに:-)、手元にRSpecのチュートリアルを翻訳したものがある。Steven.R.Bakerに許諾の問い合わせのメールを出したが返事はまだもらえてない(そんなんばっかだな)状態ではあるけれど、フライングで公開しちゃおう。フィードバック歓迎。
翻訳は0.2.0のをベースにしている。RSpecはモックのAPIが0.2.0でガラっと変わっており、jMock臭さが無くなった。このチュートリアルとRSpecのポイントとか、RSpecのモックとか、BDDについてとか、機会があったらもうちょっと何か書きたいと思ってるんだけども、なかなかそのための時間を捻出できない。「誰か」書いてくれないかなぁ :-p
■3
『モンティ・パイソン正伝』
Rails本に続いて、こちらも翻訳が待たれていた、遂に!な一冊。著者にボブマッケイブ、翻訳クレジットに須田 泰成センセイ。説明無用、すぐさま予約。
みんな既に持ってると思うけど、
ボブ・マッケイブは、『テリー・ギリアム映像大全』の著者。
■4 『ウォレスとグルミット:野菜畑で大ピンチ!』
ドリームワークス製作の新作がついに。大ピンチ? なに言ってんの? 『人兎の呪い』(The curse of the were-rabbit)だろうが。粘土人形だからって勝手に背景白くして「女子供向け」の枠にはめないように。
「あー、いつになったら映画祭に行けるようになるのかなぁ」とこの時期になると思うようになって幾星霜。しかし私は「選択した」のだよ、スミス。
2005-10-14(Fri) [長年日記] [Edit]
■1 Rabbitのサンプル:『ビルドツールを知ろう』
半年程前から、勤務先の有志をなんとなく集めて、(いちおう)定期的に勉強会を開催している。近頃の参加人数は毎回15人ぐらい。先日は私が担当だったので、いまどきのビルドツールについて紹介してみた。当日使用した資料(もちろんRabbiによるt)をHTML化したので公開してみる。
内容としては、自動化・GroovyAntBuilder・Maven2・Rake、そしてなぜかjMockとRSpecを少しだけ。
この勉強会ではこの四半期は『「開発環境スタンダードを学ぼう」シリーズ』と題して4回を持ち回りで行っている。第1回はSubversion、第2回はTracがテーマだった。今回がビルドツールで、シリーズ最終回である次回は、Vimの予定。
ここで急いでリンク先の資料について言い訳追記。当日の準備が全然できてなくて、かなりグダグダな資料になってます(なので無駄に字が多い)。記述にも不正確なところがあるんだけど、Rabbitによるプレゼン資料のサンプルにはなろうかと。今回は新しく標準テーマに収録された"lightning-simple"を少しだけアレンジして使ってます。
RabbitはSVGをフツウに表示できるのが嬉しい。いまはラスタイズして描画してるみたいだけど、そのうち直接SVGを描画するようになる、とRabbitの中の人が語っていた。
Rabbitのコミットログに名前が載ったよ
gorouさんの指摘に対応した1行パッチと一緒に報告したら名前が載ったよ。わーい。
------------------------------------------------------------------------ r274 | kou | 2005-10-15 01:15:57 +0900 (土, 15 10月 2005) | 2 lines * added some meta tags. thanks to KAKUTANI Shintaro <[email protected]>! ------------------------------------------------------------------------
■2
PofEAA読書会:第7回参加申込受付のお報せ
2005/10/23(Sun.)の13:00に開催する、PofEAA読書会第6回の申込受付を開始しました。今回はO/Rマッピングのパターンですよ。ActiveRecord降臨、の予定。
■3 あの結城浩さんがRubyの入門書を執筆されるそうです
早くAmazonで予約できるようにならないかなあ。待ち遠しい。Rubyの入門書のあとにはSICPの解説書を予定されている模様。こちらも楽しみ。
(既成事実化に向けた活動の一環)。
2005-10-18(Tue) [長年日記] [Edit]
■1
『Beyond Java』
Safariに入ったのでオライリーのサイトにある目次を見た。びっくり。
- ...
- Chap.5: Rules of the Game(ゲームのルール)
- Chap.6: Ruby in the Rough(Rubyの原石?)
- Chap.7: Ruby on Rails
- Chap.8: Continuation Servers(継続サーバ)
- Chap.9: The Contenders((Javaの)競争相手)
全200ページの薄い書籍なんだけども、この章立ては何なんだ。奮ってるなあ。9章の「Javaの競争相手」のリストにはMajorとMinorがあって:
- Major: Ruby(筆頭だよ), Python, Groovy(えっ), .NET
- Minor: PHP, Perl, Smalltalk, Lisp, Functional Languages
というメンツになっている。いい本だ。Lispは2009年にブレイクする予定だし。
著者のBruce.A.Tateは『軽快なJava』の共著者。なるほど。「DIによる軽快さ」に外挿していくと、そこにRubyが居て、競争相手がGroovyとか関数型言語、というのは私(だけじゃないけど)が抱いている問題意識と同じだ。
2005-10-19(Wed) [長年日記] [Edit]
■1 「長年日記ヤバス」
とは、tDiaryで淡々と非公開の日記をつけている妻のひとこと。丁度いまごろの長年日記が、結婚後から妊娠・出産を経て息子誕生直後、そして現在とを一望できる!と感慨深けに語っていた。たださん、ありがとうございます。
で、私も影響されてみることにした。
■2
訃報
出勤しようとした矢先に母から電話。祖母が亡くなった。慌てて喪服を調達、羽田からANAで沖縄に。お通夜。祖父から祖母の思い出ばなしを聞く。
2005-10-20(Thu) [長年日記] [Edit]
■1
出棺
今日は友引なので告別式ができないとのこと。一族の——門中の、と言うべきか——習俗に詳しい方がたは皆、鬼籍に入ってしまっており、葬儀にまつわる風習がわからなくなっているらしい。風習コンサルタントみたいな人を呼んでいる。色んな職業があるのだなあ。出棺にあたって様ざまなアドバイスをしている。
先に逝った親族に渡す「お土産」を持っていってもらうというのは先祖重要な沖縄だなあ、という印象を受けた。齢80ぐらいにだと、あちらへ旅立つのも「お祝い」の一種だそうで、死装束は留袖。「道中」の休憩用のお茶とタバコの包みをつくるのを手伝う。しかし、出棺時にお経をあげに来たお坊さんはフツウに浄土真宗。
具志川の、海を望む火葬場で祖母とお別れ。風が強かった。少し遠くに見えるエメラルドっぽい色の海に立つ白波が印象に残っている。おばあちゃん、さようなら。
家に戻ってからは告別式の案内を新聞に出す段取り。実妹が巻き込まれていた。
2005-10-21(Fri) [長年日記] [Edit]
■1
墓掃除、告別式、納骨
朝から男手を集めてお墓の掃除。開けるのは40年ぶりとのこと。「草刈」と聞いていたのだが、お墓までの道は草や土砂で埋もれていたり、木の枝が伸びて通りづらくなっている。なぜカマだけでなく、ノコギリやクワ、シャベルまで持っていってるのか不思議に思っていたのだが、現地に到着して納得。汗だく。初めて来たお墓は、お墓というか、遺跡。
午後に入って天候が少し悪くなり、小雨のパラつく中で告別式。「初孫で可愛がってもらったから」という理由から、私が遺族代表で一般会葬に来てくださった皆さんにご挨拶。たくさんの方が足を運んでくださった。
納骨のときには、持っていった重箱を皆で食べた。墓掃除の後も弁当を食べたのだが、お墓に持って行った食べ物は持って帰ってはいけないらしく「全部食べないと帰れない」と脅された。
夜の便で東京に戻った。祖母に息子を会わせることができなかったことが残念でならない。
2005-10-23(Sun) ハテナオヤ来たる [長年日記] [Edit]
■1 PofEAA読書会:第7回
終了しました
開催直前に私が数日間、沖縄にてIPが届かなくなり一時はどうなることかと思いましたが、無事終了しました。みなさんご協力ありがとうございました。
さて。トラックバックするまでが読書会です。参加された方がたは是非、トラックバックをお願いします。宛先は、http://capsctrl.que.jp/kdmsnr/wiki/PofEAA/index.cgi/tb/ReadingPofEAA007 です。次回は12/4(日)です。私の参加メモは後ほど。
今日は東京国際映画祭にテリー・ギリアムが来てたのか……。
読書会で出た話と自分の気づきと自分の後づけの感想がごっちゃになってます。
Table Data Gateway(TDG)
- 発表者であるわたなべさんに、書籍の.NETなサンプルを解説してもらった。一人でサンプルを見ててもわかった気になるだけだったので参考になった。
- J2EEパターンに出てくる、みんな大好きData Access Object(DAO)パターンは、これ。
- S2DAOはTable Data Gateway(と、第3回のときにid:higayasuoさんが発言していたと記憶している)
- 基本的にはステートレスなSQLのラッパー
- ステートレスといっても改ページ(pagination)の仕様によってはそうも言ってられないよね?
- クエリ発行時のスナップショットでページを繰りたい場合など)
- findメソッドで何を返す? → Map, DTO, RecordSet, DomainModel
- 山野さんの資料(PDF)にDTOのバリエーションのまとめがある。
- 「TableDataGatewayのメリット」について私がoginoさんに何やら語ったらしいのだけれど、一切覚えてない……。何を言ったんだろう。気になるのでフォロー希望。
Row Data Gateway(RDG)
- 和田さんの発表スタイルが素敵。「俺はここがわからん」という疑問に参加者を巻き込んでいくインタラクティブな形式。
- 邦訳では「行データゲートウェイ」
- 1レコードにつき1クラスが基本。型マッピングもRDGで面倒を見る。
- Active Recordからロジックを抜いたもの。TransactionScriptと併用することが多い
- TransactionScript + Row Data Gateway から、Active Recordへの進化もアリ
- ドメインモデル採用時には、Active Record(AR) または Data Mapper(DM)。ARとDMとの分水嶺は複雑度7.42。
Active Record(AR)
- 資料の前半がすさまじくコンパクトにまとまっていて良かった。後半はRuby/Railsに親しみが無い人置いてけぼりっぽい印象も受けたけど、どうだったのかな。個人的にはhabtmやact_as_*の話を聞けたのが収穫。デモはRailsじゃなくてActiveRecord + irbにしたほうが焦点が絞れたかもしれない。
- RailsのActive RecordはもはやPofEAAのActive Recordではない
- RailsのARでは関連・コレクション・継承も扱える
- ファウラーのARの定義は車輪の再実装が前提なので、関連・コレクション・継承は扱わない
- リスト、ツリー構造も表現できる。再帰的な多:多はどうなの?——「できました」と、ゴロウさん。その場で実装。カッコイイ。ビルトインの機能としてサポートされてるかはこの時間では不明。
- 継承はすべてSingle Table Inheritance
- DBのテストにはモックとかケチ臭いことを言うな。MySQLは速い。すべての開発関係者のローカルPCにMySQLを。うーん。そうなのかなあ。Mike ClarkもRails1.0でテスト時のクエリの発行回数が減って速くなった!!とか言ってるし。「ゲームのルール」が違うんだよな。
- (RailsのARの実装は)「実に豪快」
- MySQLの使い方のパターンを誰かまとめないのか。MySQL Session Stateとか。
- MySQLがコネクションプールを持たないのはプロセス単位接続でも十分速いから、だっけ?(うろ覚えだったので読書会では言ってない)
Data Mapper
- id:bakockさん。発表が前回よりも落ち着いてソツなくなっている。場数効果かしらん。まとめ方のフレーズがbliki_jaっぽいのが個人的に好感。「そこでLazy Loadですよ」とか。
- 11章の前振り的なところも多いけど、あの分量をよくまとめたなあ、と感心。
- 後ろが必ずしもテーブルである必要はない(VIEWだったりストアドプロシージャだったりしても良い)というのがこの章の基本姿勢なのだけれど、全然違うデータソース(たとえば、Webサービスとかファイルとか)を透過的にデータマッピングできるようなツールは出てきているのだろうか?
その他
- id:ogijunさん、名札ケースありがとうございました!!
- まだまだ改善が必要なポジションペーパー配布方法
- id:naoyaさんから「はてなブックマーク」ブックマークをお土産にいただいた。
- id:koichikさんのポジションペーパーが印象的だった。YAGNIとKISSもTHINKあってこそ。
- id:secondlifeさんから「BDDというかRSpecどうなんですか?!」と言われて、テキトウに答えてしまった。これについてはTDDとBDDについて、別エントリを書いたつもり*1。
*1 書いてません。念のため。
2005-10-26(Wed) [長年日記] [Edit]
■1 Summer of Codeと須藤さんとSubversionのRuby bindings
Google主催のSummer of Codeの結果が発表されている。リスト中のSubversionプロジェクトのところに我らがRabbitの中の人であらせられる須藤さんのお名前が(唯一の日本人?):
Kouhei Sutou Full Ruby bindings http://svn.collab.net/repos/svn/trunk/subversion/bindings/swig/ruby/
名前ももちろんだけれども仕事に注目。SubversionのFull Ruby bindings。繰り返す。SubversionのFull Ruby bindings。お疲れさまでした。一般Debianユーザはいつから使えるんだろう。
「シャイな」ご本人に代わって晒してみた。KOF2005でもRuby-GNOME2のセッションを担当されたりと、大活躍ですな。
2005/10/28追記: 須藤さんの呼称をどうすべきかスラドで揉めている件について
2005-10-27(Thu) [長年日記] [Edit]
■1 つもりつもって
BDDとTDDについて書いたつもり。Bruce.A.Tateタンについて書いたつもり。シンボルと文字列についてRuby基盤チームでなく(入れないし)、Ruby業務チームのヘタレプログラマとして書いたつもり。

リーン開発の現場 カンバンによる大規模プロジェクトの運営(Henrik Kniberg/角谷 信太郎/市谷 聡啓/藤原 大)
『なるほどUnixプロセス ― Rubyで学ぶUnixの基礎』
SCRUM BOOT CAMP THE BOOK(西村 直人/永瀬 美穂/吉羽 龍太郎)
実践テスト駆動開発 テストに導かれてオブジェクト指向ソフトウェアを育てる(Steve Freeman/Nat Pryce/和智 右桂/高木 正弘)
The RSpec Book (Professional Ruby Series)(David Chelimsky/Dave Astels/Zach Dennis/角谷 信太郎/豊田 祐司/株式会社クイープ)
アジャイルサムライ−達人開発者への道−(Jonathan Rasmusson/西村 直人/角谷 信太郎/近藤 修平/角掛 拓未)
アジャイルな見積りと計画づくり ~価値あるソフトウェアを育てる概念と技法~(Mike Cohn/マイク コーン/安井 力/角谷 信太郎)
インターフェイス指向設計 ―アジャイル手法によるオブジェクト指向設計の実践(Ken Pugh/角谷 信太郎(監訳)/児島 修)
アジャイルプラクティス 達人プログラマに学ぶ現場開発者の習慣(Venkat Subramaniam/Andy Hunt/木下 史彦/角谷 信太郎)
JavaからRubyへ ―マネージャのための実践移行ガイド(Bruce A. Tate/角谷 信太郎)










○ ogino. [1 talk, 2 talks, とかいう感じじゃなくていいのでしょうか..。]
○ かくたに [むむっ。さすが渡米前。]
○ 咳 [1トークスは50枚くらい?]