2005-03-02(Wed) [長年日記] [Edit]
■1 「車輪の再実装は善」
arton師父特派員*1によるお言葉。関連して、mixiにて「jakarta-commonsはエロ画像を拾ってくるのと変わらん」と喝破。カッコいい。commonsがエロ画像であるならば、Mavenをわーいわーいと言いながら使っている私はさしずめダウソ厨。
補足
コンテキストを漂泊して部分だけ抜粋するのはよくないと思うので、元の発言をコピペ:
僕は、jakarta-commonsとか拾ってくるやつは余り信用していない(っていうかいるわけだが)。その程度のコンポーネントは作るべきだ。探して拾って使い方調べる手間は、それほど役に立つ経験にならんが(極論すればエロ画像を拾ってくるのと変わらん)、自分でこさえれば確実に経験値として蓄積される。
とは言え、いきなりStrutsの規模のものを作り始めたら怒ると思うが。ようは規模感と工数は意識しなければならんわけで。
すぐにmaven.ozacc.comで検索してdependencyに追加しちゃう私ではあるが、志はかくありたいもの。「書こうとする間にソース(とテストコード)読んで使っちゃえ派」からいつまでたっても脱却できませんが。ヘタレだなあ。
まあ、ヘタレはヘタレなりに、インターネットを使って自分の力をいくらかでもレバレッジしている、ということで。commonsも然り、kakutani.comも然り。
*1 使用禁止令が出たので「特派員」にしてみる。けど、日経ITProの連載の続きはまだなのかなー
■2 Dependency Injection が"(スコア-1:フレームのもと)"なのは、
オブジェクト指向の基本技術だからであり、「オブジェクト指向」がいまだに(スコア-1:フレームのもと)だからなのだろう。totoさんの興味深い疑問に私が咳さんに代わってお答え!……しようと思ったのだけれど、力及ばず。
マーキテクチャ的な話も絡んでくると、いまの私には文章で巧く説明できない。いずれ、もっとスマートで頭の良いひとがちゃんとした文書を書いてくれることに期待。
それはそれとして、自分じしんでも思考と実践は重ねていくつもりだし、まとまった考えができれば何かは書くつもり。自分で「つもりつもり」と書いていることはきちんとやれた例がないけど。
2005-03-03(Thu) [長年日記] [Edit]
■1 達人プログラマーの本棚:『Agile Web Development with Rails』
大変なことになっているシリーズの最新タイトル『RailsでアジャイルWebアプリ開発』がアナウンスされた。Dave"達人"Thomas御自ら書き下ろし 。200頁ぐらいと手軽なのもいい。
"About This Book"ではAjaxへの言及も忘れていない。言及しているだけっぽいけど(そりゃそうだ)。2005/06/05発売予定。
Web開発の新しいアプローチ
- 洗練されたWebアプリケーションを迅速かつ容易に構築するために、
- インクリメンタルかつイテレーティブな開発スタイルを採用してユーザの望むWebアプリを作成し、
- 定時に家に帰ろう。
「(業務アプリ開発は)もうJavaやのうてええがな」という私の予言が成就する日も遠くない(はず)。
RailsがDebian unstableにやってきた
「生きてま」経由:
$ apt-cache show rails Package: rails Priority: optional Section: web Installed-Size: 3660 Maintainer: Adam Majer <adamm@galacticasoftware.com> Architecture: all Version: 0.10.0-1 Depends: ruby (>> 1.8), ruby (<< 1.9), rake, libtmail-ruby1.8 (>> 0.10.7), libyaml-ruby (>> 1.8.2), rdoc (>> 1.8.2), libtest-unit-ruby (>> 1.8.2), libdrb-ruby1.8, libsoap-ruby1.8, libxmlrpc-ruby (>> 1.8) Recommends: libwebrick-ruby1.8, irb (>> 1.8) Suggests: libapache-mod-ruby Filename: pool/main/r/rails/rails_0.10.0-1_all.deb ...
を。0.10.0だ。Dependsをみるかぎりではgemsも要らないのかな?
2005-03-04(Fri) [長年日記] [Edit]
■1 興味深いツッコミをいただいて、色いろ書きたいことはあるのだけれど、ショックな出来事が:
■2 「達人スターターキット」の翻訳が大変なことになっている件について
『達人プログラマー〜ソフトウェア開発に不可欠な基礎知識』として発売される模様(Amazonではまだ予約できない)。2005/03/18発売で、価格は税込5,040円。
サブタイトルに「バージョン管理/ユニットテスト/自動化」とある、ということは:
- I:『Pragmatic Version Control Using Cvs: With Cvs』(176頁)
- II:『Pragmatic Unit Testing In Java With Junit』(159頁)
- III:『Pragmatic Project Automation: How To Build, Deploy, And Monitor Java Apps』(161頁)
が1冊になっている? 原書はこの3冊で合計496頁。邦訳は480頁とあるのでだいたい数字は合う。
バージョン管理はSubversion版が、ユニットテストはC#版があるけどおそらくCVS+Javaじゃないかと予想してみる。
で、だ。
訳: 長瀬嘉秀 (株)テクノロジックアート
なにもDave Thomasにまで手を出さなくてもいいんじゃない? ショック。村上雅章さんじゃないのね。もういちど繰り返す。ショック。
というのも、テクノロジックアート+アスキーについては、『リファクタリングワークブック』が過去に出版されているのだが、この書籍の訳はすさまじいことになっていて、"Emergent Design"(創発的設計)というリファクタリングの超重要コンセプトを:
緊急的設計
と訳出して平気で書店に並べていた。失望というより他に言葉がみつからない。他の箇所がどれだけ正確に訳されていたとしても、この訳語ひとつで全て台無し。
2005-03-05(Sat) [長年日記] [Edit]
2005-03-09(Wed) [長年日記] [Edit]
■1 大事なほうのUML
Unified Modifying Language。統一変更言語、とでも訳せばよいかしら。標準ツールはdiffとpatch。チーム開発では主に、cvsやsvnのようなSCM(ソフトウェア構成管理? ソースコード管理?)ツールと組み合わせて使われる。
もうすぐSI系企業では新人研修のカリキュラムが始まったりすると思うのだけれど、システム開発をする新人の人たちには、Unified Modeling Language(kakutani.comでは以後、「大事じゃないほうのUML」と呼称する*1。)よりもpatchを読んだり充てたり作ったりする演習を行った上で各自素振り、これを基礎スキルとして身につけておいてもらいたい。
現場としては「patchと書かれたファイルを見たらdiffが入っていて面食ら」うところから始めて、SCMツールの重要性を知って、タグとブランチの基本的な概念と使いかたぐらいは習得しておいてもらいたいな。
ファウラーたんも「SCMを理解できない人はエンタープライズなシステム開発は向いてないよ(要旨)」と『PofEAA』に書いていた。
以上、mixiの日記に書いたネタの使いまわし。なんでこんな話を書いているのかというと、今日はチームが本陣とリリース先との二手に別れての作業。で:
- リリース先での緊急修正の結果がメールで飛んでくる
- それをリリース時点のタグから分岐したブランチに充てる
- ブランチ上の修正をHEADに下ろす(いまのチームはHEAD至上主義)
「ああ、なんか開発してるなぁ」という手応えを感じる。
リリース先で出張るコーチはUTF-8なソースコードにEclipse上にて一撃で充てられるpatchをちゃんと送ってくれる。基礎スキル重要。と賛辞 over HTTP。
一方の本陣にて待ち受ける私は、環境方面でのハネムーンナンバー*2を上げる努力をする一方、HEAD上にて今日も今日とて伝家の宝刀を抜き身で振り回す一日。プロジェクトリーダー失格。お。J2EEコンテナのバグみっけ。
■2 『UNIX USER』2005年4月号
kakutani.comヲチャーの間では「通報しますた」でお馴染みの(と不遜なことを書いてみる)、まつもとさんの連載が始まったので買ってみた。
以前はぼんやりと眺めてそのまま終わりだったのだが、X40をDebianにして惑星移住を果たしたからか、記事を楽しめるようになってきた。Mac miniの紹介、特集記事(Windows, 日本語環境)はなるほどなー、と思うところ多々。かと思えば唐突に瀬谷さんの「テストファーストによるソフトウェア開発の衝撃」という記事が飛び出てきたり。
来月号はライセンス法的問題の連載もはじまるみたいだし、ちょっと続けて買ってみようかな。連載記事は私にはまだまだ手強いものが多いけど。
2005-03-14(Mon) [長年日記] [Edit]
■1 メインタンク、ちょいブロー
う、Wikiばな……行きたかったナァ。OSC2005は行けるかしら——
→ OSC2005、Rubyのコマ(YARV,RoR,Hiki)だけ参加登録。他のも面白そうなのだけれど、人生とはトレードオフの連続なのである。
- なんだか書籍をどどんと購入。いつ読むんだろ(と他人事みたく書いてはいけなくて、読むのだッ!!)。
- 本サイトで勝手に話題沸騰なアレも入手。当然、自腹。いやはや、予想通りというかなんというか。
- 「マーキテクチャって、typoじゃなくて、marketing + architecture で合ってる?」
- → 合ってます> babieさん
- ただ、若干私が勘違いしていて、マーケテクチャが正しいようです。
- 色いろ付け加えなければならないことも多いと思っていたのだが、ずるずると徒に日にちばかりが過ぎてしまった。まあ、いずれ気が向いたら、ということで……。
2005-03-15(Tue) 那須のケント・ベックとタッチ・アンド・ゴー [長年日記] [Edit]
■1 Dynamic Typing、あるいは私のミッション・ステートメント
Martin FowlerのBlikiに"Dynamic Typing"というエントリが追加されている。SmalltalkやRuby——繰り返す、SmalltalkやRubyでのプログラミングは楽しい、と前置きした上で:
And there's business value in fun - after all motivation is a major factor in programmer productivity.
「そして、楽しさにはビジネス価値があります——結局、モチベーションこそがプログラマの生産性を左右するのです。」
これを私のミッション・ステートメントとする。
翻訳キター!!!!
児玉さんお疲れさまです。やっぱり「それから」なのかな。私は「ビジネス価値重要」が結論だという電波を受信したので「そして」で押しきってみる。
■2 Eclipseからsvn+sshを利用する
以前に試したときは巧くいかなかったけれど、「vmassol総研」主席コンサルタントのアドバイス、に従ったところ、巧くいった。Debian(sid) + Eclipse3.1M5aで動作を確認。速度的にも問題なさそうなので、しばらくこれで使ってみよう。手順としては:
- subclipseをソフトウェア・アップデートからインストール
- tmate.orgのSublipse拡張をソフトウェア・アップデートからインストール
- eclipseの起動時の引数を追加して以下のような感じにする:
$eclipse -vmargs -Djavasvn.ssh2.key=/path/to/private/key/file \ -Djavasvn.ssh2.passphrase=optionalPassphrase
といった感じ。SSHの秘密鍵へのパスとパスフレーズの設定をconfig.iniに追加する方法も載っているけれど、私の環境では動作確認できず。SSHの秘密鍵/パスフレーズは1つで充分だし、いずれにせよ-Xmxとかを指定するので、起動時の引数指定の方法で間に合う。
svnリポジトリとの同期時にパスフレーズの入力ダイアログが必ず出ちゃうけれど、これぐらいなら許容範囲内だな。importもCVSのダイアログほどには洗練されてない印象。
ちなみに、vmassol総研の別のエントリによれば、TortoiseSVNのwrapperを提供するEclipseプラグインもあるようなのでWindowsユーザの方は試してみる価値があるかも。
2005-03-18(Fri) [長年日記] [Edit]
■1
『RtP』がJolt AwardsでProductivity Winnerに
第15回のJolt Awardsの結果(PDF)が発表された。我らが『RtP』こと『Refactoring to Patterns』がGeneral部門でProductivity Winnersになった。めでたい。翻訳はどーなってるんでしょうか。『PofEAA』はいよいよ(いよいよ!)出版間近っぽいですが。他シリーズの翻訳もお忘れなきよう。
ちなみにGeneral部門のJolt Winnerは『Head First Design Patterns』。パターンよりリファクタリングのほうが大事なのに……。『Head First Refactoring』は出ないのかなあ。シリーズの趣旨に適うと思うのだけれど。
他のProductivity Winnerは、副題がえらく長い『Joel on Software』(翻訳を激しく希望)と『Software Factories』(ふーん)。
いっぽうのTechnical部門は、JoltがDIへのイントロダクションな『軽快なJava』。Productivity Winnersは『Hibernate 開発者ノートシリーズ』、あとはC++の本とかEclipseガイド第2版とか。HibernateやEclipseはプロダクト部門でもJolt Awardsだったりと引き続き元気いっぱい。ギョーカイの潮流を順当に反映している。
あと、Python2.4が言語環境のProductivity Winnerになっているのが個人的に興味深い。RiteはJoltを奪れるかな?
■2 kakutani.com 障害
14:15〜20:05ぐらいまでの間、宅内ルータの障害で止まってました。その間アクセスできなかった方、ご不便をおかけしました。
■3
『達人プログラマー—ソフトウェア開発に不可欠な基礎知識』
読了。私は本シリーズに対して、余人からすれば異様な思い入れがあるように見えると思うで、割り引いていただきたいところではあるが——定性的な感想としては、風情がない。
それが顕著なのは達人スターターキットシリーズの名物コラム「Joe Asks...」。我らがジョーの質問コーナーなのだけれど、第1部(バージョン管理)の一発目の質問なんて、ジョーの質問と達人の回答がいずれも地の文になっちゃって何がなんだか。哀しい。
達人スターターキットとして客観的に致命的なのは「ソースコードの中で故意に省略した重要でない部分」が"XXX XX XX;"と表記される部分。原書では、この"XXX"の箇所は印刷の色が薄くなっており、重要な箇所が手前に浮き出るような感じになっている——のだが、翻訳では全部同じ濃さ。おーい。
第2部「9.4 テスト駆動設計」(p.268)のサンプルコードなんて、目も当てられない。せっかく良い紙を使って全体の薄さを抑えていると思われるのに、台無し。
他にもいくつか細かいバグや、「確かに原書にはそう書いてあるけどさ」的なところが見受けられるのだけれど、バグレポートを書く余裕がない。
色いろ苦言を呈してはいるが(まだまだ書き足りない)、それでも、私は日本語で読めるようになった本書を推薦せざるを得ない。「達人スターターキットとは、現代のソフトウェア開発に不可欠な基礎を扱う全3部のセット」であることは確かなので、イマドキのソフトウェア開発に携わる方がたは是非、御一読を。
この書籍の売行が今後、大変なことになっている達人プログラマーの本棚を日本語で読めるかどうかを左右したりするんですよね?
2005-03-19(Sat) [長年日記] [Edit]
■1 大阪
エスカレータで立ち止まるときにはうっかり左側に立ってしまう程度には東京にもすっかり慣れたディアスポラの関西人である私の実家へ家族総出で空から突撃。息子をお披露目。旧い交友関係を新たにしたりもするのだが、会う人会う人に「いちばん子供と無縁そうな人のところに一番最初に子供ができた」と言われる。
その印象は事実だろうし、否定するつもりもない。けれど、人には時とともに変わるところもあれば変わらないところもあるのだ。
2005-03-20(Sun) [長年日記] [Edit]
■1
引き続き、大阪
畏友が婚約者を連れて息子を見にくる。息子のおもちゃをみとめて「それ、前にホームページで探してたやつですよね?」と言われる。初対面なのに。
マトモなたこやきをたらふく食べた。私は満足というか興奮しているのだが、周囲の大阪人は普段から食べているので何の感動もないし、妻は東京の人間なので取り立てて感慨もなく。
息子は初孫ということもあり、実家の家族にずーーっと相手をしてもらえて御満悦。帰り際には、見送りに来た母と弟に手を振るという奇跡を演じて見せていた。他人は誰も信じないだろうけれど、あの場に居合わせた我われ4人はそれを信じる。
1泊2日は慌ただしいな。次に大阪へはいつ行けるんだろ。
帰りの飛行機でケータイを失くした。飛行機で失くしたといくら言ってもJALのカウンタとか電話窓口ではテキトウにあしらわれる。
2005-03-26(Sat) [長年日記] [Edit]
■1 OSCON2005:2日目
って1日目は行ってないけど。
Ruby Hot Topics 〜YARV and Rails〜
満員御礼です!!との噂を聞いたので、早めに行ったら早すぎて、まだ会場の準備ができていないという罠。ぼーっと見ているのも申し訳ないので、椅子を運ぶのをお手伝いしてみた。
- ストヤンによるRoRの紹介。プレゼンはパッションだ。「Rubyはイイ仕事、簡単二デキル。……じゃ、ちょっと見てみよっか」。
- 高橋会長によるRoRの考え方。モリサワのフォントが光る。
- ささだ尊師による毒をまじえたYARVの説明。
- Skypeでまつもとさんに質問してみよう、のコーナーなのに、まつもとさんがささだ尊師に質問していた。
Wiki の基本から活用まで − Hiki を題材として −
Rubyのコマだと思っていたらMomongaプロジェクトのコマだった(そういやかずひこさんの名札もmomongaバージョンだったような)。オトナなプレゼンだったので、アジャイルとかマインドマップとか出てこなかった。XML-RPCは色いろ妄想が広がる。
PofEAA読書会、再開のボール
何故か私のところにボールがあるということを知る。あうあう。そうなのか。どうしよう?
2005-03-27(Sun) [長年日記] [Edit]
■1 息子:Quarterly Reflection (2)
6ヶ月経過。
- 世界を舌で認識している。何でもつかんで舐める。
- よく声を出して笑う。片エクボであることが発覚。
- 支えると座れる。座った姿勢が好きなようだ。
- 寝返りができるようになったようだが、あまり積極的に寝返らない。
離乳食はこれから。
Before...
○ arton [そうか、そう抜き出しちゃうとcommonsまるまる全部みたく見えるな。個々の細かいやつということね。]
○ babie [マーキテクチャって、typoじゃなくて、marketing + architecture で合ってる?]
○ きしだ [たしかにそうなんですが、前段階としてグローバルなオブジェクトが取得しやすいというのはあると思います。 型に頼らない言..]
○ 通りすがり [あまり建築に例えたくないんだけど、再利用しようとしてるのは様々な建材や、その利用方法じゃないかな。 B2Cアプリと..]
○ guion [DI未経験のくせに「DIってDelphiのFormファイルだよね」と言い切った漏れは馬鹿です(^^;。 //優秀な軽..]