最新 追記
RSS feed
Webサイトとは「つい、うっかりの存在論」である

角谷HTML化計画

「むずかしく考えることはない」と、偉そうに葉巻を振りまわしながら、トレヴィラヌスはいった。「ガリラヤの太守がじつにみごとなサファイアを持っていることは、みんなが知っている。何者かがそれを盗むつもりで、間違ってここへ入ったんだ。ヤルモリンスキーが起きていたので、泥棒は殺さざるをえなかった。どうだね、これで?」
「そのとおりかもしれません。しかし、おもしろくはないですね」と、レンロットは答えた。
J.L.ボルヘス『死とコンパス』(『伝奇集』収録)

2005-05-01(Sun) [長年日記] [Edit]

■1 肉玉ぶっかけ++生醤油(のり抜)すみた

義母と妻、そして息子を東京駅まで見送った後、返す刀で突撃。

  • 肉玉ぶっかけ(冷)++
  • 生醤油(海苔抜き)

生醤油は先達のアドバイスに従って海苔抜きで。っていうか初めて注文したのに「海苔入れる?」と訊かれた。

すみたの後は、7時間におよぶ作戦会議。背水の陣。

お名前 : コメント :

本日のツッコミ(全1件) [ツッコミを入れる]

ごうぎ [Quick JUnit導入してみました。3.0.1でちゃんと動きました。Eclipseを本格的先月から使い出した身で..]


2005-05-02(Mon) [長年日記] [Edit]

■1 Quick JUnit 0.0.4 のEclipse 3.0.xでの動作について

基本的には動作するのですが、3.0.x系では:

  • 「テスティングペアを開くときにエディタを分割する」をオンにすると動かなくなる
  • 複数のテスティングペアが存在する場合の切り替えが、マウスクリックでしか行えない

という既知の問題があります。ご注意を。

「テスティングペアを開くときにエディタを分割する」は、masarlさんが「こんな余計な機能入れるんじゃなかったなあと後悔してるんですけど.」と言っていたこともあってか、0.1.0では無くなる予定です……というかmasarlさんがソースをリポジトリにimportした時点で既に無くなってました。

複数テスティングペア間の切り替えの問題は、0.1.0でFIXされています。

Quick JUnit 0.1.0のリリース時期について

だいたいコードは動作確認できているのですが、ちょっと色いろありまして、リリース可能な状態になるのは連休明け以降になる予定です。

ちなみに、0.1.0というのはmasarlさんの遺したバージョン番号で、Eclipse3.0.x系に対応させる予定だったみたいです。なので、Eclipse3.1系には0.2.xとして対応していこうと思ってます。

■2 オレの考えた開発プロセス

(「参照先」が必要とのことなので、mixiの日記に書いた思い付きを使い回し。)

Magica and Modeling with Ruby。バズワード的には:

MMR。

な、なんだってー(AA略

MMRの工程

  • 工程0: Magicaセッション
    • IN: 現場の声
    • OUT: Magicaの分析結果
  • 工程1:ストーリーを書く。
    • IN: Magicaの分析結果
    • OUT:ストーリーカード
  • 工程2:ストーリーに対するテストを書く
    • IN: ストーリーカード
    • OUT: *-test.rb
  • 工程3:テストが通るように"モデリング"する
    • IN: *-test.rb
    • OUT: *.rb

あとは、工程 3 → 2 → 1 というフィードバックをもとに、次のサイクルを開始。

まとめると:

Magica <-> ストーリーカード <-> テスト <-> モデリング

MMRでプログラミングが不要に

上記からも明らかなように、"プログラミング"工程はそもそも存在しない。プログラミング不要。ひたすらモデリングあるのみ。ただし、モデリングの成果物はRubyによるソースコードである。

大事じゃないほうのUMLなどによるダイアグラムや自然言語による文書は必要に応じて作成するが、それらはあくまでも 「モデリング成果物」の理解を補足するための二次成果物である。

MMRでモデリング議論の空中戦を回避

工程からも明らかなように、MMRではテストを先に定義する。これにより「モデリング」技法についての議論の空中戦を排除する枠組を提供する。テストをチーム内の共通のゴールとすることで「You vs. me」の構図から「Problem vs. us」への転換を促進する。

MMRで「顧客にわかるモデリング」が無用に

顧客とのコミュニケーションはMagica(とその派生成果物。たとえば清書したVisioとか)で行う。忙しい現場の担当者に開発者の論理で箱と矢印の読み方を覚えさせるような押し付けは無用。

MMRとUML

MMRによるモデリング成果物はテキストファイルによるソースコードなので、大事なほうのUMLと親和性が極めて高い。MMRによるモデリング成果物を大事じゃないほうのUMLで可視化することについては、今後、捺印ナビリティ的に重要になっていくだろう(現状は未解決な課題)。

MMRとMDA、あるいはbuzz word haiku

MMRによる成果物である「モデル」は、PIM(Platform Independent Model)である。しかし、PSM(Platform Specific Model)への「変換」は必要ない。というのも、PSMはもちろんDI x AOPであり、これはPSMというよりもむしろPSR(Platform Specific Runtime environment)とでも呼ぶべきものだからだ。そして、PIMたるMMRの「モデル」は言うまでもなくPORO(Plain Old Ruby Object)である。

つまり、MMRの成果物はPOROなPIMでランタイムにPSM(PSE)がinjectするMDAなのだ。これは「ソフトウェアの進展とはすなわち抽象化の進展である」というソフトウェア史的唯物論のテーゼとも合致する。

いまいちど繰り返そう。諸君、ここが約束の地だ

補足(1)

以前に、似たような妄想で「programmer testを『テスト』と呼ぶと、各方面から要らぬ誤解を受けて面倒くさいからこれからはもう『スペック』って呼ぼうよ」とmixiでボヤいたら、kdさんから「本流が道を譲ってどうする」と叱られた記憶がある——のだけれど、mixi日記は過去に書いたものを手繰る術が面倒で見つけられず(脳内やりとりだったかも?)。

これはMMRについても同様。「プログラミング」に正当な評価を与えるべく活動すべきだ。でもなー、手強いんだもん。

補足(2)

上記はMagicaの提供元であるスターロジックさんとは一切関係ありません。すべて私の妄想ですので、くれぐれも誤解なきよう。

お名前 : コメント :

本日のツッコミ(全4件) [ツッコミを入れる]

guion [guionなTiki:MagiCa にも書きました(リンクもしてます)が、 MagiCaって、 javaのinter..]

かくたに [Ruby-OCLはその後、Moduleベースの動くモノができあがってるみたいです(w ActiveRecordの関連..]

guion [な、なんだってー>Moduleベースの動くモノ (こんどはAprilFoolじゃないのですよね?) 120%ネタかと..]

ゆー [100スミスやり方おしえてください]


2005-05-03(Tue) [長年日記] [Edit]

■1 3. どうしてコアインターフェースには"Bag"(マルチセットともいう)が無いのでしょうか?

Java Collection Framework 設計FAQ。原文と、翻訳。以下は素振りを兼ねた拙訳:

CollectionインターフェースがBagに相当します。私たちは公式のBag実装を提供していません。というのも、Bagが"その重さに見合う"ほどは頻繁に利用されないだろうと考えたからです。BagのようなCollectionを返したいことはなくもないですが、その場合はAbstractCollectionを直接利用した実装で事足ります(たとえば、Map.valuesメソッドが返すCollectionとか)。

お名前 : コメント :

本日のツッコミ(全1件) [ツッコミを入れる]

koic [ありがとうございます。 公式文書に書かれていたのですね。 おまけにFAQ...]


2005-05-09(Mon) [長年日記] [Edit]

■1 アナウンス: 更新頻度が落ちます。

既に更新頻度は落ちているのですが、いわゆるゴールデンウィークが終わってしまいました。よんどころなき事情により、しばらくの間は更に更新頻度が落ちます。

mixiにひとくちゲロるので精一杯かと。

お名前 : コメント :


2005-05-10(Tue) アジャパでReflection [長年日記] [Edit]

■1 Maven: A Developer's Notebook (Developer's Notebooks)(Vincent Massol/Timothy O'Brien/Jason Van Zyl) 『Maven: A Developer's Notebook』

キター!! vmassol総研プレゼンツ(tobrienとかも共著みたいだけど)。2005/07/01発売予定。 Developer's Notebook(開発者ノートシリーズ)なので、256p(予定)という分量も嬉しい。

お名前 : コメント :


2005-05-12(Thu) [長年日記] [Edit]

■1 エンタープライズ アプリケーションアーキテクチャパターン (Object Oriented Selection)(マーチン・ファウラー/長瀬 嘉秀/株式会社 テクノロジックアート) Patterns of Enterprise Application Architecture (Addison-Wesley Signature Series (Fowler))(Martin Fowler) PofEAA読書会:第3回参加者募集のお報せ

復活の狼煙。以下に要項を書いていますが、Wikiの記述を1次情報と考えてください。開催場所の詳細は追って連絡予定。

開催概要

  • 日時:2005/05/22(日) 13:00〜17:00頃
  • 場所:たぶん田町(詳細は少々お待ちください)
  • 参加費:無料

内容(予定)

  • ポジションペーパー(立場表明書)ベースの自己紹介
  • 「PREVIOUSLY ON Reading PofEAA」-- 前回までのおさらい
  • 「第3章: Mapping to Relational Databasespter(リレーショナルデータベースへのマッピング)」の概要
  • リレーショナルデータベースへのマッピングに関するパターンについて

参加するには

  • 後述する参加申込方法にしたがって、メールを送ってください。
  • 当日までにポジションペーパー(A4一枚サイズ)を御用意ください。
    • プリントアウトして配布してもらいたい方は、5/19(木)までに、shintaro@kakutani.comまで送ってください。

ちなみに、当日に以下の役割を担当していただける方を募集しています

  • ファシリテーター -- 熱烈に募集しています
  • 書記

担当していただける方は、参加申込の際にその旨を伝えてください。

参加申込方法

shintaro@kakutani.com 宛に「PofEAA読書会第3回参加希望」みたいな感じのメールを送ってください。 本文には、参加者の名前ぐらいは書いていただけると助かります。 メールの宛先は読書会メーリングリストの宛先とは全く異なります。ご注意ください。

また、読書会メーリングリストへの 参加もお待ちしております(強制ではありません)。

申込締切

  • 2005/05/18(水) 17:00

注意事項

  • たぶん大丈夫だと思いますが、申込多数の場合は、何らかの手段が講じられる可能性があります。

お名前 : コメント :


2005-05-13(Fri) Oruvan Oruvan Mudhalali [長年日記] [Edit]

■1 Debian 辞典 (Desktop reference)(武藤 健志) 主はただ一人

Sarge対応、『Debian 辞典』。逆引リファレンス期待だー。

■2 のだめカンタービレ(12) (講談社コミックスKiss (544巻))(二ノ宮 知子) 『のだめカンタービレ(12)』

なぜかウチにも全巻あるわけだが。

お名前 : コメント :


2005-05-17(Tue) [長年日記] [Edit]

■1 Quick JUnit Plugin 0.1.0 リリース

sf.jpからの最初のリリースです。Eclipse3.0対応。ソフトウェア更新が利用できます。 もっと早くここまで持ってくるべきでした。開発は今後も地道に継続していきます。

0.0.4 ユーザの方は「ソフトウェア更新」をする前に、手元の$ECLIPSE_HOME/pluginsにインストールされている、0.0.4を削除してから「ソフトウェア更新」を行なってください。

■2 PofEAA読書会 第3回参加者募集ちゅう締切

締切は5/18と目前ですが、人数にはまだ余裕があります。現在の参加予定者は今までにない感じ。すごく楽しみ。

締め切りました

PofEAAなパターンを軸に、RubyからSeasar2まで、アジャイルからエンタープライズまで、これまでにありそうで無かった顔合わせになりそう。

お名前 : コメント :


2005-05-22(Sun) [長年日記] [Edit]

■1 PofEAA読書会 第3回、終わりました

会議室を提供していただいたオージス総研さん、ありがとうございました。一名、合流し損ねたのはダンドリスト失格だったが、それを除いては(ってクリティカルだけど)、再開第1回としては及第点は取れたかな、と思ってますが真実は出席者の心の中にある。

ポジションペーパーベースの自己紹介にキッチンタイマーを持って行ったのは正解だったと思う。心を鬼にしてタイムボックスを優先——ってあまり出番はなかったけれど。人数が多いので、興味深いところにツッコミを入れられなかったのはトレードオフか……。ここらへんは、参加者の皆さんに、己のポジションを踏まえて本編で絡んでいってもらったり、呑み会での話のキッカケとかにしてもらうことということで。私のポジションペーパー(PDF)もいちおう晒しておきます。

次はkdさんによる「PREVIOUSLY ON READING PofEAA」で第1章と第2章をコンパクトにすっきりまとめていただく。ここは常に面白いところだと思うのだけれど、素通り。ちょっと勿体なかった。

さて第1部。WRさんがサマリを用意してくれたおかげで、読書会の流れができたのはよかった。けど、全部まとめて行っちゃわずに途中で休憩入れるべきだったかも……。ペース配分が難しい。議論の内容自体は面白いんだけど、若干発散気味だったかもしれない。けれどまあ、何でもまとめればいいってもんでもないかな、と都合よく考えてみることにする。

第2部。高橋さんにn度目の「Railsな考え方」を説明していただいた後、ひがさんから「ActiveRecordとS2DAOは同じ方向性である」とのことで、「Railsな考え方」を使ってS2DAOの紹介をするという妙技が炸裂。読書会の旗を振ってよかったな、と思えた。S2DAOはPofEAA的に説明すれば「Table Data Gateway + Data Mapper」とのこと。

本編のクロージングでは、軽く(ほんとうに軽く)Keep/Problem/Tryのリフレクションをやって、終了。私が弱気だったので、次回のサマリ担当者と日程を決められなかったのは心残り。読書会の存続がサマリ担当の方の双肩にかかっているので、ここはassignするのではなくsignupしてもらいたかったのだけれど……。

本編終了後は、天気も悪かったので、近くの和民へ。私は21:00頃に退散しちゃいましたが、お付き合いいただいた皆様、ありがとうございました。わざわざ京都から日帰りで参戦したbabieさんに楽しんでもらえたのかなぁ。

追記:PofEAAのWikiにTrackBackできるようになりました

kdさんありがとうございます。

で、第3回のページにTrackBackできるようになりました。ウェブロ持ちの皆さん、ご活用ください。

反応リンクエントリを見る(なんでPofEAAのWikiにできないのか!とWiki厨っぽく憤りをあらわにしてみる)に、ここで挙げられているリンク先はみんな TrackBackが撃てると思うので、ご協力をお願いします。TrackBackならexcerptも表示されるので、ちょっとの手間でそれなりのモノになるかな、とちょっと期待している。

ウェブロ持ちじゃない方はページを編集して感想とか書いちゃってもらってもOKです(そのためのWikiだよね)。

qwik.jpに投げたメールが流れてこないので(私だけ?)こちらにも書いてみた。

Java Testing Patterns(Jon Thomas/Matthew Young/Kyle Brown/Andrew Glover) 個人的に伝えるのを忘れてたこと


お名前 : コメント :

本日のツッコミ(全7件) [ツッコミを入れる]

Before...

WR [お疲れ様でした。 収束と拡散は永遠のテーマかも(なぞめき系?)。]

thata [よいです>言語ヲタ。Haskellやったことないのに言語ヲタを自称するのも心苦しいのですが、Haskellとか言って..]

まつもと [言語オタ自称してますがHasckellやったことないです。 なんか生理的に受けつけなくて(食わず嫌い?)]

かくたに [ホンモノの言語ヲタ キター!!]

thata [まつもとさんがいじったことのない言語は存在しないと勝手に思い込んでいたオレのバカ]


2005-05-27(Fri) [長年日記] [Edit]

■1 Agile Web Development With Rails: A Pragmatic Guide (The Facets of Ruby Series)(David Thomas/David Heinemeier Hansson/Leon Breedt) 『Agile Web Development with Rails: A Pragmatic Guide』β版

PragDaveのアナウンスを見てPDF版を即購入!!

……セクション「1.1.Rails is Agile」ドーン!! 肌が粟立つ。

追記: 「1.1. Railsがアジャイル」

  • 本書のタイトルは「RailsでアジャイルWeb開発」だが、本文にアジャイルプラクティスの適用に関するセクションは無い
  • と、いうのもアジリティはRailsに織り込まれているからだ。
  • Railsとはすなわち、開発者と顧客との対話であり、Railsとは顧客とのコラボレーションを促進するものである。
  • Railは、従来の顧客と開発者との対立を、"「こうしたらどうなるかな?」セッション"へと変えていく。
  • (が、ドキュメントをうっちゃるものではない。HTMLドキュメントの生成をサポートしている)
  • Railsなら変更は簡単だし、ちゃんとしたテストを書いていれば、「壊しちゃうんじゃないか」という不安も減っていく
  • と、いうわけで我われは「Railsにおけるアジリティ」をRails自身に語らせることにした
  • Railsの内部構造を理解すれば、顧客のニーズにより素早く応えられるようになるだろう。
  • アジリティとRailsの関係について最後にもうひとつ。アジリティがどうのこうのと気にかけていなくとも、Railsでならコーディングがとっても楽しいものだと思うようになること間違いなし

——there is business value in fun!!!

■2LLDNチケット本日発売

ローソン行って買ってきた。Tシャツが付くのは夜の部なのね。

プログラムの方針に「アプリケーションフレームワーク」とある。Rails is Agile!!

お名前 : コメント :

本日のツッコミ(全2件) [ツッコミを入れる]

koic [さっそく買いに行ってきました。Loppi便利ですね。]

かくたに [名前の入力でIMEが使えるのがおもしろかった<Loppi]


2005-05-31(Tue) [長年日記] [Edit]

■1 スター・ウォーズ クローン大戦 VOLUME ONE [DVD](トム・ケイン/岩崎ひろし/森川智之/羽佐間道夫/浪川大輔/永井一郎/磯辺万沙子/マット・ルーカス/アンソニー・ダニエルズ/ジェイムズ・アーノルド・テイラー/コリー・バートン/グレイ・デライル/ジョージ・ルーカス/ゲンディ・タルタコフスキー) 『スター・ウォーズ クローン大戦 VOLUME ONE』

やっと来た。……いつ観ることができるのだろう。VOLUME TWOのDVDはエピソード3の公開には間に合わないんだよね。タルタコフスキーがんがれ。超がんがれ。

■2動的言語と静的言語の交差点──RubyとJava/Seasar2の出会い

arton特派員による、こないだのPofEAA読書会 第3回でのひがさんによる「S2DAOな考え方」の考え方。日経ITPro上でこの時期にRuby on Railsの文字が躍るのは画期的ではあるまいか。

  • インタフェース・マター
  • 「プログラム」への回帰、大規模/中小規模での不連続変化
  • 「オレはXMLは嫌いじゃないよ
  • 最後にクレジットがッ!!!(わーい)

ちなみに、RoR(AR) X S2DAOのカードを考えたのはオレだ!! と言っ張っとこ。といってももちろん、私がartonさんの記事のような着想を持っていたわけではないけれど。

お名前 : コメント :

本日のツッコミ(全3件) [ツッコミを入れる]

arton [着想したのは、ひがさんだって。すごくびんびん来たよ。]

dot [artonさんの記事へのアンカがずれてます。]

かくたに [なおしましたー。ありがとうございます。]


最新 追記
RSS feed