サーバサイドJavaScriptの本。初めてかな。node.jsのメンバーが執筆している本なんだろうか。
備忘録
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
備忘録
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;
備忘録
GDBをりようして子プロセスをおっかける方法
apacheもモジュール試験で利用
set follow-fork-mode child
b get_suexec_id_doer
run
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; }
OmegaTrickのコードを触る為gitを始めたんだけど、どうもWindows環境ではうまくいかない。
なので、いつものさくらのサーバで試してみる。
1.gitのインストール
インストール先として$HOME/local/gitとする。
$HOME/localでもいいけど、後からアンインストールしやすくする為、プログラム別のディレクトリを切ってみました。
なので、あらかじめ、$HOME/localは作成しておきましょう
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
Power Point 2007 でスライド番号が表示されない。
ググるとOfficeXPとかの例は引っかかるのですが同じメニュー体系ではない2007ではどうすればよいのやら・・・。
みつけました。
- 「挿入」タブ→「ヘッダーとフッター」をクリック
- 「スライド」タブの「スライド番号(N)」にチェックを入れる
これでOK 。
ちなみに、フッターの文言や日付についてもここでチェックしておかないと表示されない。
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
遅まきながら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!!!
前はJava屋さんだったので、eclipseを使ってた流れからPerlが多い今も、eclipse使ってます。
EPIC Perl プラグインを入れてるんですが、このプラグインはコード整形をPerl::Tidyでやってます。
PerlでCGIで、サーバはLinuxなので改行コードはおのずとLFなんだけど、コード整形するとCRLFに変わっているという話。
プログラミングをしているうちに、ソースの改行コードがいつの間にかLFからCRLFになってしまう怪現象。
projectの設定はUNIXでLFだし、新規作成のファイルはLFだしと悩んでたら犯人がわかりました。
Perl::Tidyでした。
どうも、ソースを除くと環境からコード整形後の改行コードを変更している。
なるほど、ありました設定。「-ole=unix」これでOK。
このオプション、win
, dos
, unix
, macから選択可能。
http://perltidy.sourceforge.net/perltidy.html