2003-01-02 厄年 [長年日記]
@ [admin] 日記消失
sshでいろいろとサーバのファイルシステムをいじっていたら、誤ってhomeディレクトリごと
rm -rf
してしまった。「バックアップがあるぜ、しめしめ」と余裕をこいて作業をしていたら
裏でrsync --deleteのバックアップスクリプトが動いていた
ことに気づかず*1運悪くディレクトリが消え去った後の状態がバックアップされることに...
幸運にも去年の12/1のバックアップを発見したので、実質消えたのは一ヶ月分なのだが、それでもショックである。厄年というかなんというか、新年早々アフォなことやってる自分が情けなくなってきた...
*1 音楽を聞きながらやっていたため、HDDの快音(?)がきこえなかったのである
2003-01-05 [長年日記]
@ 東京帰還
3年ぶりのスノボでまともに滑べれるかどうかすら不安だったけど、全然大丈夫。天候にも恵まれ、終始いい感じに滑べれました。しかし東京はあったかいですねぇ。
2003-01-06 [長年日記]
@ [work] PC故障
会社のノートPCがまた壊れる。今度は人が踏みつけて壊してしまったらしいが...それにしても、「電話で事故発生時の詳細をサポートに伝えてくれ」と言ったら、「オフィス外で電話してもいいですか?」とかいいやがる。アンタそれ仕事じゃなくて私用で使ってたんじゃないのか?
@ [cygwin] Cygwin-1.3.18-1
最新版にして ant を実行すると、"D:\cygwin\bin\cygpath.exe: *** can't create title mutex, Win32 error 6"という意味不明なエラーが出る。どうやらcygpathコマンドがおかしいようなので、antのシェルスクリプトに以下のパッチを当てた。
--- ant.orig 2003-01-06 17:24:15.000000000 +0900
+++ ant 2003-01-06 17:31:27.000000000 +0900
@@ -73,8 +73,8 @@
if $cygwin ; then
[ -n "$ANT_HOME" ] &&
ANT_HOME=`cygpath --unix "$ANT_HOME"`
- [ -n "$JAVA_HOME" ] &&
- JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+# [ -n "$JAVA_HOME" ] &&
+# JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
[ -n "$CLASSPATH" ] &&
CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
fi
まだなんかエラーが出るけど、これで一応 ant は実行出来るようになりました。
2003-01-07 ネタがないので、リンク元でもチェックする [長年日記]
@ (1) ブラウザ linux apt vine kde
うーん、KDEで使えるブラウザをお探しでしょうか? 普通にMozillaとかGaleonじゃ駄目なのかな? KDEならKonquerorという選択肢もありますけど。 VineでMozillaなら
apt-get install task-mozilla
でインストールできます。
@ (3) eclipse vine インストール
gtk+2をインストールすれば、あとはeclipseのアーカイブを解凍して動くはず。ただし、2.1のM3以降でないとソースエディタから日本語入力ができません。
2003-01-08 [長年日記]
2003-01-09 [長年日記]
@ [java] @IT 基礎から学ぶサーブレット/JSP
今さらこんな連載始めてどーする?
@ 原稿
やっと著者校正が完了した。もう大幅な加筆とかはないっぽいので、あとはのんびりやってれば大丈夫なはず。とりあえず、加筆分がボツにならないことを祈ります(^^;
2003-01-10 [長年日記]
@ FRIDAY
中島美嘉が表紙だったので思わず買ってしまった。FRIDAYなんて初めて買ったけど、なんとも低俗な雑誌ですね(w
@ [linux] treeコマンド
なんでVineにはないんだろう。というわけで、RedhatのミラーからいつものようにSRPMを落としてインストール。
2003-01-11 3連休じゃゴルァ [長年日記]
@ [xml] Forrestを使ってみる (1)
まずはCVSからソースを取ってくる。
export CVSROOT=:pserver:anoncvs@cvs.apache.org:/home/cvspublic cvs login CVS password: cvs -z3 co xml-forrest
ソースのディレクトリに移動して、コンパイルする。
sh build.sh
コンパイルに成功すると build/dist/shbat というディレクトリができているので、ここに FORREST_HOME を設定して、さらに $FORREST_HOME/bin にPATHを通す。
export FORREST_HOME=`pwd`/build/dist/shbat export PATH=$FORREST_HOME/bin:$PATH
適当なディレクトリを作成して、そこに移動し、seedコマンドで生成するサイトに必要なファイルを作成する。
mkdir -p ~/work/site cd ~/work/site forrest seed
seedに成功すると、以下のファイル群が生成される。
. |-- forrest-targets.ent |-- forrest.properties |-- src | `-- documentation | |-- README.txt | |-- content | | |-- hello.pdf | | |-- test1.html | | |-- test2.html | | `-- xdocs | | |-- book.xml | | |-- index.xml | | |-- sample.xml | | |-- sample2.xml | | |-- site.xml | | |-- subdir | | | |-- book-sample.xml | | | `-- index.xml | | `-- tabs.xml | |-- resources | | `-- images | | |-- group-logo.gif | | |-- icon.png | | `-- project-logo.gif | `-- skinconf.xml `-- status.xml 7 directories, 19 files
最後にsiteコマンドで静的なHTMLを生成する。
forrest site
これに成功すると、こんな感じのサイトが生成される。うーむ、skin変えればいいかも!
@ [xml] Forrestを使ってみる (2)
少しだけ${SITE}/src/documentation/skinconf.xmlをいじってみた。
--- src/documentation/skinconf.xml.orig 2003-01-11 19:55:13.000000000 +0900
+++ src/documentation/skinconf.xml 2003-01-11 20:48:29.000000000 +0900
@@ -1,4 +1,4 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="shift_jis"?>
<!--
Skin configuration file. This file contains details of your project, which will
@@ -48,20 +48,16 @@
<skinconfig>
<!-- Do we want to disable the Google search box? -->
<disable-search>false</disable-search>
- <searchsite-domain>myproj.mygroup.org</searchsite-domain>
- <searchsite-name>MyProject</searchsite-name>
+ <searchsite-domain>kazz.homeunix.org</searchsite-domain>
<!-- mandatory project logo
skin: forrest-site renders it at the top -->
- <project-name>MyProject</project-name>
- <project-url>http://myproj.mygroup.org/</project-url>
- <project-logo>images/project-logo.gif</project-logo>
+ <project-name>The 覚え書き</project-name>
+ <project-url>http://kazz.homeunix.org/</project-url>
+ <project-logo>images/project-logo.gif</project-logo>
<!-- optional group logo
skin: forrest-site renders it at the top-left corner -->
- <group-name>MyGroup</group-name>
- <group-url>http://mygroup.org</group-url>
- <group-logo>images/group-logo.gif</group-logo>
<!-- optional host logo (e.g. sourceforge logo)
skin: forrest-site renders it at the bottom-left corner -->
@@ -70,14 +66,14 @@
<!-- The following are used to construct a copyright statement -->
<year>2002</year>
- <vendor>The Apache Software Foundation.</vendor>
+ <vendor>Kazuhiro Oinuma</vendor>
<!-- Some skins use this to form a 'breadcrumb trail' of links. If you don't
want these, set the attributes to blank. The DTD purposefully requires them.
-->
<trail>
- <link1 name="apache" href="http://www.apache.org/"/>
- <link2 name="xml.apache" href="http://xml.apache.org/"/>
+ <link1 name="" href=""/>
+ <link2 name="" href=""/>
<link3 name="" href=""/>
</trail>
2003-01-12 今日はXMLマスターの試験 [長年日記]
@ [xml] Forrestを使ってみる (3)
ページの左側のメニューは、src/documentation/content/xdocsディレクトリ以下のbook.xmlから生成されている。このディレクトリの下にサブディレクトリがある場合は、そのサブディレクトリ下にもbook.xmlを作ると、メニューが生成される。
@ [xml] Forrestを使ってみる (4)
左上のタブはtab.xmlを作成することによって生成される。これをsrc/documentation/content/xdocsディレクトリ以下に用意しておくと、タブが生成される。
2003-01-13 3連休も終わりだよ(鬱 [長年日記]
@ [xml] Forrestを使ってみる (5)
Forrest はCocoonをコマンドラインモードで(Antから)起動しているが、これはどうしようもなく遅い(Pen3 MEM512MBの環境で、デフォルトのサンプルを生成するのに1分ぐらいかかる)。パフォーマンスを考慮すれば、静的なHTMLを生成してApacheに処理させるのが良いのだろうけど、サイトを作りこんでいるときは、XML + XSLTで動的にページ(サイト)を生成した方が効率がいい。
こういうことを考慮して、Forrestでは、作成するサイトをWebアプリケーションとして動かすこともできる。そのためには、webappコマンドでWebアプリケーションを作成する。これが成功すると、下記のように表示されるので、Tomcatなどのサーブレットコンテナをインストールし、server.xmlを修正すればいい。
<Context path='/my-site'
docBase='/home/kazuhiro/work/site/build/webapp'
reloadable='true'/>
最後に、サーブレットコンテナを再起動して、http://localhost:8080/my-site/にアクセスすると、Webアプリケーションとして動作していることが確認できる。ただし、Cocoonを使っているので、初回アクセス時にはページの読み込みが激烈に遅い。それでもまあ、1分もかけてサイトをビルドするよりはまだマシと言えるだろうか...
なお、webappコマンドで生成したファイルはbuild/webappディレクトリに作成されるので、src/documentation/content/xdocsディレクトリのコンテンツを修正しても、修正は反映されない。こういう場合は、build/webapp/content/xdocsにsrc/documentation/content/xdocsのシンボリックリンクを作成しておけばいい。
2003-01-14 [長年日記]
@ [xml] Forrestを使ってみる (6)
ちょこっとコンテンツを書いてみたりした。内容も分量もまだまだだけど、コンテンツがまとまって来たらkazz.homeunix.orgのトップページとして公開しよう。
でも、ForrestのドキュメントのXMLボキャブラリってイマイチいけてないよなー、って思う。<section>の下に絶対<p>つけないとテキスト書けないし。MLで「このボキャブラリ、もうちょっと改善できない?」って言ってみようか。「なら、自分でやれば」とか言われそうだけど(笑)
2003-01-23 今日は早く帰れた [長年日記]
@ やばい
郵便物が放置プレイ状態で、原稿のレビューが送られて来ていたことに気付かず...
@ Forrest
これを使う一番の目的は、「簡単にサイトを構築できる」だと思うんですよね。document-v11のフォーマットがいけてないから、自作してやろうかと思ったんですが、スキーマ設計 + XSLT作成に結構時間が取られるような気がするんです。でもそんなのに時間を割いてしまっては、本末転倒かなと。他になんかいいのないかなぁ...
2003-01-26 今日はTOEICでした [長年日記]
@ [memo] Mozilla/Netscape7 の設定・プラグインのインストール
AcrobatReaderやRealPlayerなどのプラグインのインストールおよび描画速度高速化などについて。
@ [pc] ノートPC
B5ぐらいのモバイルノートが非常に欲しくて、Dellあたりを狙っているのだが、Pen3, MEM 384MB, ワイヤレスLAN搭載というスペックにしてしまうと、税込みで21万ぐらいになってしまう。やっぱり、このぐらいのスペックだとこれが相場なのかなぁ。WinXPなんていらんからもうちっと安くして欲しい。
@ 来月のJavaWorld
SWTとCocoon2の特集があるそうだ。待ち遠しい。
2003-01-30 [長年日記]
@ [perl] 変数宣言
Perlでは、宣言と同時にインスタンスの生成(?)が行われます。型を指定する必要はありません(当たり前か)。
$string = "Hello World\n"; print $string;
なお、use strictプラグマを使用すると、変数を使用する前にかならず宣言をしなければいけなくなります。つまり、以下のコードは実行できなくなります。
use strict; print $string;
@ [perl] インストールされているモジュールの一覧を表示
Unixならば、
find `perl -e 'print "@INC"'` -name '*.pm' -print
というコマンドを実行すればOK。
@ [perl] 配列
変数名の前に @ をつけると、それは配列(の全体)だとみなされます。
Javaでは、
String[] array = { "foo", "bar", "hoge" };
のように配列を初期化しますが、Perlでこれを行いたい場合は
@array = ("foo", "bar", "hoge");
というようにします。なお、
print @array
とすると、
foo bar hoge
と表示されます。
添え字を使って配列のindex番目の要素にアクセスしたい場合は、
print $array[1];
のようにします。変数名の前に@ではなく$をつけることに注意しましょう。
また、
foreach $i (@array) {
print "$i";
}
とすることで、$iに配列の各要素が代入され、各要素に対する処理などを行うことが出来ます。
2003-01-31 [長年日記]
@ [memo] Windows で Apache サーバを立てよう
本当は自分でWindows + Apache + CGIの設定方法を書こうと思ったんですが、いいページがあったのでリンクだけしとくということで。
# たけぞう [いつごろ出るんですか?]
# おいぬめ [来週の頭です。どきどき。]
# 藤子 [何の雑誌にどういう特集で掲載されるの?]
# おいぬめ [あ、「出る」って外に出ることじゃなくて、本の話だったんですね(^^; 予定通り行けば、今年の3月末ぐらいです。 ちな..]