HYSPRO Diary
2003-12-01 (Mon)
_ アイディアメモ:オープンソースとエントロピー
10個のアプリケーションをインストールしなければいけないとき、tar ballから自分でセットアップすると、1の手間が10個、合計10手間かかる。
たとえば私がtDiaryをtar ballからインストールしようとすると1の手間かかり、deb化するには10手間かかる。しかし、他の人は0手間でインストールできる。
しかし、みんなが同じようにするとどうだろう(もちろん、みんなの真似を私がしたのだが)。10個のアプリを入れる手間の総量は10手間だが(10手間 + 0手間 * 9個 = 10手間)、コミュニティ全体の価値は後者のほうがはるかに高い。Debianはそれが極まっている。
エネルギーを産み出しているのは、オリジナル(upstream)の制作者自体なのだが、その他大勢(Maintainer)は何をしているのだろう。エントロピーを下げているといえないかな。
ここでちょっと飛躍して、
ソフトウェアのエネルギーを産み出すのは小数精鋭だが(ここではOpenもClosedもあまり差はない)、オープンソースにしてうまくするとエントロピーを下げようとする「Maxwellの悪魔」がわんさと現れる。
うーん。定量化できないかな。
2003-12-03 (Wed)
_ WiFi
Headquarterの社長が来て、話を聞きました。やはりWiFiを熱く強調するので、なぜWiFiが普及するとSoftware産業が栄えるのか(とみんなが期待しているのか)あらためて考えました。
IT産業はdigital、すなわちbitがなければ始まりません。だから、bitの総量とそのtraffic量が市場の大きさを決めると言えるかもしれません。Wiredの世界では、bitのあるところは、オフィスや家庭の机の上のパソコン・サーバールームやデータセンター・電化製品のマイコン内でした(あとは、音楽CD-ROMかな)。WiFiなUnwiredの世界では、いたるとろにbitが分布するかもしれません。それらをつなぐtrafficももちろん増えます。
つまり、WiFiによって、飛躍的に市場が大きくなるかもしれない、あらたな市場が創出されるかもしれない、と期待しているのでしょう。まるで、新大陸発見やゴールドラッシュのように。
人間ひとりが外出するときのことを考えてみましょう。むかし、本や手帳・カセットWalkmanな世界では、人が持ち歩くbit量は、digitalとしてはゼロです。しかし今や、携帯電話やmp3・PDA・ノートPCの世界では、bit量は桁違いです。
論理が飛躍した点は、WiFiによってbit量とそのtraffic量は増えるでしょうが(WiFiがなくても増えるので、影響度はどれくらいなのか)、それがSoftware産業の増大としてすぐに影響がでるのか、という点です。うーん、どうなんでしょう、考えねば。
世界中のbit量が10倍になった世界とは(4-5年後?)どんな世界なのでしょう。今の私のノートPCのHDDが40GB、サーバが50GBなので、それが10倍になっている世界とは。
_ なんかリンク元がうまく表示されない
なんでだろ。ApacheのログにはRefererが記録されているので、表示されるはずなのですが。
_ Maven Magic through mikiさん
2つの意味でよく書けています。ひとつは、細かいところまで解説されている点。もうひとつは、Mavenを使いこなすには、いろいろはまって、pluginのソースを自分で追って...、としないといけないことがリアルに書かれている点です(^^;。
でもだいぶよくなり、安定しました。夏前の6月ごろ、ビルドもままならなかった頃が懐かしいです。dependencyにpropertiesとしてwar.bundleなどが書けるようになって、だいぶJ2EEもMavenizeできるようになりました。自分でやらなきゃいけない点の例としては、NeverbirdのJ2EESampleでは、sar.bundleを新設して、自分で処理しています。難しくはないのですが、そもそもあるのかないのか自分で調べていかないといけません。まあ、Open Sourceの楽しみでもあるのですが。
war.manifest.classpathの書き方はしらなかったので、Neverbirdのを更新しないと。
ちなみにこのJ2EESample、力作だと思うのですが、あまり反響がない...(marsさん多謝)。宣伝がたりないようなので、headerに追加しました。
_ プログラマは交換可能か
上のリンク先とは別の議論ですが、刺激されて。
交換可能な者もいれば、そうでない者もいて、大多数が交換可能である。プログラマといっても、やっていることは同じようでも、実は幅がひろい。たとえば、車の運転で飯を食っているといっても、タクシー運転手からF1ドライバまでいるように。
ソフトウェア開発にとって不幸なことであるが、プログラマを交換可能だととらえる雇用主が多いし、事実交換可能なものも多い。ただ、交換不可能といいきれるには、工学博士くらいはないとだめでしょう。ちまたで流行っている技術なんて、学問の世界からみたら研究対象にもならないくらい陳腐なものでしょう。次世代の技術といわれるAspect指向だって、考え方自体は、学問の世界ではずいぶん前のことだそうだし。
何度か書いたかもしれないが、すごいプログラマと言われる人は、実は実装がすごいのではなくて(実装もすごいだろうが)、別のところですごい。たとえば、Rubyのまつもとさんは、Rubyの実装がすごいのではなくて(もちろんすごいのだろうが)、Rubyという言語の設計やアイデアがすごいというように。
2003-12-04 (Thu)
_ html_anchor.rb
設定してみました。なるほど。このURL形式やってみたかったんですよね。Googleで検索されやすくなりますし。
mod_rewriteという便利なものがあったのですね。使い方いろいろのようですが、とりあえずこんな感じで。.htaccessに書くと[なぜか?]Virtual Hostを認識しないので、http.confに書く。RewriteLogLevelは大外へ。それ以外は、Directoryディレクティブ内へ。Virtual Host内だとなぜかエラー。
2003-12-07 (Sun)
_ Re: MavenはAntを越えるか
MavenはAntとは別物だと私は思うので、こういう問いかけが成り立つかどうか疑問です。とはいえ、じゃあどう言えばいいのかと言われると、そういうしかないのが、Mavenの痛いところです。Antのadaptorとしての方向ではなく、Antのプラグインとして頑張れるだけ頑張って実装したほうがマーケティング的には成功だったかもしれません。でも、プラグインの開発にわざわざJavaを使いたくないのでスクリプト化する方向をとり、Jelly(XMLスクリプト言語)-Mavenとしたのでしょう。
Jellyはすごいのですが、こういう方法を見るにつけ、Javaの進化の袋小路が気になります。Javaはheavyなので、便利にしようといろいろツールを産み出すのですが、ツールがツールを生み、逆に、ツールに縛られて、さらにJavaがheavyになっている気がします。別にRubyなんかで書いてたっていいと思うのです。なんか、Javaを使うことそれ自体がフレームワークと化しているようで、もっと自由なプログラミングや発想がある気がします。進化論的にいえば、ある環境にきわめて都合よく進化した個体がJavaによる開発です。この環境が続けば最強なのですが、大きな環境変化には意外と弱いかもしれません。
Mavenで便利になる部分についてはAntよりも圧倒的に便利です。圧倒的にはまる部分もあるので、広くは勧めにくいのですが。
Antはmakeにたとえられるのはよいでしょう。Mavenをたとえるのは難しく、MavenはMavenなのですが、私の感覚では、(Debianの)パッケージングに近いです。フォーマットどおりに書いておけばいろいろ便利で、その便利さを支えるプラグイン(debhelper)もあり、配布可能な状態にすぐにできます(repository、自動up/download、ホームページ作成)。
J2EEをMavenで設定するのは面倒ですが、J2EEのパッケージングはそもそも面倒なので(JBossでの悩ましさでおなじみですが、J2EEクラスのClass Loadingの方法がきちんと仕様化されていないのもいけない)、Mavenに起因するのかは微妙なところです。ただ、POMでできること(POMに組み込めること)はもっとあるので、さらなる拡張を望みます。たとえば、dependencyのdependencyを追いかけたり、ビルド時とパッケージングのdependencyを区別したり、J2EEの構造を指定できたり(multiproject/reactorは対処療法であり、根本解決ではない気がする)、とか。MLでいろいろ議論されているので、1.0リリース後、機能拡張されていくことでしょう。
Debian単位でAppServerになれば、それでよいと思います。apt-get install j2ee-appserverとして、/usr/share/javaにあるライブラリはすべて読む。もしくは、/etc/j2ee-server.confで設定する。/var/www以下のServletやJSPはコンテンツとして実行する。それって、Apacheか(^^;。こういう設定はJ2EE的にはできるのですが、そういう文化になっていないのは、なぜかな。
どうせOSを見せたくないなら、Zopeのように徹底すると方向が分かりやすい。最近のZopeの動向を詳しく見てないので嘘をいっているかもしれませんが、Zopeがその斬新なアイデアほどには流行らないのは、Zopeの開発体勢にあるのかもしれません。ZopeはOSを作っているに等しいのだから、変更には注意深くならなくてはいけません。Linuxで、glibcのAPIやFile Systemが頻繁に変わったら使ってられません。まあ、新しいので変更せざるを得ないのは仕方がないので、ずっと先のバージョンで爆発するかもと、長い長い目で見ることにしました。
というわけで、Apacheくらい落としどころが使いやすいのかな。
書きすすめたら、徒然になってしまいました。
_ The Last Samurai
いい映画でした。さすが、夫婦で応援しているトム・クルーズ。見るまでは、えせ日本になっているのではと危惧していたのですが、いやいや、昔の日本がよく描けています。キスシーンが画竜点睛を欠いて99点。こう表現しないとアメリカ人には分からないので仕方ないですが、それ以外はなかなか頑張ったので、最後まで貫いて欲しかった。Ken Watanabeも名演です。
2003-12-12 (Fri)
_ 接続不能でした
木曜日の23-25時の間接続不能でした。失礼しました。にぃにぃさん、通報Thanksです。
PPTPが繋がらなくなってしまったので、あせりました。なぜかパッケージが古くなっていて繋がりませんでした。apt-get upgradeしたときミスったのかな。でも、特に最近やったわけでもないんですよね。うーん。というわけで、testingを持ってきました。
ppp 2.4.2+20031201 pptp-linux 1.3.1-1
です。
なぜつながらないかというと、discarding out-of-orderというエラーが出てしまうからです。眠くて理解してないのですが、UDPプロトコル?でパケットが来る順番が違い、それをPPTP Clientが回復できず、破棄して、結局接続できない、という感じでしょうか。この辺を参考。最近のPPTPの実装はよくなっているみたいなので、新しいものを使えば問題ないようです。
2003-12-13 (Sat)
_ dwww
こんな便利なモジュールがあったとは。Debian使いは、だまされたと思って、$ sudo apt-get install dwwwしてみるべし。
ローカルマシン内のmanページやらドキュメントページ・パッケージ情報をWebで見られるようにしてくれるツールです。ローカルドキュメント用のポータルサイトがローカルに作られるイメージです。http://localhost/dwww/ を見て、カテゴリをたどって行ったり、検索したり(CGIもインストールされる)して、manやらdocをブラウザで見られます。今まで/usr/share/doc/以下をBoookmarkにしたりして努力していましたが、dwwwでよさそうです。
2003-12-15 (Mon)
_ たびたび失礼しました
今朝9:28から21:00まで、接続不能でした。ログを見ると、CATVの回線が不安定だったようで、何度か接続を回復できていたのですが、とうとうだめで、ついにCATVモデムの電源をおとしてリスタートしなければならない事態でした。
2003-12-16 (Tue)
_ Lesbian GNU/Linux
内容はどうでもよいのですが、このような知識の無駄遣いが好き。porn-get updateで、コンテンツが更新されるんだとか。誰の日記で読んだのか忘れてしまいました、すいません。
2003-12-18 (Thu)
_ Oracle World行けず
忙しくて、楽しみにしていたOracle Worldに行けず、残念です。ここ一ヶ月、ベンチマークテストをいろいろとやっていたのですが、そのレポートも今週でほぼ書き終わり、ほっと一息です。
10gの詳細も知りたかったのですが、ガッツ石松のインストールも見たかったです。元世界チャンピオンに対してなんという扱いをするのかとも思いますが、Oracleのマーケッタは粋な企画を考えます。
_ WEB+DBプレス vol.18
さっそく見つかったか(笑)。裏表紙に広告を出しているので、記事広告を載せられるのです。仕事で書いたのですが、ページ数が少ないので、ネタ探し&書くのに苦労しました。
_ Domain Logic and SQL by Martin Fowler
示唆に富む記事です。Transaction Script、Domain Model、Complex Queryという命名が面白いです。なるほど。
私は最近O/R mapping toolに懐疑的で、コードにSQLを含むこと自体は悪くなく、SQLを含んでなおmaintableでtestableな書き方を探すのが本来なのではと感じています。
一番のchallengeは、データサイズが数十GB以上など大きくなったときです。数百MBのデータならApp Serverのメモリに入るのでin-memory approachで問題ないのですが、そうでないときは(そしてそれがEnterpriseの現実でしょう)、効率的なSQLを人間が考えねばなりません。
O/Rツールだと、それができないものもあるようだし、できてもDisk I/Oになってしまうようだし、結局はSQLです。
大きいデータベースの場合、App Serverのキャッシュも有効か疑問です。キャッシュヒットは期待できず、かならずDisk I/Oが発生します。そこで、きちんとIndexを使うようにSQLに気を配らなければなりません。そもそも、データベースにキャッシュがあるので、さらにApp Serverがキャッシュを持つのは、車輪の2度発明な気もします。
そこで、究極的なO/Rツールは、動的にクエリやキャッシングを変えるものだと思います。つまりコストベースです。データベースのデータ量などに応じてやりとりを変えないと、大きなデータには対応できないでしょう。今のO/Rツールは、いうなれば旧来のルールベースであり、コストベースへの技術革命はだいぶ先でしょう。データベースのオプティマイザの部分もO/Rツールが担うことになるからです。
うん?そうでもないか。App Serverは同じクエリをながせばよく、それを最適化するのはやはりDBの責任か。うーん。いや、関係のあるものすべてを取得するかどうかのオプションがO/Rツールにすでにあるので、それを推し進めたものが究極の姿か。OOの関係だけ人間が定義して、必要なデータを必要なだけ取得するようサーバのデータ量に応じて姿を変える。うーん。
ところで、題名の記事に戻って、FowlerさんもRubyなのね。Ruby好きは知ってたのですが、こういう記事でRubyをサンプルにしてしまうのが驚きです。
_ CATVモデムがハング
今週サーバが不安定なのは、CATVインターネットを利用するためのモデムの調子が悪いからです。モデムが突然固まり、電源リセットが必要になります。こういうことは今までありませんでした。CATVモデムは、上との接続を覚えていたり、クライアントのMacアドレスを覚えていたりするので、内部側のLANケーブルを取り換えるときは、電源リセットが必要です。でも、物理的な変更は何もせずに突如固まるというのは不可思議です。
ネットで検索したら、2chにCATVスレがあって、同じ現象に悩んでいる人がかなりいました。情報公開なく、どうも11月下旬からネットワークを更新しているようで、P2P規制も秘密裡におこなわれているようです。私はP2Pしないのでそれは関係ないのですが、ネットワークが不安定になるのは困ったなぁ。
USENが結構人気のようです。
2003-12-22 (Mon)
_ tdiary-1.5.6-1.deb is now available
本家のミラーから見えるようになりましたので、apt-getで普通に取得できます。
tdiary - New generation weblog, which has many features like TSUKKOMI tdiary-plugin - Plugins of tDiary to add functionarities tdiary-theme - Themes of tDiary to change looks of Web pages
の3つです。my apt-lineからは消しました。
tachさん、ありがとうございました。
2003-12-23 (Tue)
_ 今日はかみさんの誕生日
Happy Birthday! クリスマスと結婚記念日と重なるという、一大事なweek(笑)。
例年通り、Disney Resort(今年はSea)にも行けたし(20日)、イル・ボッカローネでおいしいdinnerもできたし(21日)、一年を楽しく過ごせたことに感謝です。
_ かみさんのVAIO壊れる
かみさんのVAIOのHDDが逝きました。筐体にガタがきているので、急遽、新調することに。というのも、VAIOのネジでまともなのは2本くらいで、パームレストがガタガタいって、HDDのコネクタが外れること度々。だいぶ使ったので、いいでしょう。
というわけで、私が新しいのを買って、私のMebiusをかみさんにおさがりすることにしました。かみさんは手垢のついてない新品を熱望していたのですが、私のMebiusは十分な性能なので、我慢してもらいましょう。
_ NEC LaVie LJ700/7E購入
希望は、1.5kg以下のハイスペックなB5ノート。バッテリー時間はあまり気にしません。今のMebiusは60GB HDDに換装しているので、HDDは多くないと困ります(買ってすぐ換装する勇気はあまりない)。30GBずつ、WindowsとDebianのdual bootにしています。
はじめは、IBM Thinkpad X40と、Dynabook SSで悩みました。X40は誰かの日記にリンクがあって、ファンサイトの掲示板をチェックしたのですが、1.8インチHDDが不人気のようです。
DELLのm300もよく(特にカスタマイズして注文できるので)、新宿東口のビックカメラのReal Dellで実物を見てきました。悪くはなかったのですが、あの青さがどうもかっこわるいのと、矢印キーが小さいのはやっぱりWindowsでは使いにくそうです。
ふと、LaVieが目にとまりました。80GB HDD、mobile RADEON 7500、WiFi a/b/g、素晴らしい。なかなかのキーボード(IBMには負けますが。私は手が小さいので、キーボードの優先順位は一番ではないです)。決定。
さあ、こんな最新機器にDebianがインストールできるのか。できないと、しばらくはかみさんのものとなります(^^;。
_ NEC LaVie LJ700/7E使用感
デフォルトでは、HDDは3つのパーティションに分かれていて、2つにリカバリー用のデータが入っています。しかし、リカバリCD-R作成プログラムが入っているので、それでリカバリCD-ROMを作れます。そうすれば、HDDを全部クリアしても問題ありません(リカバリCD-ROMは別売りしていますが)。
リカバリする際に、Cドライブの容量を決めることができます。
というわけで、これからdual bootするのに、パーティションをたくさん作り直すので、リカバリCD-R作成へ。すると、CD-Rが12枚必要です。LaVie買う人は、CD-Rも買いましょう。また、CD-R作成するのにとても時間がかかります。イメージ作成・焼き・verifyをきっちりやるからです。ドライブは24倍速ですが、1枚20分くらいかかります。
つづく.......
2003-12-24 (Wed)
_ Re: tDiary.deb
「woody用」の意味がよく分からないのですが、具体的にどういうことなのでしょうか。stable以外のパッケージにdependsしているということでしょうか。それなら、1.5.6.deb以前のパッケージと状況は変わっていないと思うのですが。
本家のものと重複して紛らわしいので、my apt-lineから削除しましたが、もし何か特別なチューンが必要なら、my apt-lineでそれを残すことを検討します。古いものはここにおきました:http://www.sgtpepper.net/hyspro/old/
_ IDEA 4.0でのライセンス through ASIPさん
新規ユーザ $249 アップグレード $149
Eclipseの存在があるから、値引かざるを得ないと思っていました。でも、経営は大丈夫かな。
_ Re: jboss-fan-mlオフ会
新年会として、幹事しましょうか? 忘年会でもいいですが。
2003-12-25 (Thu)
_ DB Magagine2月号
特集1のおわり(p.62)で、JBoss 3.2のパフォーマンスが比較されています。商用アップサーバよりもパフォーマンス(応答時間)が悪く(特に同時リクエストが多くなると)、また、応答時間のばらつきも大きいという結果が書かれています。
_ tdiary.deb for Woody
tachさん、さっそくありがとうございます。勉強します。
2003-12-26 (Fri)
2003-12-27 (Sat)
_ サーバ設定ちょっと変更
相変わらずCATVのモデムがハングして、サーバが不安定な状態が続いております。すみません。
どうしたものかと考えていたら気づいたことがあったので、サーバの設定をちょっと変えてみました。どうも、DHCP ClientのIP lease延長要請がうまくいってなかったようなのです。それとモデムハングとが結び付くかは微妙で、数日ようすを見ないと安定するのかはわかりませんが、少なくともきちんと延長要請できるように変えました。
DHCP Clientのログを見ると、DHCP Serverのアドレスがプライベートアドレスなのです。向こうの設定ミスかとも思ったのですが、CATVはLANなので、DHCPサーバのアドレスがプライベートアドレスである可能性も否定できません。うちはGlobal IPの契約なのでそんなことはないと思っていたのですが、可能性はあります。というか、そのようです。しかも、運の悪ことに、そのアドレスがうちの家庭内LANと同じで、パケットが外にいきません。そんなことが起こらないように、プライベートアドレスが定義されているのですが...。重なりにくいものを選んでいたのですが、むこうのサーバ管理者と趣味があうようです(^^;。
というわけで、家庭内LANのマスクを変え、プライベートアドレスがきちんと外に出るようにしました。どうなりますか。
_ 画期的なアイディア --- Popjisyo.com
いや〜、このサイト(www.popjisyo.com)は凄いな [through gardener]。英文ページのURLを入れると、Pop up辞書化して表示してくれるサイトです。個々の技術は既存のものですが、この組み合わせかたはすごい。Googleもそのうちマネするんじゃないでしょうか。いや、買収したほうが早いな。
たとえばこんな感じです。一見なにも変わっていないようですが、マウスを単語に重ねれば、あら凄い。
tDiaryのamazonプラグインのように、プラグイン化すると便利かも。プラグインで原文を入れると、原文とpopjisyoへのリンクがあらわれるプラグインです。
2003-12-29 (Mon)
_ LaVie LJ700/7 インストール記 (2)
特別なことはなく、普通の道のりでした。データは、rsyncでごっそりコピー。パッケージは手動でやりました。dpkg -lの出力をごっそりインストールも考えましたが、元がなんちゃってunstableになっていて、いらないのも結構あったので、手動でやりました。
X Window
$ sudo dpkg-reconfigure xserver-xfree86で、フレームバッファをONすると、うまく動きません。OFFにすれば大丈夫。また、kernel-2.4.18bfのままだと、kdmでのログインがうまくいきません。kdmでログイン後、またkdmに戻ってしまいます。コンソールからstartxする場合は問題ないのですが。kernel-2.4.22にすればどちらもOKです。
Wirelss LAN
できないですね。Alps製のUGJZ a/b/g MiniPCI Network Adaptorというのが(Windowsから見ると)使われていますが、このドライバは多分ないですね。というわけで、内蔵Wirelssを認識させることはしばし断念しました。Linux(オープンソース)と付き合ううえで、3ヵ月くらい放っておくくらいの余裕さは大事だと思います。今とても無理しなければならないことが、数ヵ月たてば普通になっていることが多いです。それでもダメで、どうしても必要なら、別のアクションを考えればよいことです。
そこで、眠っていた10bの無線LANカードを装着しました。設定している途中、なぜか変なDHCPを拾ってくるので調べたら、ご近所さんのLANのようです(^^;。Hot spot開通してました(笑)!
サウンド
音がでない。うーん。まあ、とりあえずはいいか。
使用感
満足です。液晶はきれいで、ドット欠けもありません。しいていえば、キーボードですかね。個人的な感覚ですが、プラスチックの肌触りがなんとなく安っぽいんですよね。あと、ちょっと硬いかな。まあ、慣れるでしょう。
Windowsでは、無線LANの設定がよくできています。いろんなアプリが入っていたので、便利そうなのは残してほとんど消しましたが、Apacheが入っていた理由は不明です。
_ オープンソース開発で飯が食えるか
まつもとさんの日記に刺激されていつも考えるのですが(結論は出ませんが)、議論にあたって、別の視点も必要だと思います。企業に雇われる場合と個人(自営業)の場合は、事情がかなり異なるので、わけて考えるべきです。さらにもうひとつの視点は、既存のオープンソースか自分が創設したものかです。場合分けは、合計4通りあります。
企業に雇われる場合は、既存のオープンソースなら飯がくえるでしょう。LinuxやPostgreSQLやJBossなど、スポンサー企業がついているbig nameなオープンソースは結構あるので、それらのソースが全部頭に入っている人なら(そこまで知っていれば、それなりのアイデアもあるでしょうし)、面接を受ければきっと採用されると思います(もっとも、そこまでそのプロジェクトに関わっているなら、むこうから声をかけられる気もしますが)。もちろん、そこまで知るにはかなりの技量が必要です。
逆にいうと、ちょっとしたパッチ開発程度の知識(技量)で飯は食えないでしょう。でも、それは当然な気がします。それから、国内だと難しいかも。日本の企業は(外資系であっても)、販売会社であって開発部門はない場合が多いですから。
残りの3通りは、結局、どうやって事業化するのかというのが最大の問題なので、オープンソースとは別次元の話だと思います。まず、「Closedなら事業化できるのにオープンソースだから難しい」のかという点をおさます。これは難しい課題ですが、おそらくこんなgood ideaなオープンソースはまれでしょう。そもそも事業化するのが困難なものなら、オープンソースでもムリなのは当然です。
自営業の場合は特に大変です。でもこれは、ソフトウェア開発に限った大変さではないでしょう。
便利だから金になると考えるのは短絡です。ビジネスにのせるには、製造だけではだめで、販売などもろもろも同様に大切です。販売が確立している大企業でオープンソースを製造できるのはそのためです。誰にもマネできないようなすごい製造物なら別ですが。使う人と金を払う人は別な場合が多いです。みんなPentiumをたくさん持っていますが、 Intelから買った人はいないでしょう。
別のたとえでは、マクドナルドよりもおいしいハンバーガーを作れる人はたくさんいるでしょうが、マクドナルドを作れる人はまれでしょう。どんなにおいしいハンバーガーを作れたとしても、それで飯が食えるかは別次元です。
_ emacs + canna on Debian
/etc/init.d/cannaの修正が必要です。詳細は、
$ lv /usr/share/doc/language-env/README.ja.eucJP.gz
_ Re: Inversion of Control
これを読んで、やっと「Inversion」の意味を納得できました。なるほど。
JUnit in Actionでは、IoCのことを、「Hollywood Principle」ともよばれると紹介されていました。「Don't call us, we'll call you」だかららしいです。でも、分かったような分からないような、微妙な比喩ですね。
_ JUnit in Action
題名通り、 JUnitが「in Action」な名著です。つまり、実践的に分かりやすく書かれています。逆にいうと、TDDなどを理論武装するものではなく、あくまでin Actionです。
前の方は、知っている話&Webである話なので、読むのをやめようかとも思ったのですが、目から鱗のTipsが所々にあります(だからin Action)。それを知ってから後は、ガンガン読めました。
たとえば、Jettyの使い方です。Webをテストするときに(あるURLから期待した返答やコンテンツがくるか)、JUnitからJettyを起動してテストするという力業です。なるほど、そんな手もあったか。しかも、Jettyは、コンテンツ呼出しをContent Handlerとして実装しているので、その部分だけをMockすればOK。いや〜、目から鱗、素晴らしい。
Databaseの章は、私がわからない部分なのでもっとたくさん書いて欲しかったのですが、今までの書籍では一番参考になります。なるほど。
結局、私がJUnitで困難だと感じていた部分は、Unitテストではなく、FunctionテストやIntegrateテストをやろうとしていたからだということに納得しました。まずは、「Unitテスト」なのですね。
DynaMackやEasyMockも紹介されています。でも、APIの詳細までは書かれていないのが残念。
_ Wikiスタイルでamazonプラグインはどうかくの?
{{isbn_image_right '1930110995'}}
{{amazon '1930110995'}}
としてもだめ。書き方間違えているのかな。
解決しました
Proxyサーバをやめたのに、Proxyを指定したままでした。すみません。薩摩さん、ツッコミthanksです。書き方があっていることが分かったので、別の原因を思いつきました。
_ tDiary書き、3年目
自分でも忘れてましたが、19日で3年目に突入しました。めでたい。
_ かみさんの誕生日ツッコミありがとうございます
と、隣でかみさんがいっています。今ボンバーマンオンラインにはまっているようです。
_ 年末年始は日記の更新をお休みします
その間に、CATVモデム止まるかもしれませんが、その時は、ごめんなさい。
Debian links:スレッドテンプレ, Debian Quality Assurance, Debian Package Tracking System
written by はんばあぐ

_ とくめいきぼう [日ごとページが YYYYMMDD.html 形式になってないと記録しないみたいです。 html_anchor プラグ..]
_ miki [>力作だと思うのですが、あまり反響がない zip化してSF.jpからリリースしましょう。READMEに簡単なビルドの..]