火曜日, 3 月 15th, 2011 | Author: djodjo

サーバサイドJavaScriptの本。初めてかな。node.jsのメンバーが執筆している本なんだろうか。

Category: 未分類  | Leave a Comment
木曜日, 7 月 22nd, 2010 | Author: djodjo

備忘録
aprは/usr/local/aprにインストール済み
gcc -I/usr/local/apr/include/apr-1/ -lapr-1 -L/usr/local/apr/lib/ sample.c -o sample

apache2.2がインストール済みなら
gcc -I/usr/local/apache/include/ -lapr-1 -L/usr/local/apache/lib/ sample.c -o sample
でもOK

Category: 未分類  | Tags:  | Leave a Comment
水曜日, 6 月 30th, 2010 | Author: djodjo

備忘録
SELECT format_type(p.prorettype, NULL) as “Result data type”,
p.proname as “Name”,
oidvectortypes(p.proargtypes) as “Argument data types”
FROM pg_proc p
WHERE p.prorettype <> 0 AND (pronargs = 0 OR oidvectortypes(p.proargtypes) <> ”)
AND
p.oid > (SELECT datlastsysoid FROM pg_database WHERE datname = ‘template1′)
ORDER BY 2, 1, 3;

水曜日, 6 月 30th, 2010 | Author: djodjo

備忘録
GDBをりようして子プロセスをおっかける方法
apacheもモジュール試験で利用

set follow-fork-mode child
b get_suexec_id_doer
run

Category: 開発環境  | Tags:  | Leave a Comment
月曜日, 5 月 24th, 2010 | Author: djodjo

memcachedのキーを全部ダンプする方法(Perl)

Perlで、memchacnedに登録されているキーと値を全部ダンプしてみる。
少々めんどく、分かりにくいのですが、こちらのサイトを参考にしてみました。
http://blog.utils.jp/2008/06/memcached-2.html
ただ、上記リンク先でのサンプルコードでslabsを取った後に、chunk_size の数値を次のcachedumpの第2引数に使ってますが、多分、used_chunksの数値が正しいと思う。
このusec_chunksで、格納している個数が取れる。


use Cache::Memcached;
sub dump{
	my $memc = Cache::Memcached->new({
		servers => [127.0.0.1:11211]
	});
	my $data;

	my $slabs .= join "\n", map{ $_->{slabs} } values %{$memc->stats('slabs')->{hosts}};
	$slabs=~s/STAT ([0-9]+):used_chunks ([0-9]+)/cachedump $1 $2/g;

	foreach my $cmd ( grep /cachedump/, split /\r?\n/, $slabs ){
		my $items = join "\n", map { $_->{$cmd} } values %{$memc->stats($cmd)->{hosts} };
		$items=~s/ITEM (.+) \[.+ b; .+ s\].*\n/$1\n/g;
		foreach my $k ( split /\r?\n/, $items ){
			$data->{$k} = $memc->get($k);
		}
	}
	return $data;
}

Category: 未分類  | Leave a Comment
火曜日, 4 月 20th, 2010 | Author: djodjo

OmegaTrickのコードを触る為gitを始めたんだけど、どうもWindows環境ではうまくいかない。
なので、いつものさくらのサーバで試してみる。

1.gitのインストール

インストール先として$HOME/local/gitとする。
$HOME/localでもいいけど、後からアンインストールしやすくする為、プログラム別のディレクトリを切ってみました。
なので、あらかじめ、$HOME/localは作成しておきましょう

http://git-scm.com/

wget http://kernel.org/pub/software/scm/git/git-1.7.0.5.tar.gz
tar -vxzf git-1.7.0.5.tar.gz
cd git-1.7.0.5
./configure –prefix=$HOME/local/git
make
make install

初期設定

git config –global user.name “なまえ”
git config –global user.email “メールアドレス”

2.OmegaTrickのソースをgithubから取得する

git clone git://github.com/xenophy/OmegaTrick

githubへソースをpushするためにgithubに登録するsshキーを生成する

$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key ($HOME/.ssh/id_rsa):パスフレーズを入力
このフレーズは、githubへpushするときに入力する。

githubへは、$HOME/.ssh/id_rsa.pubを登録する。

その後の毎日のソース取得は
cloneしたOmegaTrickのパスまで移動して

git pull

これでOK

月曜日, 4 月 19th, 2010 | Author: djodjo

Power Point 2007 でスライド番号が表示されない。
ググるとOfficeXPとかの例は引っかかるのですが同じメニュー体系ではない2007ではどうすればよいのやら・・・。

みつけました。

  1. 「挿入」タブ→「ヘッダーとフッター」をクリック
  2. 「スライド」タブの「スライド番号(N)」にチェックを入れる

これでOK 。

ちなみに、フッターの文言や日付についてもここでチェックしておかないと表示されない。

Category: 未分類  | Leave a Comment
火曜日, 3 月 09th, 2010 | Author: djodjo

memcachedを構築する手順。
CentOS5へ導入

特につまるところはなかったかな。

1.libeventのインストール
wget http://www.monkey.org/~provos/libevent-1.4.10-stable.tar.gz
tar -vxzf libevent-1.4.10-stable.tar.gz
cd libevent-1.4.10-stabl
./configure
make
make install

2.memcachedのインストール
wget http://memcached.googlecode.com/files/memcached-1.4.4.tar.gz
cd memcached-1.4.4
./configure
make
make install

3.起動方法
daemonモード
memcached -p 11211 -m 64m -u ユーザ名 -d

火曜日, 3 月 02nd, 2010 | Author: djodjo

遅まきながらmemcachedを触りはじめました。
ところが、libmemcachedのコンパイルでつまづく。

clients/ms_conn.o: In function `ms_get_udp_request_id’:
/usr/local/src/libmemcached-0.38/clients/ms_conn.c:194: undefined reference to `__sync_fetch_and_add_4′
clients/ms_conn.o: In function `ms_reconn_socks’:
/usr/local/src/libmemcached-0.38/clients/ms_conn.c:1051: undefined reference to `__sync_fetch_and_add_4′
clients/ms_conn.o: In function `ms_reconn’:
/usr/local/src/libmemcached-0.38/clients/ms_conn.c:919: undefined reference to `__sync_fetch_and_add_4′
/usr/local/src/libmemcached-0.38/clients/ms_conn.c:956: undefined reference to `__sync_fetch_and_add_4′
clients/ms_thread.o: In function `ms_setup_thread’:
/usr/local/src/libmemcached-0.38/clients/ms_thread.c:225: undefined reference to `__sync_fetch_and_add_4′
clients/ms_thread.o:/usr/local/src/libmemcached-0.38/clients/ms_thread.c:208: more undefined references to `__sync_fetch_and_add_4′ follow
collect2: ld returned 1 exit status
make[2]: *** [clients/memslap] Error 1
make[2]: Leaving directory `/usr/local/src/libmemcached-0.38′
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/libmemcached-0.38′
make: *** [all] Error 2

どうも、__sync_fetch_and_add_4がないとか。何かリンクできていないのか。
とググってみると、libmemcachedではないけど、gccやglibなどのmakeではまっている方を発見。なるほど、ヒントがありました。
アーキテクチャの指定がきちんとできていないための模様。なので

export CFLAGS=”-march=i686″
./configure
make

これでOK!!!

金曜日, 2 月 26th, 2010 | Author: djodjo

前はJava屋さんだったので、eclipseを使ってた流れからPerlが多い今も、eclipse使ってます。
EPIC Perl プラグインを入れてるんですが、このプラグインはコード整形をPerl::Tidyでやってます。

PerlでCGIで、サーバはLinuxなので改行コードはおのずとLFなんだけど、コード整形するとCRLFに変わっているという話。

プログラミングをしているうちに、ソースの改行コードがいつの間にかLFからCRLFになってしまう怪現象。
projectの設定はUNIXでLFだし、新規作成のファイルはLFだしと悩んでたら犯人がわかりました。

Perl::Tidyでした。

どうも、ソースを除くと環境からコード整形後の改行コードを変更している。
なるほど、ありました設定。「-ole=unix」これでOK。
このオプション、windosunix, macから選択可能。

http://perltidy.sourceforge.net/perltidy.html