HYSPRO Diary
2002-04-02 (Tue)
_ Jakarta系いろいろインストール
Jakarta開発者の方々は最新版のlibraryを使っているようで、こちらもCVSで追いかけないとコンパイルできません。はっきり言って、README通りではなかなかコンパイルできません。antしてみてエラーが出たらログをよく読み、build.xmlやbuild.propertiesで漏れがないかチェックしましょう。最終目的はStrutsのビルドです。
antが読めることは必須です。antを使ったことがない人はまずantに慣れましょう。antで自動化するととっても楽でエレガントです。1つ知るのに3つ知らねばならというように、必要知識が爆発するのはLinuxやJavaではよくあることです(^^;。
_ まずは、下準備の下準備です。
jakarta-antをCVS co:build内で$ ./build.sh install
junitをCVS co:$ ant
jakarta-velocityをCVS co:$ ant jar
jakarta-commonsをCVS co。
collectionsを先に:$ ant dist
_ ここでようやくjakarta-commonsのビルドの準備に入れます。
sax2をDL:sourceforgeでバイナリを得る。
xml-xercesをCVS co:java内で$ ./build.sh all
jdbc2_0-stdext.jarを用意する(Tomcatのcommon/libにあります)。
J2EE 1.3.1を入れておく。
_ jakarta-commonsのビルドです。
jakarta-commonsのビルド:$ ant dist
_ いよいよjakarta-strutsのビルドの準備です。
jakarta-commos-sandboxをCVS co:servicesをビルド $ ant dist
jakarta-oroをCVS co:$ ant package
sourceforgeでhttpunitをCVS co:$ ant dist
AspectJをAnt taskとともにDL。aspectjrt.jarとaspectjtools.jar・aspect-atn.jarをDLする。この3つとjunit.jarとを$ANT_HOME/libに入れる。
checkstyleをsourceforgeからCVS co:$ ant build.bindist。checkstyle-all.jarとantlr.jar・jakarta-regexp.jarを$ANT_HOME/libに入れる。
xml-xalanをCVS co:$ ant dist(ただしj2ee.jarをCLASSPATHに入れる)
できたstylebook.......jarを$ANT_HOME/libに入れる。
jakarta-toolsをCVS co:javac.jarとprojectx-tr2.jarとを$ANT_HOME/libに入れる。
xml-stylebookをCVS co:$ ant。stylebook-b2.jarを$ANT_HOME/libに入れる。
_ cactusのビルド。
jakarta-cactusをCVS co:$ ant
ここで再び挫折。aspectj-toolsが、NoSuchFieldError: classdocをはきました。うーん、これはバグっぽいな。
2002-04-03 (Wed)
_ ビルド依存症?
先週のあるある大辞典は依存症(いそんしょう)の特集だったけど、私、ビルド依存症になりつつあります。いろいろプロパティを調整してantビルドが通ったときは、パチンコで当たりが出たような快感があります。そして、1つや2つのビルドではもう満足できません(笑)。
あなたもそうなら、Strutsのビルドをお勧めします。やりごたえ十分であること、保証します。しかも、3ヶ月位たったら同じやり方では出来なくなっているでしょうから、またチャレンジできます。
2002-04-05 (Fri)
_ Java IDE
とらねこさんのところで、Java IDEについて話題になっていました。出展はメーリングリストのようです。IDEsというsubjectの発言がそれ。
なんでも、IDEAがよいらしい。他には、NetBeansやthe free Forte for Java Community Edition 3.0/4.0EA (based on NetBeans)・JBuilderがあります。
NetBeansは、2ヶ月ほど前にちょっと試しましたが、重すぎます。Pen III 1GHzでも力不足な感じです。あと、画面に情報が凝縮しすぎて見づらく、ノートパソコンでは使いづらいです。という訳で私はパスしました。
Forteは、使ったことがありませんが、Tomcatの連携が素晴らしく、request情報を見れたり、sessionを追えたりする機能があるらしいです。これはすごいですね。NetBeasベースらしいので、操作感はかわらないでしょう。
JBuilderを私はずっと使ってきました。画面もきれいで、操作感は素晴らしいです。でも値段が高い。Enterprise版が30万以上ですからね。これで何年も使えるのならともかく、最近は半年でバージョンアップですから、会社としても着いていけません。Professonal版でもいいのですが、CVS機能がないのが痛いです。だから、JBuilderの最新版を使い続けるのは難しいので、エンジニアとしてのリスクヘッジとして、それに代わるものを探しているところです。
IDEAは、Tomcatとの連携がないものの、コーディングには秀逸らしく、軽いそうです。今落としてきたので、早速使ってみます。値段は$400弱です。ほんとによければこれくらいは個人でも出せるでしょう。
_ IDEAを1時間使ってみました
確かに凄い。こんなIDE見たことないです。隅々まで設定できるにも関わらず、見やすい。Javaのコーディングのために練られたIDEです。IDEAを触ると、JBuilderのGUI機能がとても貧弱に見えます。
ちょっと企画を思いつきました。この感動を今は独り占めしているわけですが、みなさまにも味わってほしいので:ここに5人のツッコミが入ったら、IDEAのレビューを書くことを約束します。さて、どうなるんでしょうか(笑)。
2002-04-07 (Sun)
_ IDEA書きます!
とらねこさんをはじめ、多くの方からツッコミを頂き感激しております。
ここでやらねば男が廃る、IDEAのレビューを書くことを宣言します。
ちょうどいまノートPCを新調し、データのお引越しをしている最中です。IDEAを含めて新規インストールしています。IDEAの評価期間が21日間ですので、今月中に発表します(きっと来週末にまとめて書くでしょう。いや書く)。
2002-04-09 (Tue)
_ Linux World 5月号別冊
Linux Worldの5月号別冊を買いました。Kondara AsumiのCDが付属しているからです。VMWare 3.0が収録されているのもGood.
私はLinux Worldを定期購読しているので、ほとんどの記事は読んだことがあるものでした。フリーウェア活用という題目だと、ああいう収録になってしまうのかな。本誌には、広瀬さんのとかもっと面白い記事があるので、そちらも収録してほしかったです。
_ B Flet's対応地区になったのだが
気づいたらB Flet's対応地区になっていました。料金を調べたら、プロバイダ代が高すぎで、すぐの移行は無理でした。
このサーバーは自宅サーバーで、Flet's ISDN[\3,000] + Infosphereの固定IP8つ for ISDN[\7,000]で運用されています。ファミリータイプのB Flet'sにすると、B Flet's[\5,000] + Infospereの固定IP8つ for B Flet's[\19,000]となり、1万4千円アップ。これはちょっと厳しいです。
他のプロバイダのサービスを調べたら、決してInfosphereが高いわけではなく、固定IP8つでどこもこれくらいです。光はとっても魅力なのですが、残念ながら、今は見送りです。(ADSLは、田舎じゃないのに、抵抗が大きすぎるとNTTに断られてしまってます。)
ところで、Flet's ISDNとB Flet'sとは、1つの契約回線で同時に利用できるのでしょうかね。
2002-04-10 (Wed)
_ IDEAを1日試す
ヘルプを一通り目を通して、Strutsを使ったServlet/JSP開発に1日IDEAを使ってみました。ちょっと熱が冷めました(^^;。素晴らしい点は沢山あるのですが、今日はあえて欠点をちょっと書きます。詳しくはレビューを乞うご期待。レビューでどう書こうかなと考えつつ使ってますので。
_ 欠点1:日本語の表示が変。
日本語が1byte文字と重なってしまうのです。フォントのせいかと思いいろいろ試しましたが、そうではないようです。想像するにバグっぽいです。エディタの部分は自作しているのでしょうが、フォントの幅の取得が2byte文字ではうまくいっていないようです。おかしいのは表示だけで、コンパイルや実行は正常なので実害はないのですが、支障はかなりあります。ソースはともかく、JSPとなると日本語が多いので、かなり不便です。
修正するにしても軽微だと思うので、メールで知らせてあげようと思います。
_ 欠点2:JSPのコンパイルが欲しい。
現時点のIDEAはエディタ機能に特化しているのがウリで、JSPやTomcatといった部分は弱いこと(というかない)は承知の上なのですが、やはり不便です。JSPのタイプミスと気づかず、暫くはまってしまいました。JSPのコンパイルチェックは早く対応して欲しいです。Tomcatとの連携はIDEに期待していないので、なくてもいいから(でも、ForteのSessionが見れる機能はすごく欲しい)。
_ 欠点3:それほど軽くない。
軽いということに誘われ期待が大きすぎたせいでしょうが、それほど早くないです。まあ、ここ1ヶ月Meadow + JDEEで書いていたので、余計に重く感じるのでしょうが。JBuilderより若干軽いかなという感じで、大差はありません。
Meadow JDEE > > IDEA > JBuilder > > > > NetBeans
となります。
_ 読書 細胞の世界を旅する(上) Christian de Duve著 東京化学同人
生物学の本を読んでます。ひょんなことから生物学関係のソフトを作ろうと思っていて、あまりに無知すぎて会話が成立しないので、焼け石に水と思いつつも読んでいます。この本が良いからでしょうが、生物学ってこんなに面白かったのね。
中学から生物は苦手で、高校でも物理+化学だったため、生物は食わず嫌いでした。本を読んでも(というか読もうとも思いませんでしたが)分からず、知識は高々あるある大辞典&NHKスペシャルいう、手付かずの領域でした。
村上龍の最近のエッセイ「だまされないために、私は経済を学んだ」でこの本が紹介されていたので、だまされたと思って買ってみたところ、なかなか丁寧にしっかり書かれていて満足です。この解説力・構成力は見事というしかなく、それもそのはず、著者はノーベル賞受賞者だそうで、納得。私が書いた本とは比較にもなりません(^^;。
生物は、外部から物質を獲得して、消化し栄養にするわけです。この過程がプログラムに似ていません? パラメータを貰って、クラスを漂ううちに処理がなされる。生物学の考え方がソフトウェア工学に応用できないかなと思ってみたりしています。
2002-04-11 (Thu)
_ 随筆 ごーまんかましてよかですか
まだ概念がかたまっていないのですが、ごーまん気味に徒然に書いてみます。
本から得られる知識はほとんど得たかなと(と言ってしまうところがごーまんです)。本屋に連れられて好きに使っていいと10万円もし渡されたなら、以前なら即使い切る自信があったのですが、最近は、1万円でもあやしいです。知りたいことが書いてある本がないのです。
ネット上でも、静的なページに興味深いものはなく、その代わり、とらねこさんやただただしさん・Kondara系の方々の日記に最近は大きな刺激を受けています。
技術者として、中級から上級に向かう壁にいるのかなと思っています。これからは生の経験を自分で切り拓いていくしかないのかなと。裏を返すと、一人で出来ることはやったので、次はチームでの実践開発を通して生の知恵を蓄積しなければということです。
しかし、技術者10人のベンチャー企業にいるので、明日の飯の種を稼がねばなりません。半年後の松坂牛より、明日のめざしが大切です。技術の高みとビジネスの高みとは並行ではないので、折り合いが難しいですね。いや表現が違うな、技術の高みを行くだけでなく、さらにそれをビジネスの高みへと導くのは大変ですね。
_ ただただし [ワタシを信じると痛い目に遭います(笑)]
_ はんばあぐ [確かに私の中でかなり美化されているかも(爆)。一方的にお慕え申し上げております。]
_ みずみず [ほぉ〜。明日のめざしね・・・ んじゃ、明日の夕飯はめざしにするかぁ?ん〜? すると3日連続でお魚になるけどいいのかね..]
_ とらねこ [楽しんで頂けて光栄です。IDEA のネタなんか誰も読まないだろうと思っていたのですが、素早い対応には驚きました:)]
_ はんばあぐ [いつも楽しく読んでいます。ページもよく出来ていますし、ネタがマニアック(^^;なので気に入ってます。]
_ ASIP [4/21までに個人名でIDEAを購入するとライセンスが200$になるキャンペーンについてIDEAの公式サイトのHOM..]
2002-04-14 (Sun)
_ IDEA $200キャンペーン
IDEAが$200キャンペーンをしています。ASIPさん、ツッコミ情報ありがとうございます。個人ユーザーに限り、4月21日までだそうです。これはかなり魅力的ですね。買うかどうか1日考えます。
_ IDEAを一言でいうと
いまのところIDEAは、IDEというよりむしろエディタですね。Javaに特化したエディタです。Javaのプロジェクトを書くという意味では、Emacs + JDEEよりも優れているでしょう。Emacsはとても便利なのですが、やっぱりGUIが弱点です。
IDEAはGUI機能が優れていて、細かく表示をカスタマイズできたり、沢山のファイル群をあれこれいじったりするのが、快適に出来ます。Javaのプロジェクトをコーディングしていく上で、どんな操作が必要なのかがよく研究されています。
そして、IDEAの独壇場とも言えるくらい凄そうなのが、Refactoringまわりの機能です。現在JavaではRefactoringが花盛りですが、IDEAが様々な操作方法を用意してくれています。
たとえば、Javaでは次のようなコードを良く書きますが、これがボタン一発で、
int i = 1; String s = "Hello"; foo.hoge(1, s);新たなbeanが自動生成されて、次のように変換されます。
Hoo hoo = new Hoo(1,"Hello"); foo.hoge(hoo);
_ まあ、この機能自体が便利かどうかはともかく、このような手段を沢山用意してくれています。どれが便利なのか研究していきますが、IDEAを使いこなせれば凄いかもしれないです。
で、JSPはコンパイルできなし、Tomcatは走らないし、Swingをポトリペタリできるわけでもないのですが、簡単インストール&優れたエディタ&JavaのCLASSPATHやらなんやらの設定ツール付きに、$400払えるかということになります。それが、今だと$200。うーん。
2002-04-16 (Tue)
_ IDEAからの返事
IDEAの日本語表示がずれる件についてメールしたのですが、その回答が来ました。次のメジャーバージョンアップで、エディタがUnicode対応になるそうです。つまり、それまでは辛抱ということですね。メールの返事も感じのいいもので、バージョンアップに期待しましょう。
_ 日記を間違って消しました
前回の日記4月14日分を誤って消してしまい、昨夜のバックアップからログを復旧させました。そのため、リンク元の記録が1日分消えています。すみません。
_ IntelliJ Early Access Program (EAP)
こちらにIDEAのEAP(Early Access Program)があるそうです。返事メールで教えてもらって知りました。なるほど、バグ情報や新製品情報をここで得られるわけですか。
_ RAMディスクの作り方
まず、マウント先を作成:# mkdir /mnt/ramdisk; chmod 777 /mnt/ramdisk
次にフォーマット:# mke2fs -m0 /dev/ram 2048
そしてマウント:# mount -e ext2 /dev/ram /mnt/ramdisk
再起動しても利用できるように、フォーマット&マウントはrc.localにでも書いて置きましょう。
RAMディスクの使用例として、Apacheのmod_gzipのtemporary directoryをここにすると、圧縮に加えて、RAMディスクで更に速くなります。
2002-04-17 (Wed)
_ メジャーなWebサービス?
ついにWebサービスがメジャー化しそうです。ただただしさんのところで知ったのですが、GoogleがAPIを公開しました。検索エンジンだけでなく、他にもいろんなサービスがあるようです。
_ 訓 輪島功一の名言
昨日の日経新聞夕刊に、ボクシングの輪島功一さんに関するコラムが載っていました。バラエティー番組に出ている最近の輪島さんからは想像もつかないくらいシリアスな内容でした。なんでも試合前の記者会見で風邪を装い相手を油断させたそうで、そんなエピソードがいろいろ書かれていました。世界チャンピオンになった輪島さんをして:
「技術力は5・6割で、洞察力とか交渉力が勝負を決める」
だそうです。
2002-04-21 (Sun)
_ Apacheのmod_perl
ApacheのCGIとして起動されるPerlプログラムは、request毎にPerlインタープリタが起動され、Perlスクリプトをコンパイルし、そしてCGIとしての実行が行われます。これはサーバーにとって負荷の重い作業なので、mod_perlを使うと負荷を軽減できます。
mod_perlのインストールの仕方は方々にあるので、ここでは2つのモードの違いをメモします。
mod_perlの使い方は2通りあって、Apache::RegistryとApache::PerlRunです。PerlHandlerで指定します。Apache::RegistryではPerlプログラムがメモリ上にキャッシュされてとても高速に実行されるのですが、それようの書き方をせねばなりません。ですので、人様が作ったPerlスクリプトが正常に動作する保障はありません。
一方、Apache::PerlRunではインタープリタが常駐するだけなので、Perlスクリプト一般が動作し、実行(起動ね)もはやくなります。
_ ということを忘れていて
ということをすっかり忘れていて、2週間ほど前、みずみずさんのディレクティブでコメントアウトされていたApache::Registryを復活させてしまい、みずみずさんのCGIの動きがすっかり悪くなってしまったのでした。
ここ2・3日、CGIの動作不具合を彼女から指摘され、「CGIのバグじゃないの」と答えていたのですが、自分の設定のせいでした。ハイ、他人のバグのせいにするのはいけませんね。
というわけで、機嫌をとるために思わぬ出費のあったはんばあぐでした。
2002-04-22 (Mon)
_ Woody in Linux World6月号
定期購読しているLinux World6月号が今まさに手元に届きました。なんと、Debian Woodyが付属していました。しかも、インストール方法を含む特集記事が30ページもあります。
渡りに船で、週末、Linuxマシンを作るべくパーツを組み立てたところです(Pentium 4 1.6AGHz、DDR[PC2700] 512MB、流体軸受けというなんとも贅沢なマシン(^.^))。早速Kondara Asumiを入れたのですが、ビデオカードが認識できなかったため、置いてあります。試しに、Woody入れちゃいます。
_ Asumiインストール ハードウェア報告
ASUSのマザーでチップセットはSiSなんとかです(すいません、帰宅後確認します。)。チップセットが新しいものなので認識されるか不安だったのですが、杞憂でした。
ビデオカードは、MatroxのMillennium G550。このチップはXFree86 4.2.0でないと対応されていないため、それがKondaraでリリースされるまでは、古いので代替します。
調べました。ASUS P4S533, SiS645DXです。何の問題もなくインストール出来ました。
2002-04-23 (Tue)
_ tcpdump
オプションスイッチの詳細は置くとして、条件指定でandとかorとかいろいろ付けられます。送信元 xxx.xxx.xxx.xxxからのhttpを見るには:
# tcpdump -l -s 1600 -x -i eth0 src host xxx.xxx.xxx.xxx and port http
とします。
2002-04-27 (Sat)
_ Jakarta-ORO
Jakarta-OROはJakartaの正規表現ライブラリです。今までなぜ使わなかったのかと悔いるほど便利です。Perlと同等の正規表現が使えるのが特徴です。
java.util.regexpという正規表現ライブラリがJDK1.4に標準採用されたので、別のパッケージを入れなくても正規表現を扱えるようになったのですが、OROの方が全く便利です。なぜなら、コードが書きやすいからです。
String line = "こんにちは.......[文章]";
Perl5Util perl = new Perl5Util();
if (perl.match("m/caption=([^\\]]*)/s", line)) {
String s = perl.group(1);
}
_ とすれば、検索できます。前方参照もperl.group()で問題ないです。正規表現が「m/.*/g」と、Perlみたいに書けるでしょ。置換は、perl.substituteでOK。書き方も「s/^hoge/foo/g」とこれまたPerlちっく。
2002-04-29 (Mon)
Debian links:スレッドテンプレ, Debian Quality Assurance, Debian Package Tracking System
written by はんばあぐ

_ みずみず [んじゃ〜、ツッコミ]