月曜日, 7月 30, 2007

[Linux] Mantis API

BTのMantisに(SOAPの)APIを組み込もうというプロジェクトがありました。Eclipseからの投稿ツールを作ろうとしたところから出ている派生プロジェクトのようですが、この手の基盤ツールは有用ですね。
clipped from www.futureware.biz
MantisConnect
 blog it

日曜日, 7月 29, 2007

[Linux] Trac is better?

Tracは前から気になっていたのですが、相当よさそうなコメントも見つけたので"Trac月"という一撃インストールツールを使って、やつでちょっと使ってみようと思います。

Tracというのは革命的といっていいくらい便利なツールだと感動。個々の要素はSCMでありBTS(IMS)でありWikiなんだけども、それらが統合された状態で連携してくれるだけで使いやすさの次元がひとつ上がる感じ。例えばCVSとMantisとPukiWikiを別個に立てても決してこれと同等にはならない。

 blog it
ちなみに、pukiwikiからtracへデータコンバートするにはこちらのスクリプトが使えるようです。

土曜日, 7月 28, 2007

[EC2] EC2->S3バックアップ

邪道っぽいですが,expectを使うと自分自身に立てたWebDav(S3)に簡単にバックアップが取れました(cadaverを使います).

#!/bin/sh
#
# Mantis data backup script for Postgres
#
DATE=`date +%Y%m%d%H%M`
/usr/local/tf0054/pgsql/bin/pg_dump -U mantis | /usr/bin/gzip -1 - > ~/backup/mantis_$DATE.dat.gz

HOST=webdav://localhost:2667/
/usr/bin/expect -c "
set timeout 20
spawn /home/tf0054/cadaver-0.22.5/cadaver $HOST
expect \"\>\" ; send \"cd backup\r\"
expect \"\>\" ; send \"ls\r\"
expect \"\>\" ; send \"put /home/postgres/backup/mantis_$DATE.dat.gz\r\"
expect \"\succeeded\" ; send \"quit\r\"


どうも好きになれませんが,こんな効果があるから廃れずに残っているコマンドなのでしょうね.

木曜日, 7月 26, 2007

[amazon] jungledisk

AmazonのS3サービスを利用するためのクライアントにjunglediskというのがある。これはてっきりWindowsのクライアントだけだと思っていたが、Linux版(デーモンであがってWebDav接続を待つ)もあるんですね。Windows版も良く考えるとWebdavを提供しているだけなので、そらそうなのですが。

で、LinuxがCUIだけの場合デーモンを上げるためのiniファイルが作れないで困ります。が、これはWindows版を使ったらできるiniをコピーし、秘密鍵を書き換え(Windows版はiniファイル上暗号化されていますのでベタテキストで書く)ると動きます。以下に参考までに転記(XXXXとYYYYを変更して利用してください)。
LoginUsername=
LoginPassword=PROTECTED:
AccessKeyID=XXXX
SecretKey=YYYY
Bucket=default
CacheDirectory=/home/tf0054/jungledisk/tmp
ListenPort=2667
CacheCheckInterval=120
AsyncOperations=1
Encrypt=1
ProxyServer=
EncryptionKey=PROTECTED:
DecryptionKeys=PROTECTED:
MaxCacheSize=1000
MapDrive=J
UseSSL=1
RetryCount=3
FastCopy=1
WebAccess=0
LogDuration=30

昔此方の記事のようにうだうだやっていたのですが、それに比べると結構便利そう。でもLinuxってWebDavクライアント側が弱いのですね、、、これ経由でバックアップを考えていたのですが未だ少し道のりはありそうです。

水曜日, 7月 25, 2007

[S3] cadaver

webdavが使えるCUIのウェブブラウザ(?)。webdavが使えるということはjungledisk経由でS3にファイルバックアップを取れるということで使いでがあります。
clipped from www.webdav.org
[cadaver Logo]
 blog it

月曜日, 7月 23, 2007

[Linux] ポートレット

「ポータル・サイトを独自に開発するためのフレームワーク」のことをポートレットと呼ぶらしいが、そんなにポータルサイトのつくりって共通要素が多いのかな。。。
という疑問を解消するためにも詳細を読んでみようと思う。
clipped from www.itarchitect.jp

「eXo Platform」で体験するポータル・サイト開発

 blog it

土曜日, 7月 21, 2007

[PostgreSQL] pg_filedump

PostgreSQLのデータファイルをダンプするツールがRH社から公開されていた。無論RHDB用としてだが普通に(コミュニティ版PostgreSQLでも)使える様子。
clipped from sources.redhat.com

pg_filedump is a utility to format PostgreSQL heap, index, and control files into a human-readable form. You can format/dump the files several ways as well as dumping straight binary. This utility is intended to aid in the understanding of the internal contents of a PostgreSQL block.
 blog it

ちょっと使ってみたので出力を以下に貼り付けておきます。

[tf0054@domU pg_filedump-8.2]$ ./pg_filedump -f /var/tmp/8694215

*******************************************************************
* PostgreSQL File/Block Formatted Dump Utility - Version 8.2.0
*
* File: /var/tmp/8694215
* Options used: -f
*
* Dump created on: Sat Jul 21 03:53:38 2007
*******************************************************************

Block 0 ********************************************************
-----
Block Offset: 0x00000000 Offsets: Lower 44 (0x002c)
Block: Size 8192 Version 3 Upper 8176 (0x1ff0)
LSN: logid 6 recoff 0x74e17274 Special 8176 (0x1ff0)
Items: 6 Free Space: 8132
Length (including item array): 44

BTree Meta Data: Magic (0x00053162) Version (2)
Root: Block (1) Level (0)
FastRoot: Block (1) Level (0)

0000: 06000000 7472e174 01000000 2c00f01f ....tr.t....,...
0010: f01f0320 62310500 02000000 01000000 ... b1..........
0020: 00000000 01000000 00000000 00000000 ................
0030: 00000000 00000000 00000000 00000000 ................
0040: 00000000 ....

-----
BTree Index Section:
Flags: 0x0008 (META)
Blocks: Previous (0) Next (0) Level (0) CycleId (0)

1ff0: 00000000 00000000 00000000 08000000 ................


Block 1 ********************************************************
-----
Block Offset: 0x00002000 Offsets: Lower 44 (0x002c)
Block: Size 8192 Version 3 Upper 8104 (0x1fa8)
LSN: logid 6 recoff 0x74e17ca4 Special 8176 (0x1ff0)
Items: 6 Free Space: 8060
Length (including item array): 44

0000: 06000000 a47ce174 01000000 2c00a81f .....|.t....,...
0010: f01f0320 e49f1800 d89f1800 cc9f1800 ... ............
0020: c09f1800 b49f1800 a89f1800 ............

------
Item 1 -- Length: 12 Offset: 8164 (0x1fe4) Flags: USED
1fe4: 00000000 01000c00 01000000 ............

Item 2 -- Length: 12 Offset: 8152 (0x1fd8) Flags: USED
1fd8: 00000000 02000c00 02000000 ............

Item 3 -- Length: 12 Offset: 8140 (0x1fcc) Flags: USED
1fcc: 00000000 03000c00 03000000 ............

Item 4 -- Length: 12 Offset: 8128 (0x1fc0) Flags: USED
1fc0: 00000000 04000c00 04000000 ............

Item 5 -- Length: 12 Offset: 8116 (0x1fb4) Flags: USED
1fb4: 00000000 05000c00 05000000 ............

Item 6 -- Length: 12 Offset: 8104 (0x1fa8) Flags: USED
1fa8: 00000000 06000c00 06000000 ............


-----
BTree Index Section:
Flags: 0x0003 (LEAF|ROOT)
Blocks: Previous (0) Next (0) Level (0) CycleId (0)

1ff0: 00000000 00000000 00000000 03000000 ................


*** End of File Encountered. Last Block Read: 1 ***
[tf0054@domU pg_filedump-8.2]$

Oracleで"alter system dump datafile"と同レベルまでは行っているように思われます。すばらしい。

木曜日, 7月 19, 2007

[Linux] MeCabとY!の形態素API

前にブログも書いたY!形態素APIとMeCabの分かち書き比較をしたくて簡単なスクリプトを書いた。
MeCabのヨミってカタカナで返る(Y!はひらがな)のでこれをひらがな変換しようとしてUnicode::Japaneseを使いかけて成功していないとか、しょぼいですが何かの足しになれば。

水曜日, 7月 18, 2007

[search] MeCab with ActivePerl

ActivePerlでMeCabを使った形態素解析をしたくなった。が、これってコンパイラが要るなぁと思っていたらやはりきとくな方がppdを公開されていた。ありがたや。
clipped from namazu.asablo.jp

Windows 利用者のために ActivePerl 用 Perl モジュールである PPM パッケージを公開しています。

 blog it

火曜日, 7月 17, 2007

[Linux] DTrace on Linux

PostgreSQLユーザ会で、PostgreSQLの挙動をDTraceを使って(PgSQL自体は当然SUN上で稼動)グラフ化していた。これはモニタリングに有効ということでLinux版を調べてみると。。下のSYSTEMTAPというやつが有効そう。
clipped from sourceware.org
SystemTap logo
 blog it

土曜日, 7月 14, 2007

[perl] Unicode::Japanese

Encode利用の(Perl5.8の)ActivePerlにあって,カタカナ→ひらがな変換ってどうやるのが正統なのか分かりません.
そんな中私はUnicode::Japaneseで書いていて,そのActivePerlパッケージの入手先をメモ.
clipped from fleur.hio.jp

http://fleur.hio.jp/pub/perl に ppd がおいておきました.このURLをレポジトリに追加してください. その後 ppm install Unicode-Japanese でインストールできます.

 blog it

昔はjcode.plで統一感があって勉強しやすかったと思います.さっこんPerlがなんとなく取っ付きが悪くなって書籍も減っている感があるのは,案外こんなところが原因なのではないかと思います...

木曜日, 7月 12, 2007

[GPS] GPS-CS1のこと

GPS-CS1を(ずいぶん前に)買いました。旅行先などに持ってゆくと、後でその経路をgoogleマップで見られる、というもの。
googleマップで見たい場合は、"trk2goolgemaps&kml"とあわせて使うのが一般的なようですが、フォーマットは統一規格(NMEA-0183というやつらしい)にのっとっているようなので、こちらなどで公開されているスクリプトなんかを使っても処理できそうです。
clipped from www.sony.jp
 blog it

水曜日, 7月 11, 2007

[API] gmap+標高?

緯度経度から標高を出してしまうAPIがあるらしい。何かに使えそうで、何に使えるのか分からない。。
clipped from www.mashupedia.jp
 blog it

日曜日, 7月 08, 2007

[Linux] 軽量httpdの選択肢

apache以外にはlighttpdやthttpd位しか知りませんでしたが、世の中見渡すとたくさんあるのですね。。
clipped from www.ibm.com

Lightweight Web servers

Special-purpose HTTP applications complement Apache and other market leaders

 blog it

金曜日, 7月 06, 2007

[PostgreSQL] RDBMS-MIB

ちょっと前に気にだけしていたpgsnmpdがバージョンアップされていました。のでもう少しちゃんと知ろうとDRBMS-MIBを見てみました。意外に細かいところまで見られるし、オラクルもサポートしてるんですね。思ったより使ってみる価値は高そうです。

水曜日, 7月 04, 2007

[Linux] ZABBIXでDB肥大化

ZABBIXはmysqlを使っているのだが、普通にCentOSなどの標準mysqlでやってしまうと、/var/lib/mysql/ibdata1というファイルが肥大化してゆく。
これは/etc/my.cfgにinnodb_file_per_tableオプションを書いておけば解決するのだが、付けずに使って出来てしまったibdata1ファイルは(その後にいくらデフラグしても縮小できない。
なのでdump&restoreが必要。
clipped from www.zabbix.com
ZABBIX Forums
 blog it
ちなみに、mysqlはスレッドを多用するのでこれをpsコマンドで見たくなる(と思う)。そのときはこのコマンドで。
ps auxwww -L (普通は"ps -efLwww"でしょうか)

これによりPIDだけではなくLWPとNLWPとが見られる(ちなみにスレッドならPIDは同じでLWPが違うものが複数行現れるはず)。

日曜日, 7月 01, 2007

[Linux] Assurer

阿修羅(Assurer)というサーバテスティングフレームワークがあるらしい。サーバ管理者はこの手の発想ができないの(が普通なの)で、この考え方からして面白そう。
clipped from blog.mizzy.org
$ ./assurer.pl -c examples/config.yaml
[info] Testing http://svn.mizzy.org/ #0
ok 1 - Content of http://svn.mizzy.org/ matches 'It works!'
[info] Testing http://svn.mizzy.org/ #1
not ok 2 - Content of http://svn.mizzy.org/ matches 'It not works!'
# '<html><body><h1>It works!</h1></body></html>'
# doesn't match '(?-xism:It not works!)'
 blog it

金曜日, 6月 29, 2007

[PostgreSQL] 表領域サイズの計算

pg_filedumpを使っての説明がこちらでなされていました(しかしなんでこんなに偉そうに相談できるのか疑問ですが)。
杉田さんという人は大人ですね。

火曜日, 6月 26, 2007

[Linux] Privoxy

delegateやsquidなどがちょっとややこしいと感じているときに、使ってみる価値がありそうなPROXYサーバ。バージョンが3.0などなので結構安定しているかも。cookie書き換え機能などがあり広告排除につかってくれとのこと。
clipped from www.privoxy.org

Privoxy - Home Page

 blog it

月曜日, 6月 25, 2007

[PostgreSQL] pgsnmpd

pgsnmpdというSNMP経由でPostgreSQLの情報が取れるデーモンがある。
http://pgsnmpd.projects.postgresql.org/

via kwout

なお、マニュアルには記載があるが、このデーモンは情報を60秒間キャッシュする、言い換えると60秒よりも短い頻度で情報を取りに言っても意味のあるデータは取れない。

日曜日, 6月 24, 2007

[Linux] shredコマンド

資産除却などで完全にファイルを消さなくてはならない場合、一番お手軽にはshredというGNUコマンドを使うことだそう。
RAID上などの場合完全性は落ちてしまいますが、普通にrmして「消したよ」と言って恥ずかしい思いをしないようにしましょう。

金曜日, 6月 22, 2007

[Linux] JMeterでサイトを監視?

出来そうでやり方がいまいち分からなかったが、ちゃんとしらべると普通に(本家ページに)説明がありました。
でも、正常性監視というよりはCPUリソースとレスポンス速度の草案を見る的な用途を想定している様子ですね。
ある程度以下のレスポンスになったらメールを出す、などの正常性監視の観点ではいまいちかもしれません(無論OSSなのでパッチとかあるかもしれませんが)。
clipped from jakarta.apache.org
JMeter
 blog it

木曜日, 6月 21, 2007

[PostgreSQL] クエリキャッシュ

PostgreSQLには(現在最新の8.2系でも)QueryCacheが無い(これがオラクルからの移行時に精神的なネックとなることが多いような気がする)。
さらにその実装は簡単ではないらしく、お試し実装されている方がいるものの性能向上には至らなかったらしい。でもそのチャレンジ精神がすばらしいですね。

火曜日, 6月 19, 2007

[Linux] Y!の形態素解析ウェブAPI

MeCabとの違いとか、興味津々なのでスクリプトを書いてみた。これでいろいろ実験してみようと思います。

テキスト解析Webサービスでは、日本語文を形態素に分割し、品詞、読みがな、統計情報を取得できる「日本語形態素解析Webサービス」を提供しています。

 blog it

これを使えるActivePerlのサンプルを書いてみたのでご参考までに。

日曜日, 6月 17, 2007

[XML] HTMLフォームの代替?

HTMLフォームの代替って、、まぁ意味は分かる(投げるデータとそのインターフェイス(デザイン)を分離したい)けどまた細かいところにフォーカスした規格ですね。。
clipped from www-06.ibm.com

XForms 入門、第 1 回: フォームのための新しい Web 標準

 blog it

土曜日, 6月 16, 2007

[Linux] Luma

XベースのLDAPブラウザだそうです.LAMに比べると開発コミュニティが充実していそいうで良いですね.
 blog it

金曜日, 6月 15, 2007

[Perl] Template::Extract便利

やっぱり便利なので更新して欲しいなぁ。そこまで使いこなせていないけれど。パッチを作ってらっしゃる方を発見。
clipped from blog.woremacx.com

Template::Extract で遊ぶ でTemplate::Extractの機能拡張したと書きました。もう少しスマートな文法にしたので、そっちに変更して、作者さんにパッチを送りました。

 blog it

水曜日, 6月 13, 2007

[Linux] xlogdump

PostgreSQLのxlog(WALログ)をダンプしてみることが出来るツールxlogdumpを発見。PostgreSQL本体のソースをコンパイルしてから、その中のcrontribとして作ります。

結果としてはrelname(≒oid?)で出るのでそれを(実際にそのログを吐いた)DBから引っ張り出して当てないと、よくわからない。。など簡単に使えるものではないですが、素晴らしいツールです。

日本のMLではv8.0系じゃないと言われていますが、v8.1.4のログは問題なく解析できるようです。

火曜日, 6月 12, 2007

[Linux] Using Apache Logs with JMeter

私は今すぐ必要ではありませんが、apacheのAccessログをつかってJMeterをかける方法がウェブにありました。

月曜日, 6月 11, 2007

[PostgreSQL] ユーザ追加など

いつも忘れるのでメモ(こちらが詳しい)。
CREATE USER satou WITH PASSWORD 'hogehoge';

ユーザ追加とは関係ないが、各データベースクラスタのOIDを見るける方法。
[tf0054@domU-12-31-33-00-XX-XX ~]$ oid2name -U tf0054
All databases:
Oid Database Name Tablespace
------------------------------------
17169 mantis pg_default
26222 mt pg_default
8683087 mt2 pg_default
8689910 mt4b3 pg_default
10819 postgres pg_default
10818 template0 pg_default
1 template1 pg_default
8700187 tf0054 pg_default
315864 zabbix14 pg_default
[tf0054@domU-12-31-33-00-XX-XX ~]$ sudo su
[root@domU-12-31-33-00-XX-XX tf0054]# cd /mnt/data824/base/
[root@domU-12-31-33-00-XX-XX base]# ls -la
合計 60
drwx------ 13 postgres postgres 4096 8月 5 22:04 .
drwx------ 11 postgres postgres 4096 6月 3 06:36 ..
drwx------ 2 postgres postgres 4096 7月 14 01:42 1
drwx------ 2 postgres postgres 4096 12月 30 2006 10818
drwx------ 2 postgres postgres 4096 6月 3 06:36 10819
drwx------ 2 postgres postgres 4096 6月 3 14:03 17169
drwx------ 2 postgres postgres 4096 6月 3 14:13 26222
drwx------ 2 postgres postgres 4096 7月 14 01:43 315864
drwx------ 2 postgres postgres 4096 6月 26 00:56 8683087
drwx------ 2 postgres postgres 8192 6月 26 01:26 8689910
drwx------ 2 postgres postgres 4096 8月 5 22:09 8700187
[root@domU-12-31-33-00-XX-XX base]#

ちゃんとできとる。ちなみにさらにこのoid名でできているディレクトリの中に入っているのはrelid(="relation id")に対応するデータファイル。その対応を見る方法は以下。
select relname,reltoastrelid from pg_class;

日曜日, 6月 10, 2007

[Linux] JMeterでデータ読込み

JMeterで外部ファイルを読み込んでパラメータデータとして使う場合、かつUTF8文字列で流したい場合は、BOMを付けないようにしないとだめっぽい。でもそれだけじゃまだエラーが。(__StringFromFile関数のとき)。
なにが問題なのだろう。。。
clipped from wiki.livedoor.jp

ファイルから値を読み込むには、主に下記の2つの関数が使えますが、現在の私の知識だと、_StringFromFileの方が利用範囲が広いです。
 blog it

__StringFromFile関数は、SFFと略されるんですね。あと、ちゃんとループの中で利用したら、上から順に利用してくれるようです(CVSのやつは一度読み込んだものを使い回してしまっている気がしたが)。

土曜日, 6月 09, 2007

[perl] Win32::GUI

ふとActivePerlのppm(GUI版)って,何を使って作っているのかな,と思って調べてみたところWin32::GUIというやつっぽい.これは暫く見ないうちにえらく進化を遂げている様子.使ってみないと.

木曜日, 6月 07, 2007

[Linux] 全文検索のサンプルデータ

青空文庫のデータを、全文検索の対象データにする方法を紹介しているサイト(意図は違うけど)があった。意外に性能測定のデータって何にしようと結構悩むのでメモ。

ちなみに、当てる側のサンプルとして、まったく無作為にいくならICOTの形態素辞書を使うのがよいかと思っている。

水曜日, 6月 06, 2007

[Linux] wikipediaデータをパース

wikipediaが配っているデータダンプって、非常に扱いにくいなぁと思っていたら、ちゃんとパース用のPerlモジュールが公開されていました。さすがですね。

火曜日, 6月 05, 2007

[Linux] drupal

drupalというCMS(なんとなくロゴを見ると見たことがある気がする)には、Solrと連携するモジュールが公開されていました。日本ではやっているXOOPSは未だなのかな。