トップ 最新 追記

おいぬま日報(不定期)

カテゴリ | 技術情報まとめWiki | 検索エンジンから来た人向け | RSS

2004年
12月
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31



2004-12-01 [長年日記]

@ [emacs] perl-modeとcperl-mode

FSWikiのソースをいじるときは全てのインデントをタブ4にしたくて

(add-hook 'cperl-mode-hook
          '(lambda ()
             (progn
               (setq tab-width 4)
               )))

というコードを.emacsに書いていたのですが、何故か全然反映されず「なんでだろうな〜」と思っていたのですが、よく見たらcperl-modeではなくperl-modeになってたみたい。

(setq auto-mode-alist
      (append (list (cons "\\.\\(pl\\|pm\\)$" 'cperl-mode))
              auto-mode-alist))

を追加して望み通りに。こんなのに30分もはまってしまった。。。

@ [perl] スーパークラスのメソッドの呼び出し

sub hoge {
  my $self = shift;
  $self->SUPER::hoge();
}

でいけるのか。

@ [fswiki] summaryプラグイン

一仕事終えたので、categoryプラグインもろともいじってみました。ソース的には結構共通化できたので、覚え書きの方でしばらく運用して、問題なさそうだったらプラグイン投稿します。

@ 覚え書き

テーマを変えてリニューアル。summaryプラグインを使ってページの一覧に説明を出せるようにしたので、多少はアクセシビリティが向上している、、、かな? まー重要なのは中身ですけど。

ついでに日記のテーマも変えてみました。savanna、いいですねー。

@ [book] スモールコンパイラの制作で学ぶプログラムのしくみ

今日本屋をウロウロしてたらこんな本が平積みで売ってました。なんとまぁマニアックな。。。ペラペラと立ち読みした限りでは、字句/構文解析からコード生成まで一通り載っていて、最後の方では「携帯にコンパイラをのせてしまおう」という試みがなされていました。こんな本が2000円もしないで買えることに驚きです*1。コンパイラの本ってかなりニッチ市場なはずなんだけどなー。

*1 しかも監修はあの中田育男さん


2004-12-02 [長年日記]

@ [work] 終わった

納品物作ったのであとは送るのみ。やっと眠れます。ちかれた〜。

@ [life] 息抜き

増上寺

最近、煮詰まってる時、やる気がNULLな時に近所のお寺や神社へ行って気持ちをすっきりさせるようにしてます*1。というわけで、今日は増上寺というお寺に行って来ました。ここは本堂に椅子がありかなりくつろげる空間で、10分ぐらい坐って目を閉じていると肌で微妙な空気の流れがわかるぐらいに感覚が研ぎすまされていきます。こういうのを無我の境地というのかどうかは知りませんが、とにかく心が落ち着いて、嫌なこと、面倒臭いことでも「よしやるか」という気分になります。こういう空間がある所に住んでいて良かったなと思った今日この頃でした。

ちなみに、ここは浄土宗の総本山でかなり有名なお寺みたいですね。地元なのに知りませんでした。

*1 もともと歴史的建造物の類が好きなので

@ [tdiary] RSSのエンコーディング

uconvを入れると、RSSのエンコーディングが自動的にUTF-8になるみたいです。長らく「なんで俺のはEUC-JPなんだろう」と疑問に思ってたのですが解決しました。

@ [fswiki] summaryプラグイン(2)

プラグイン投稿してみました。結局、categoryプラグインの動作を強引に上書きして、category_listでもサマリを出すようにしました。

@ [firefox] えむもじら/Tabbrowser Extensions(TBE) に深刻なセキュリティホール

悪意ある攻撃者によって、ローカルファイルの操作や個人情報の無断送信などが行われる恐れがある。

だそうです。恐ろしいのでソッコウでアップデートしました。


2004-12-03 [長年日記]

@ [emacs] リージョンをコメントアウト

C-x r t コメント文字でいけるのですね。例えば、

sub new {
    my $class = shift;
    my $self = {};
    return bless $self,$class;
}

というメソッドの中身だけをコメントアウトしたい場合は

my $class = shift;

の行の先頭で CTRL SHIFT して、

return bless $self,$class;

の行の先頭にカーソルを合わせた状態で C-x r t # すると

sub new {
#    my $class = shift;
#    my $self = {};
#    return bless $self,$class;
}

となります。いやー今まで

1

してましたよ。無知とは罪というか、無知=時間の浪費ですねぇ。

@ [emacs] ではコメントを解除したい場合は

普通に矩形領域削除の C-x r d を使えばOKです。先ほどの

sub new {
#    my $class = shift;
#    my $self = {};
#    return bless $self,$class;
}

だと

#    my $class = shift;

の行の先頭で CTRL SHIFT して、

#|   return bless $self,$class;

の行の | の位置にカーソルを合わせて C-x r d です。

例によって

しておりました。。。

@ [emacs] M-x comment-region

小人さんにつっこみを頂きました。てきとーにキーバインドを設定すれば、こっちの方が遥かに楽ですね。

;; C-c ; でリージョンをコメントアウト
(global-set-key "\C-c;" 'comment-region)
;; C-c : でリージョンのコメントを解除
(global-set-key "\C-c:" 'uncomment-region)

とか。

@ [ktai] 携帯にAA機能?

私はボーダフォンの V401SH を使っているのですが、さっき色々いじってたら「テキストライブラリ」なるものを発見。ようはただの顔文字機能なんですが、ウケてしまったのでいくつか公開してみます。その1「画:うれしい」。どーん。

((((((((
,)∂ ∂((
(^▽^((

次、「画:かなしいよ」

'/   ∞
((/((\(((
,); ;  D
(  ^   人

なんですかこの2chAAは。明らかにギャグとしか思えないこの機能。こんなことやってりゃ日本から撤退? なんていう噂も流れますよ。

でも、こんな茶目っ気を持ったボーダフォンがますます気に入りました。

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

# 小人 [M-x comment-region はいかがですか?]

# おいぬめ [おおっ!(ポム)]


2004-12-04 [長年日記]

@ [fswiki] summaryプラグイン

サマリを付ける時に、入力のサニタイズを忘れてました。あぶねー。どうせなら、HTMLじゃなくってWikiフォーマットにした方が良さそう。

@ [tdiary] この日記のトップページ

なんかヘッダがもう無茶苦茶です。でもこれ以上うまいレイアウトが思い付かないので、このままでいこうと思います。

@ [life] 眠い...

咳がひどくて3時間ぐらいしか寝れませんでした。ここでまた寝ると夜型生活になりそうなので、頑張って起きてようかと思います。

@ [fswiki] FSWikiのcalenderプラグインがtDiaryのテーマに準拠してないっぽい問題報告

しました。でもこの問題って微妙だな〜。

ちなみに、tDiary(FSWiki)のテーマを作りかけてたんですが、あまりにも道のりは長そうだったので断念しました。残念!!

@ [life] 探しもの Found!

2ヶ月前ぐらいに無くしてたと思っていた腕時計が見つかりました。「安物だし別にいっか」と思ってたんですが、腕時計のない生活はやっぱり不便で、そろそろ買うかな〜と思ってた頃にジャストタイミングで見つかったのでとても嬉しい(^^

そういえば、奈良行った時に引いたおみくじでは「探しもの、見つかるが遅い」みたいなこと書いてあったなー。すげー当たってますね。

@ [admin] サーバリブート

本日22:00よりサーバリブートします。5分ほどアクセス出来なくなります。

@ @IT/Solaris 10 Developer Meeting for x86 Solution

Solaris 10ではLinuxのバイナリが実行できたり面白そうなので行ってみようかなと思っています。本当は技術的な話を聞くのが目的ではなく、単にデュークグッズが欲しいだけなんですが。

SolarisJava!?

というツッコミはまぁ置いといて。

@ [ldap] 難しい

たるさんやなべさん*1にツッコミをもらっているLDAP関係ですが、私のLDAPについての知識が乏しく、その内容について全て理解出来てません*2。なので、もう1度LDAP -設定・管理・プログラミングを読んで一から勉強しようと思ってます。というか、風邪引きなのでゴロゴロしながらもう読んでます。流し読みではなく、しっかり頭でイメージしながら読むことで、今のところなんとか理解出来てるという感じ。でも、難しいよぅ。。。

*1 すいません、ツッコミにさっき気付きました。

*2 syncrepl って何? とか


2004-12-05 [長年日記]

@ [soccer] サントリーチャンピオンシップ マリノス VS レッズ

友達に誘われ観に行ってきました*1。1-0でマリノスが勝ったのですが、いやーマリノス強いですね。鉄壁を誇るディフェンスに、決めるところはしっかり決める攻撃陣。特にディフェンスは、1対1では絶対に抜かれず、また中途半端なところから上げられても、中澤が絶対にクリアするという素晴らしさ。さらに、レッズの素早いカウンターにも中盤がきちんと反応し、パスを通させず。レッズもディフェンスはかなり良かったのですが、少し気が抜けたのか、後半コーナーから決められてしまいました。

とてもハイレベルな試合を観れて本当に良かったデスヨ。

そうそう、坂田って、ゴール前のキープ力といいバイタリティといい、とてもいい選手だなと思いました。

*1 友達とその彼女と彼女のお父さんという異色なメンツでした


2004-12-06 [長年日記]

@ [life] 風邪

咳がひどいけど発熱はなし。どうやら回りもけっこう風邪を引いていて、みんな同じような症状らしいです。流行りものに弱いのか、今年はよく風邪を引いた気がします。

@ [music] The creator of のライブ

12/29(水)に新宿の Live Freak というところで、 ROCK SOLDIER 2004 というイベントに出演するそうです。観にいきてー。


2004-12-07 [長年日記]

@ [news] 聯想、米IBMのパソコン事業買収で合弁設立へ・米紙

「今度ノート買うときはIBMのにしよう」と思っていただけにショック。中国=品質悪そう、というイメージがあるので。

@ [java] Java のクラスアンロード

taediumの日記より。これ以外にもHotspot VMのGCの文書など、マニアックな文書を公開されています。

@ [dev] Rake実験中

ExcelPettyCashBookのビルドツールとして Rake を評価中です。ビルドツールと言っても単なるRubyスクリプトなので、Rubyで出来ることは全て出来る。こんなビルドツールを待ってたんですよ、素晴らしい!!

@ [ruby] プログラミング入門 - Rubyを使って -

外人の方が書かれたチュートリアルの日本語訳。ブロックについて詳しく書かれていていい感じです。

@ [memo] RPGツクールXP

『RPGツクールXP』では、『Ruby』というプログラミング言語を『RPGツクール』専用にカスタマイズした言語『Ruby Game Scripting System(以下、『RGSS』)』が採用されており、その中のスクリプトを編集することで、ツクールの機能を自由に変更・追加することができるのです。

だそうな。ゲームにまで搭載されるインタプリタ。すげー。


2004-12-08 [長年日記]

@ [music] The creator of のライブ(2)

12/29、21:30からトリで1時間ぐらいやるらしい。とりあえず一緒に行く友達一人ゲット。というわけで行きます。

@ [music] 東京事変 教育

やっとやっと買いました。アップテンポな曲では、椎名林檎初期のロックっぽさを出している感じ。その一方で、スローテンポな曲にはJazzをふんだんに採り入れていて、これがいい感じのコントラストを生んでいます。それと9曲目「駅前」がすごくいい。「ギブス」や「罪と罰」のような、椎名林檎の熱い歌が聴けます。
本日のツッコミ(全4件) [ツッコミを入れる]

# ADSL1M  [椎名林檎は常に気になる。]

# おいぬめ [それは音楽的に?]

# ADSL1M  [もちろん。常にオリジナルだなあと思わせられる。かつ飽きさせない。 といいつつ、吸う曲しか知らない。数曲しか。 まあ..]

# おいぬめ [俺はPVがエロいところが好き(w もちろん音楽も好きだけど。]


2004-12-09 [長年日記]

@ [ruby] 子プロセスの標準出力をリダイレクト

RubyでShellの

$ echo hoge > hoge.txt

と同じことをする方法です。

まず、単純に

$stdout = File.open("hoge.txt", "w")
system("echo hoge")

では、子プロセスの標準出力まではリダイレクト出来ません。これを実現するには、 IO#reopen を使います。

File.open("hoge.txt", "w") do |out|
  stdout_save = STDOUT # バックアップ
  STDOUT.reopen(out)
  system("echo hoge")
  STDOUT.flush
  STDOUT.reopen(stdout_save) # 元に戻す
end

「絶対にあるはずだよなぁ〜」と探し続けて2時間。やっと答えが見つかりました。。。

今回の教訓: リファレンスマニュアルは熟読しましょう

@ [mysoft] Rake で build.xml をリライト

1日がかりでおこづかい帳のビルドファイルを Rake で書き換え。やはり冗長な XML とプログラミング言語では差があるのか、 Ant の build.xml から 2/3 にサイズが減りました。最初っからこれ使えば良かったですなぁ。


2004-12-10 [長年日記]

@ [life] 風邪(2)

4日経ってもいっこうに症状が回復しないので病院へ。「あー、ただの風邪ですねー」と流されて終了。咳がどうにも止まらなかったので喘息かと思ったのですが違ったようです。残念!!! じゃなくて良かった。


2004-12-12 [長年日記]

@ [life] 爆睡

昨日は徹夜明けなのに寝ずに出かけてしまったので、返ってきた途端爆睡。おかげでチャンピオンシップ第2戦見逃してしまいました。チラッとニュースで見た限りだと、0-1でマリノス負けたけど結局PKで勝利らしいですね。あとエメルソンがぶち切れて相手を蹴りまくり退場になったとか。あー再放送やらないかなぁ。

@ [life] 年始までのTODO

  1. 個人的な仕事の詳細設計まで
  2. FSWikiのcalendarプラグイン修正
  3. ExcelPettyCashBook 1.1.1 & テストコードを書く
  4. ExcelPettyCashBookのデータをDBに保存できるように
  5. LDAP勉強 & 自宅のLDAP環境改善

一番苦しいのは1.ですね。これ、今までの小規模なヤツと違ってDBも使うからかなり心配。

@ [win] Windowsを入れてからまずやること

諸事情によりVMware上のWindowsの再インストールを余儀なくされました。。。

  1. ServicePackを当てる
  2. CTRLとCAPSキーを入れ替える(これ重要!)
  3. アンチウィルスソフトを入れる
  4. 圧縮/解凍ソフトを入れる
  5. Firefoxを入れる
  6. Cygwinを入れる
  7. Meadowを入れる
  8. Officeを入れる
  9. プリンタの設定(よく忘れる)
  10. NTPクライアントを入れる
  11. メーラの設定

こんなところでしょうか。あとは環境によってRuby, JDK, Eclipse, VisualStudioなどを入れたり。


2004-12-13 [長年日記]

@ [fswiki] FSWikiのcalendarプラグイン修正

現実逃避してやってみましたが、少し悩ましい部分が > たけぞうさん*1

ちなみに小バグが2つあったので潰しときました*2

*1 BugTrackのコメントに書いたので見てください

*2 出力するHTMLが文法的に正しくなかった

@ [win] iTunes

さらに現実逃避。これって非iPodユーザには関係ないシロモノだと思ってたのですが、CDからMP3に変換したりするのに使えるんですね。お手軽でとてもよい感じ。iPodももう少しバッテリー駆動時間が長ければ買うんだけどなぁ。


2004-12-14 [長年日記]

@ [cygwin] Cygwinのcronをサービス化

cygrunsrvというコマンドで任意のデーモンプログラムをWindowsのサービスに出来るらしい。

$ cygrunsrv -I cron -d "Cygwin cron" \
 -p /usr/sbin/cron.exe -a -D \
 -e "PATH=/usr/local/bin:/usr/bin:/bin"

でcronをサービスに登録することが出来ます。サービスから削除したい場合は↓

$ cygrunsrv -R cron

参考リンク: ずんWiki/Cygwin

@ というわけで

Windowsでも fetchmail + procmail + Wanderlust な環境が出来ましたとさ。

追記: 大嘘でした。メールが全て/var/spool/mailに行ってるっぽい。なんでだろう。


2004-12-15 [長年日記]

@ [cygwin] fetchmail + procmail で受信したメールが/var/spool/mailに

行ってしまう問題ですが、解決しました。はまりポイントとして2点ほど。

その壱: .procmailでの$HOMEは/etc/passwdのエントリのホームディレクトリになっているため、Cygwinの/home/hoge配下に.procmailrcを作成しても、/etc/passwdのホームディレクトリが/home/hogeになっていなければ、違うパスの.procmailrcを読みに行ってしまいます。私はドメインユーザでログオンし、$ mkpasswd -d >> /etc/passwd していたので、/etc/passwdのホームディレクトリがSambaの共有ディレクトリになっていました。これを/home/hogeに変えることで.procmailrcが認識されるようになりました。ちなみに

$ VERBOSE=yes procmail /home/hoge/.procmailrc < メール

で、どのパスの.procmailrcが使われているか確認できます。

その弐: 上記を対処すると、fetchmailのログに

procmail: Suspicious rcfile "/home/kazuhiro/.procmailrc"
procmail: Couldn't read "/home/kazuhiro/.procmailrc"

と出ています。これをmanで調べてみると、

Suspicious rcfile "x":

The owner of the rcfile was not the recipient or root, the file was world writable, or the directory that contained it was world writable, or this was the default rcfile ($HOME/.procmailrc) and either it was group writable or the directory that contained it was group writable (the rcfile was not used).

ということなので、ホームディレクトリと.procmailrcのパーミッションを変更します。

$ chmod 755 /home/hoge
$ chmod 744 /home/hoge/.procmailrc

これでCygwinでも fetchmail + procmail + Wanderlust が利用できるようになりました。

@ [mysql] MySQLのインストールと役に立ちそうなリンク

Debianなんでapt-getするだけなんですが。

# apt-get install mysql-{server,client,doc}

MySQLはかれこれ4年ほど前(入社したての頃)にチラッといじくったぐらいで、今となっては全て忘却の彼方です。それ以前にリレーショナルデータベース自体が相当久しぶりなのでやばいです。本当に大丈夫なんでしょうか。。。

@ [life] 夜の携帯メールは迷惑??

今日のなんでやねんより。

私もメールの着信音ごときでは起きません。メールの「送り手」としては、夜中(2時3時)でも平気で送ってしまうかも。いや、パソコンのメールと同じものだとずっと思ってたし、友達からもガンガン夜中にメール来るし、根本的に夜型人間だし。でも世間一般では、電話と同じで夜中のメールは控えた方が良いのですねぇ。気を付けます。


2004-12-16 [長年日記]

@ [mysql] InnoDBを使う

4.0系の場合、トランザクション対応のInnoDB型テーブルを使うに当たっては、特に何も設定しなくても良いみたいです。ただし、my.cnfに skip-innodb という項目があるとInnoDBが使えないので、これがある場合はコメントアウトしておきます。そして下記のようにトランザクションが使えるかテスト。

mysql> use hoge;
mysql> create table test(a char(4)) type=InnoDB;
mysql> insert into test values('a001');
mysql> begin;
mysql> insert into test values('a002');
mysql> select * from test;
+------+
| a    |
+------+
| a001 |
| a002 |
+------+
2 rows in set (0.00 sec)
mysql> rollback;
mysql> select * from test;
+------+
| a    |
+------+
| a001 |
+------+

よしよし、徐々に思い出してきました。

@ [eclipse] Clayプラグイン

Eclipse用データベースモデリングプラグイン。テーブル設計からDDLの生成まで面倒見てくれる。動作環境にはEclipse 2.1.1/2.1.2/2.1.3 としか書かれてないのですが、3.0.1でもちゃんと動きました。なかなかいい線いってると思います。

Clayプラグイン

@ [db] SAK Streets/SQL 開発言語資料

SQLの基礎から、OracleのPL/SQL、PostgreSQL、MySQLの情報がどっさり。DB関連でこれだけまとまった情報があるサイトってのもすごい。

@ [work] DB設計終わり

一番の難儀だったはずのものが、あっさり1日で終わってしまった。明日はこのモデルの検証と、出来ればExcelの仕様書からDDLを生成するマクロでも作りますかね。せっかくVBA覚えたし*1

*1 でも実際はRubyでwin32ole使いそうだけど


2004-12-17 [長年日記]

@ [life] 早寝早起き

最近は夜型生活から何とか脱却し、0時あたりに寝てしまっているので、7時台には目が醒めてしまいます。なんとかこのリズムを崩さないように行きたいですね〜。

@ [movie] モーターサイクル・ダイアリーズ

だいぶ前に前売を買ってたのですが、今日やっと恵比寿に行く用事が合ったのでついでに観に行って来ました。

キューバのゲリラ革命を指導したチェ・ゲバラの青年時代における南アメリカ大陸横断旅行。アルゼンチンから出発して、チリ、ペルー、コロンビア、ベネズエラとタイトル通りバイクで旅して行くのですが、その過程で虐げられた先住民やハンセン病患者たちと出会い、徐々に彼の考え方や価値観が変わっていくというお話です。

単純に面白いか面白くないかで判断すると、面白くない方の部類に入ると思うのですが、比較的裕福である家庭に生まれたチェ・ゲバラがなぜキューバでゲリラ革命を指揮するようになったのかがよくわかる作品でした。そして「自分はなんてちっぽけな人間なんだろう」と感じてしまうぐらい、チェ・ゲバラの真摯さが伝わってくる作品でした。

@ [music] THE CREATOR OF "LOST SUMMER DAZE"

creator ofの1stフルアルバム。だいぶ前の作品(1999年)ですが、持っていなかったので買いました*1。本作以前に3枚のミニアルバムを出していて、そいつらはかなりグランジ色が強いのですが、このアルバムでは若干メタル色が強くなっています。さらに2ndフルアルバム IN RESERVOIR ではもう「メタルバンド」と言ってもいいぐらいメタルになっていくわけですが...

全体的に太鼓(?)のリズムのようなドラムが民族音楽っぽさを出しており、その上にcreator of得意の暗めでハードなベース & ギターがのることによってかなり怪しい(=おどろおどろしい)雰囲気を作り出しています。

それにしても、このバンドってなぜこんなにいい音楽作ってるのにここまで知名度低いんでしょうか。流行に流されず自分達の音楽スタイルを貫いているのもすごくカッコいいし。勿体ない。

*1 タワレコでもなかったのでAmazonで


2004-12-18 [長年日記]

@ [movie] 最近観たい映画

  1. ニュースの天才
  2. Mr.インクレディブル
  3. ジャッカス・ザ・ムービー 日本特別版

金があれば全部観たい。でも仕事の報酬は来月に振り込まれるので先立つものがないのです。あーん。

@ [mysql] ユーザの作成

さすがに全部 root でやるのはまずいでしょう、ってことで。

$ mysql -uroot mysql

で mysql データベースに接続し、下記を実行。これでどのホストからでもアクセス出来るユーザ test が作成できます。

GRANT ALL PRIVILEGES ON *.* TO test@"%" IDENTIFIED BY 'pass' WITH GRANT OPTION;
FLUSH PRIVILEGES;

なお、ぐぐって調べたサイトでは

GRANT ALL PRIVILEGES ON *.* TO test@localhost IDENTIFIED BY 'pass' WITH GRANT OPTION;

も必要だと書いてありましたが、これはいらないようです。だって % ってワイルドカードだからlocalhost にもマッチするはずだし。TCP/IPで接続出来るようにした場合、上記も必要です。

まぁ、テスト用のDBではこのユーザを使って色々いじるっていうのでいいかと思いますが、本チャンの運用だったら、データベース毎に専用のユーザを作るのがいいのかな。こんな風に。

CREATE DATABASE webdb;
GRANT ALL PRIVILEGES ON webdb.* TO webdb@"192.168.1.%" IDENTIFIED BY 'pass' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON webdb.* TO webdb@localhost IDENTIFIED BY 'pass' WITH GRANT OPTION;
FLUSH PRIVILEGES;

@ [db] 主キー用のカラムっている?

「複数のカラムでユニークになるならわざわざ主キー用のカラム追加しなくてもいいじゃん」とか思ってたのですが、「SELECTする時の利便性も考えた方が良い」ってアドバイスを貰ってなるほどなぁと思いました。考えてみれば当り前のことなんですが、妙に納得してしまいました。


2004-12-19 [長年日記]

@ [perl] ホームページ内全文検索エンジンmsearch

おお、こんなのあったんですね。(from FSWiki/BBS-雑談掲示板/49)

@ [work] DB検証中

実際にデータを入れてみてSQLでちゃんとデータが意図通りに取れるか確認。まぁテーブル5個ぐらいしかないんでそんなに大変じゃないんですが、巨大な業務アプリだとDB設計を検証する作業もきっと大変なんでしょうなぁ。

それにしても土日も仕事してるのって結局休出してるのと同じなんですよね...行き詰まったら気晴しに遊びに行ったりしているので平日と休日の境目が全くないんですが、自分としてはテンションの高い時にガーとやってしまうのが好きです。

@ [memo] JLC Diary

ってtDiaryじゃんこれ。(from Matzにっき)

@ [soccer] 天皇杯準々決勝 浦和レッズ VS FC東京

2-1でレッズ勝利...でもいい試合でした。前半はレッズのドリブル突破やロングボールなどで崩されてかなり危ない部分がありましたが、後半レッズの猛攻を凌ぎきって相手が油断したところを石川がミドル。石川ってガンガン突破していくイメージがあったんですけど、ミドルも打てるんですねぇ。これにはかなりビックリ。

と思ったら3分後に左サイドから崩されあっという間に同点。そして後半にまたもや左サイドから上げられ、サントスに合わせられてしまいました。んー無念。

FC東京ってあんまり長いパス使わないチームかと思ってたのですが、今日はけっこう出してましたね(特に馬場がよかった)。やっぱり決定力不足は否めないですが、チーム自体成長しているのでこれからが楽しみです。今年でケリーがいなくなるそうなので、来年の馬場に期待。

@ [oo] Dependncy Injectionを語るスレ

DIコンテナを使うメリットについて。今日たまたま本屋でWEB+DB PRESS Vol.22のSeasar2の記事を立ち読みしたんですが、さすがに立ち読みだとサンプルコードを全て追う気力がなく(^^; 「んーdiconファイルいじることでコンポーネントを簡単に差し替えられるから、(モックを使った)単体テストは楽になるのねん」ってことぐらいしかわかりませんでした。結局それ以上のメリットってまだわかってないのですが、Seasar2はS2DaoとかS2Strutsとか「周辺」が充実しているので、そういうのを使うだけでもメリットがあるんじゃないかなと思います。

ってスレでも書かれてますね...


2004-12-20 [長年日記]

@ [work] 引き続きDB検証中

だいぶ曖昧な部分がなくなってきた。というかDB検証していると「ここではどうSELECTするよ?」とか考えるので自然にプログラムの設計も出来てしまっている...嬉しい誤算です。

明後日には人に説明しなくてはいけないのですが、それまでにはなんとか終わりそうです。

@ [life] 麻婆茄子

麻婆茄子

おかんがいないのですっげー久々に料理を作ってみました。と言ってもCOOK DOなんで、野菜と挽肉炒めただけなんですが...挽肉炒めるときに油をひきすぎたのか、ちょっと油っこかったですが、うん、悪くはない。

照明が足りないせいか写真で見ると

X

にしか見えませんが(^^;


2004-12-21 [長年日記]

@ [work] 説明用資料

うし、完成。今日はまったり別のことでも考えよ〜。

@ Javaの自作ライブラリ

そういえば、jFileBeau作ってた時に汎用的な部分は切り出してライブラリを作っていたのですが、これを公開しようか迷ってます。今見るといくつかはJakarata Commonsにあるものと機能的に被ってるし*1。はー悩ましい。

*1 Resource とか Validator

@ 久々JavaとEclipse

というわけで、自作ライブラリを公開するべく気に入らないところを修正してます。Eclipseで約1年ぶりにコーディングしているわけですが、2.1の頃と比べて微妙に変わっているのでちょっとやりにくいんですけど。

来週頭には公開出来たらいいなぁなんて思ってます。

@ [admin] Namazu におけるクロスサイトスクリプティングの脆弱性

2.0.13以下のバージョンにセキュリティホールがあるそうです。一時的にこの日記の検索も無効にするようにしました。2.0.14にアップデートした時点でまた使えるようにします。


2004-12-22 [長年日記]

@ [work] 打ち合わせdone

DBの項目を説明してきました。「将来的にはあった方が便利だから、という理由でカラムは用意しなくてもいい」と言われた...うぅ、すいません。

まーというわけで年末から前倒しでコーディングになりそうです。なんか正月もプログラミングしてる自分が見える...

@ [java] Commons I18nを使ってみる

ちょっと気になる存在だったので試してみました。ResourceBundleの形式とXML形式のメッセージカタログが使用出来るようです。まだバイナリはリリースされていないので、CVSからソースを取得 & ビルドして、commons-i18n-0.3.jar, commons-xmlio-0.1pre.jarをクラスパスに追加しておきます。あとは下記の手順で。

sample.commons.i18nパッケージ内にメッセージカタログを用意
messages_ja.properties(native2asciiで変換後)
hello.text=\u3053\u3093\u306b\u3061\u308f\u308f
arg.text=\u5f15\u6570\u306e\u30c6\u30b9\u30c8({0})
messages_en.properties
hello.text=Hello
arg.text=A test of an argument({0})
messages.xml
<?xml version="1.0" encoding="UTF-8"?>
<messages>
  <message id="hello_xml">
    <locale language="en"> 
      <entry key="text">Hello (in XML)</entry>
    </locale> 
    <locale language="ja"> 
      <entry key="text">こんにちわわ (in XML)</entry>
    </locale> 
  </message>
</messages>
サンプルソースを作成(sample/commons/i18n/I18NSample.java)
package sample.commons.i18n;
 
import java.io.InputStream;
import java.util.Locale;
import org.apache.commons.i18n.LocalizedText;
import org.apache.commons.i18n.ResourceBundleMessageProvider;
import org.apache.commons.i18n.XMLMessageProvider;
 
/**
 * Commons I18Nのサンプル。
 */
public class I18NSample {
    public static void main(String[] args) {
        ResourceBundleMessageProvider.install("sample.commons.i18n.messages");
        LocalizedText text = new LocalizedText("hello");
        System.out.println("日本語: " + text.getText(Locale.JAPAN));
        System.out.println("英語  : " + text.getText(Locale.US));
        text = new LocalizedText("arg", new Object[] { "引数" });
        System.out.println("日本語: " + text.getText(Locale.JAPAN));
        System.out.println("英語  : " + text.getText(Locale.US));
 
        InputStream in = I18NSample.class.getResourceAsStream("messages.xml");
        XMLMessageProvider.install("messages", in);
        text = new LocalizedText("hello_xml");
        System.out.println("日本語: " + text.getText(Locale.JAPAN));
        System.out.println("英語  : " + text.getText(Locale.US));
    }
}
実行
日本語: こんにちわわ
英語  : Hello
日本語: 引数のテスト(引数)
英語  : A test of an argument(引数)
日本語: こんにちわわ (in XML)
英語  : Hello (in XML)

実はこんなライブラリを以前自作したんですが、これで用無しになりそうです。XMLに対応してないし...

@ [tdiary] TrackBack受信可能

になりました。


2004-12-23 [長年日記]

@ [java] Commons XMLIOを使ってみる

昨日のi18nの延長で使えそうか試してみました。例えば

<?xml version="1.0" encoding="EUC-JP"?>
<ルート>
  <要素 属性="属性値"/>
</ルート>

というXMLを出力するには下記のようなコードを書けばいいようです。

package sample.commons.xmlio;
 
import java.io.FileOutputStream;
import org.apache.commons.xmlio.out.XMLOutputStreamWriter;
 
/**
 * Commons XMLIOのサンプル。
 */
public class XMLIOSample {
 
    public static void main(String[] args) throws Exception {
        XMLOutputStreamWriter writer =
            new XMLOutputStreamWriter(new FileOutputStream("test.xml"), "EUC-JP");
        writer.writeProlog("<?xml version=\"1.0\" encoding=\"EUC-JP\"?>");
        writer.writeStartTag("<ルート>");
        writer.writeEmptyElement("<要素 属性=\"属性値\"/>");
        writer.writeEndTag("</ルート>");
        writer.close();
    }
}

まーXMLと言っても生の文字列を書き出しているのとほとんど一緒ですな。

@ Commonsって

本当に私の自作ライブラリと機能が被りまくっています。IOのFileUtilsとかLangのStopWatchとかValidatorとかI18nとか...ここまで来ると

?

って思ってしまうぐらい。しかも向こうの方が微妙に高機能だったりするので悔しい。


2004-12-24 [長年日記]

@ メリークリスマスイブ

世の中結構勘違いしている人いるけど、まだクリスマスではないですよー。キリストの誕生日は明日です。さて今日も頑張ろう。

@ [java] Commons Resourcesを使ってみる

Commons I18nと一体何が違うのかよくわからない。基本的に「キーに関連付けられたメッセージを取得する」というインタフェースは同じはずなのに。こっちはJDBCに対応していたりするので、若干高機能そうだけど。

とりあえずResourceBundleの例だけ。

sample.commons.resourcesパッケージ内にメッセージカタログを用意
messages_ja.properties(native2asciiで変換後)
hello=\u3053\u3093\u306b\u3061\u308f\u308f
arg=\u5f15\u6570\u306e\u30c6\u30b9\u30c8({0})
messages_en.properties
hello=Hello
arg=A test of an argument({0})
サンプルソースを作成(sample/commons/resources/ResourcesSample.java)
package sample.commons.resources;
  
import java.util.Locale;
 
import org.apache.commons.resources.Messages;
import org.apache.commons.resources.Resources;
import org.apache.commons.resources.ResourcesFactory;
import org.apache.commons.resources.impl.ResourceBundleResourcesFactory;
  
/**
 * Commons Resourcesのサンプル。
 */
public class ResourcesSample {
 
    public static void main(String[] args) {
        // ResourceBundleを使うケース
        ResourcesFactory factory = new ResourceBundleResourcesFactory();
        Resources resources =
            factory.getResources("name", "sample.commons.resources.messages");
        System.out.println("日本語: " + 
            resources.getString("hello", Locale.JAPAN, null));
        System.out.println("英語  : " + 
            resources.getString("hello", Locale.ENGLISH, null));
        // 引数を渡す
        Messages messages = new Messages(resources);
        System.out.println("日本語: " +
            messages.getMessage(Locale.JAPAN, "arg", "引数"));
        System.out.println("英語  : " + 
            messages.getMessage(Locale.ENGLISH, "arg", "引数"));
    }
}
実行
日本語: こんにちわわ
英語  : Hello
日本語: 引数のテスト(引数)
英語  : A test of an argument(引数)

概略すると、ResourceFactoryというfactoryメソッドを持つインタフェースがあって、これのconcreteクラスとして、ResourceBundleResourcesFactory、XMLResourcesFactory、JDBCResourcesFactoryなどがあります。で、それぞれのfactoryがResourceBundleResourcesやXMLResourcesなどのconcrete productを生成します。典型的なfactory methodパターンです。

Resourcesインタフェースはいわゆる「メッセージの集合」を表しているわけですが、似たようなクラスとしてMessagesがあります。このクラスにもメッセージを取得するメソッドがあり、「Resourcesと一体何が違うの?」という感じなんですが、こっちにはメッセージに引数を渡すための仕組みがあります*1。というか、たぶんResourcesは利便性を考慮してgetStringっていうメッセージ取得のメソッドを持っているだけで、正攻法としてはMMessages#getMessageを使うことなのかな。設計者脳内の概念がよくわかっていません。

個人的に「うーんイマイチ」と思うのは、XMLのメッセージカタログもResourceBundleのように「1言語1ファイル」なところです。XMLにメッセージ書き出すんだったら単一のファイルに全言語のメッセージを定義したい、と思うのが普通なのではないでしょうか。I18nはそういう要求を満たしているのですが、こっちはこっちでロードしたメッセージをなんとかMessageProviderのstaticなMapで管理しているのがダサい。同一VM上で複数のアプリケーションが動いているとして、もしmessageIdがアプリケーション間で重複していたら...? ってことを考えるとイマイチ使えなさそうだったのでResourcesも試してみたのですが、結局現時点ではどっちもイマイチですた...

*1 ちなみにこの引数を渡す方法がわからなくてはまった

@ さて

こんな現実逃避してないで仕事しよう。

@ [java] Commons I18nを使ってみる(2)

たけぞうさんの日記経由で色んなところからリンクされているのでもう少し知り得たことを。

このライブラリは require >= JDK 1.4 です。

import java.util.logging.Logger;
import org.xml.sax.InputSource;

していますんで。XMLパーサとlumberjackを用意すればJDK 1.2でも大丈夫なのかもしれません。

@ 本日のアクセス数

なんか本当にすごい。いつもの2倍はあります。みなさんイブだってのに

?

かくいう私もプライベートは別になんもありません。どうせ彼女いませんよーだ。でも別に見栄張って「今日の更新はやめとこ」とか思いません。まーいいじゃんヒマだって。そういう年もあるってことで。

でも、幸せなクリスマスってあんまりなかった気がする...

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

# おいぬめ [ツッコミテスト]

# mazurkja [description fZOurBDyB3pC http://tinyurl.co.uk/foks]


2004-12-25 [長年日記]

@ [life] うっ

やべー寝過ごした...


2004-12-27 [長年日記]

@ [life] 事故現場

交通事故の現場を見てしまった。といっても事故の瞬間を見たわけではないのですけど。たぶんチャリと車が当たって、チャリの人は倒れて意識がない状態。自分も自転車に乗る率高いので気をつけないといけないな、と思いました。


2004-12-28 [長年日記]

@ [admin] サーバ停止

メンテナンスのため、本日12/28 20時から10分ほどサーバが止まります。

@ [work] ゴリゴリ

PerlのDBIでコーディング。分業は考えなくてもいいので(一人でやってるから)、DAOとか面倒なことは考えずダイレクトにSQLを投げて結果を受け取ってって感じ。

@ [life] 歯が痛い

ちょっと歯がいたかったので、歯医者に電話したら「年内の診療は終わっています」だそうな。年明けまで見てもらえないことがわかるとだんだん激痛になってきて、何事にも集中出来ず。痛い、本当に痛い...

@ [emacs] Wanderlustで添付ファイル名が日本語の場合

今まで「日本語ファイル名の添付ファイル」を送信するケースがなかったせいか、まったく設定しておらず化け化けだったそうな。調べてみるとEmacs Application/wlに情報があったので、そのまま.wlに追記。

;; ファイル名が日本語の添付ファイルをエンコードする [semi-gnus-ja: 6046]
(eval-after-load "std11"
  '(defadvice std11-wrap-as-quoted-string (before encode-string activate)
     "Encode a string."
     (require 'eword-encode)
     (ad-set-arg 0 (eword-encode-string (ad-get-arg 0)))))

2004-12-29 [長年日記]

@

さっきまですごい大粒の雪だったのにだんだん雨っぽくなってきた。積もるかと思ったのにな〜。

@ そんなわけで

これから creator of を観に行ってきます。帰りの電車がちょっと心配。

@ [music] ROCK SOLDIER 2004 @ 新宿Live Freak

creator of 目当てで行って来ました。イベント自体は16時ぐらいからやっていたらしいんですけど、うちらは友達の都合もあって19時頃に参戦。キャパ300人ぐらいのライブハウスらしいのですが、中に入ってみると

100?

というぐらいの狭さ。ウチラが入った時点ではジャーマンメタル系のややSLIPKNOTに影響受けてそうなバンドが演っていて、ものすごい爆音が炸裂していました。バスドラの音が胸に響いてカッコよかったのですが、あろうことか虫歯にまで響くようになり、このバンドが終了した時点でちょっとリタイア。

ライブが終わるのが23時過ぎだということなので、夜ご飯を食べてもう1度リターン。そして、「3狂」と言われている Before Christ Butterfly が登場。この人達はいわゆる「ミクスチャー」バンドでパンクとかヘビーロックとかそんな感じの曲が多かったです。印象的だったのはギターのパンク頭で、50cmはあろうかというトゲトゲっぷり。このバンドが終わった後、パンク頭がフロアを歩いて来て、友達がこの頭に刺されたそうです。マジ凶器。危険!!

んで、3狂2つ目の RISING SUN というバンド登場。この人達はツインボーカルでラップを繰り出す、これまたコテコテなラップコア系。曲は良くもなく悪くもなくという感じでしたが、いかんせんラップが下手でした。もしかすると上手いのかもしれないけど、ウルサイ曲にラップを合わせてもフローのメリハリが(静かなトラックと比べて)出てこないので、根本的にラップコアにフローがどうとかっていうのを求めるのは間違ってるのかもしれません。まー、この人達はノリ重視で、ライムもいまいちカッコ良くなかったし「こんなもんか」程度でした。ただし、10名ほどやたら熱狂的なファンが前方で荒れ狂っていました。宗教ですなぁ。

The Creator Of

そして、いよいよお目当てでトリの The Creator Of。音合わせの間にはお香とスモークを大量に焚き、登場前の雰囲気作りもちゃっかりしているところが「ああ、憎いね」と思わせます*1。音合わせにてこずっているのか、40分以上もかかってやっとやっと1stのintro、GREEN(HI ON)が流れ始めます。徐々に幕が上がってギターを弾いている兄ちゃんがそこにいるのですが、「あれ?この人誰?」っていう感じの

人でした。このバンドは3ピースでボーカルがギターも兼任してるのですが、私のイメージではこのVo兼Gは、蒲田あたりをうろついてそうな

or

なのですが、本当にフツーの人なんです。一緒に行った友達は過去に creator of のライブを観ているのですが、「え!?何か全然雰囲気違う」って言ってましたし、写真左の人とはあまりにも似ても似つかぬ人だったので、過去の経験から「ああ、この人はサポートのGか何かで、本当のVo兼Gは次の曲で後ろからドッカーンと出てくるんだろうなぁ」という結論に達しました。

ですがですが、この期待は2曲めの RESET になった時点で見事に裏切られます。この「影武者G」がまだギターを弾いているんです。そして歌っているんです。この現実を目の当りにして、「ああきっとメンバ変わったんだな」という結論に達しました。というか、Gが影武者とかどーの以前に

もうね、大学のバンドサークルのライブかよっ!って思ってしまうぐらい酷い。特にマイクとGのアンプが「電源入ってないんじゃないの?」って感じで最悪でした。おそらくこの曲が一番の盛り上がるところなのに、完全にはずしてしまって目も当てられない状態でした。メンバーもこの酷い状態に憤りを感じたのか、スタッフにあーだこーだ言って、なんとか音合わせをし、2ndの曲をもう1曲(ABUSEかな?)やるのですが、やっぱりイマイチ音が悪く「僕にはそんな根性ありません」とかわけのわからんことを言ってVoは居なくなってしまいました。もしかして...

!?

と思ったら煙草吸いながら登場してまたも音合わせ。他の観客たちもこのサイアクな雰囲気に嫌気がさしたのか、はたまた終電が危なかったのか、ふと回りをみたら満杯近くいた人達の約半分がこの時点で居なくなってました...

その後、AGAINなどをやりますが、やはりしっくり来ないというか「イマイチのれない」雰囲気が完全に出来上がってしまっていて、他の客も全然ノレていないようでした。というか、出待ちの時に焚いた香やスモークは完全に逆効果でしたよ。「あれだけ演出に凝ったのに肝心の音がねぇ」とか考えていると、終電の時間がまずくなったのでウチラも「もういいダロ」ということで撤退しました。

というわけで、私の初 creator of のライブはほんっっっとうに最悪でした。一緒に行ってくれた友達にも本当に悪いことをしました。(一応)プロのライブであそこまで酷いのは初めてでしたし、2004年最後のライブがあんなんでかなり落ち込みましたし...

まぁ今回は運が悪かったと思って、次回に期待したいと思います。creator of のデキは置いといて、久々にちっちゃなライブハウスで目眩がするくらいの轟音が聴けたのが唯一の救い...かな。

*1 ちなみに、この時点でもう22:30を回っており、ちょっと終電が気になり始めます

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

# tramadol [15/06/2006 02:44:18Data]


2004-12-31 [長年日記]

@ [life] 雪

すごい積もってましたね。スニーカーから水が忍び込んできて、足が凍傷になりそうでした。

外に出たついでにTSUTAYAに行ったのですが、今年は年末の半額キャンペーンはないんですね。これを期待して観たいやつを溜めておいたのに...


Bookmark: あんてな | ぶっくまーく | 覚え書き | Project Amateras | ExcelPettyCashBook | FreeStyle Wiki

2002|10|11|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|11|12|
2008|01|02|03|04|05|06|07|08|10|11|
人気ブログランキング - おいぬま日報(不定期)