2010年1月アーカイブ

mongodbを検証するためにインストール

1. 必要なパッケージのインストール

sudo apt-get install tcsh git-core scons g++
sudo apt-get install libpcre++-dev libboost1.37-dev libreadline-dev libmozjs-dev xulrunner-dev

2. ダウンロードしてインストール
cd /usr/local
git clone git://github.com/mongodb/mongo.git
cd mongo
sudo scons all
sudo scons --prefix=/opt/mongo install

3. 実験用に任意のデータディレクトを作る

mkdir data

4. デーモンを起動
sudo /opt/mongo/bin/mongod --dbpath /path/to/db &

5. pymongoをインストール
sudo easy_install pymongo

6. 接続テスト
http://pypi.python.org/pypi/pymongo/

この辺りも参照:
http://www.mongodb.org/display/DOCS/Building+for+Linux

かなり手軽に





本日スパイス到着

| コメント(0)
ようやくスパイスがスリランカから到着!

来週から出荷準備に入ります!
本日、食品検査通過。

今回、成田で荷物が2ヶ月も止められられてかなりしびれました。




Python Decorators 備忘録

| コメント(0)
PythonのDecorators(デコレーター)について

まず、コードを見ながら動きを解説します。

関数で修飾する場合のコード例1:
{{{
def decoratorsTest(function):
    print function.__name__

@decoratorsTest
def functionTest():
    pass
}}}

出力結果:
functionTest
※修飾される関数の名「functionTest」が出力される

簡易解説:
1.@decoratorsTestが修飾対象の関数の直前にくる
2.decoratorsTestの引数「function」はfunctionTestと同じ
3.decorators(デコレーター)が呼び出されたときに関数が実行される

クラスで修飾する場合のコード例2:
{{{
class decoratorsTest:
    def __init__(self, function):
        self.function = function
        self.saved = []

    def __call__(self, *args):
        try:
            self.saved.append(args[0])
            print "saved", self.saved
            return self.function(*args)
        except Exception, e:
            print "Error %s" % (e)

@decoratorsTest
def functionTest(x):
    return "args", x

print functionTest(1)
print functionTest(2)
}}}

出力結果:
saved [1]
('args', 1)
saved [1, 2]
('args', 2)

簡易解説:
1.decoratorsが宣言された時に、__init__(コンストラクタ)が呼び出される
2.decoratorsの直下の関すが呼ばれたときに、__call__される
3.出力結果のように、saved メンバー変数は保持され続ける 









あけましておめでとうございます。
本年も宜しくお願いいたします!

このアーカイブについて

このページには、2010年1月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2009年12月です。

次のアーカイブは2010年2月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。