2012年3月29日

Python で入出力の文字コードが判明している場合の文字コード変換方法

Python の文字コード周りは基本に忠実で、かつ高機能です。入出力の文字コードがわかっているなら、iconv とか nkf よりも使いやすい場合も結構あります。
基本は、入力時に decode して、出力時に encode します。
decode すると Python の Unicode 型になり、この型はかなり便利。
とりあえず decode の簡単なサンプルを以下に書きましたので参考にしてみてください。


読み込みファイルは以下から取得してください。
sakito / python_sample_code / source — Bitbucket

2012年3月11日

Python の MongoDB 用 ORM の MongoEngine の簡易サンプル

Python で MongoDB を扱う場合は、「pymongo」を使えば良いですが、素のままだとそこそこ面倒なので、「MongoEngine」の簡易サンプルを書いてみました。

Python の MongoDB 用 ORM は他にも以下のような物があります。


一応、全部ためしてみましたが、MongoEngineはテストコードがテストとしても、サンプルとしてもかなりしっかりしており信頼できます。
あと GeoPoint とかその他複雑な機能にちゃんと対応しているのが MongoEngine ぐらいしかないみたい。
まあ結局選択の一番は個人的にかなり使いやすいと言うことですね。
ほんとうに MongoDB ちゃんと使っている人が作っている感じがします。

2012年3月10日

hgflowを試してみる

hgflow の説明と使い方は「hgflow - watawata日記」を参照。
hgflow は Fork した物の方を利用している。yujiewu / hgflow / overview — Bitbucket

curl -LO https://bitbucket.org/yujiewu/hgflow/downloads/hgflow-v0.9.2.tar.gz2
tar xvfj hgflow-v0.9.2.tar.bz2

解凍すると、hgflow.py をいうファイルができる。任意にディレクトリに配置して、${HOME}/.hgrc に以下を設定すると利用できるようになる。

[extensions]
flow = /path/to/hgflow.py

とりあえずこんな感じで動作させてみる。

hg flow init
hg flow develop
hg flow feature start spam
hg flow feature finish spam
hg flow release start 1.0
hg flow release finish 1.0

感想としては、使い易い。
場合にもよるが、git-flow の場合は feature は削除されるので、hgflow も feature は branch でなくて、bookmark の方が良いような気がする。本当は選択できるのが良いのだけど、このあたりはポリシーの問題のような気がする。