2012年2月16日木曜日

PythonのThreadプログラミング

Pythonでマルチスレッドプログラムを書く場合、2通りの方法がある。

  1. threading.Threadを継承したクラスを作成する
  2. threading.Threadオブジェクトにcallableオブジェクトを渡す
JavaでThreadを継承するか、Runnableインターフェースを実装するかというのにも似ている。

2012年2月15日水曜日

OSXでlaunchd配下のデーモンを止める

macportでtomcatを入れたのはいいが、止め方がわからなくて困った。killしても勝手に再起動してくる。調べてみるとlaunchdというデーモン配下で起動されているようで、起動停止にはお作法があるようだ。

停止方法:
# launchd unload -w /Library/LaunchDaemons/org.macports.tomcat6.plist

起動方法:
# launchd load -w /Library/LaunchDaemons/org.macports.tomcat6.plist 

2012年2月14日火曜日

CentOSのIP Alias

一つの物理ホストでCassandraを複数インスタンス実行するにはJMX Portの都合上IP Aliasが必要になる。
CentOSでIP Aliasを恒久的に設定するためのメモ。


2012年2月9日木曜日

CassandraのLeveled Compactionについて調べる

Cassandra 1.0でLeveled Compaction Strategy (LCS)がサポートされたが、DataStaxのドキュメントを読んでも今一つ動作が理解できない。
http://www.datastax.com/dev/blog/leveled-compaction-in-apache-cassandra

他にあまりドキュメントも整備されていないので、LCSの元になったGoogle LevelDBのほうを調べてみた。
http://leveldb.googlecode.com/svn/trunk/doc/impl.html

以下おおざっぱな翻訳