月曜日, 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!形態素APIMeCabの分かち書き比較をしたくて簡単なスクリプトを書いた。
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