Amazon.co.jp: Practical Django Projects, Second Edition (Expert's Voice in Web Development): James Bennett: 洋書

samurai-xと呼ばれるウィンドウマネージャがある。説明によれば高度にモジュール化されており、柔軟な設定が実施できる。最大の特徴はすべてPythonで開発されていることにある。動作させるには2.5以降のPythonが必要。BSD Licenseのもとで提供されている。ウィンドウマネージャの拡張が従来よりも開発しやすいと説明されている。
Comments [0]
■ Elastic Map Reduceでお手軽 Wikipediaマイニング 数百行程度のpythonスクリプトで大規模データ処理を実現する例を紹介。90万記事程度のwikipediaの日本語を題材に
AmazonEC2/S3とElastic Map Reduceを活用。結構実践的な話が多く、実際に試した人ならではの話(S3は頻繁な入出力が想定されていないインフラのようなので頻繁に読み書きがされる用途ではパフォーマンス面ではオススメできないとのこと)とか、実際の分析結果(年、国名とかが上位にくるがこれを除外するようにフィルタリングすると、明治、神部天皇とかがPagerankとして高い...)という話は面白かったなぁ。AmazonEC2/S3、Elastic Map Reduce良い/悪い部分もまとめてくださいました。
-良い点:かんたん。小規模なジョブならMasterの値段分安い。お手軽。1時間1台0.1ドルなので、1時間100台1000円
-悪い所:多数のジョブを走らせる事を考えるともったいない。ログが見にくい(開発時には生産性低下につながる?)。独自のディスクイメージが利用出来ない。Q.amazonのサービスは時間によってパフォーマンスの差があると聞いた事があるが、実際にそのような事があったのか?
A.ある程度台数をつかっているからかもしれないが、時間によって差があるというのはかんじられなかった。(せいぜい2,3分)
※アメリカの昼時間帯に実際にジョブを実行していたとのこと。
Comments [0]
Comments [0]
オンライン環境あるならbundleしなくてもいいみたい。
pip install -r mypackages.txt
で一式入る
pip freeze > mypackages.txt
Comments [0]
Using pip With virtualenv¶
pip is most nutritious when used with virtualenv. One of the reasons pip doesn’t install “multi-version” eggs is that virtualenv removes much of the need for it.
pip does not have to be installed to use it, you can run python path/to/pip.py and it will work. This is intended to avoid the bootstrapping problem of installation. You can also run pip inside any virtualenv environment, like:
$ virtualenv new-env/ ... creates new-env/ ... $ pip install -E new-env/ MyPackageThis is exactly equivalent to:
$ ./new-env/bin/python path/to/pip.py install MyPackageExcept, if you have virtualenv installed and the path new-env/ doesn’t exist, then a new virtualenv will be created.
Using pip with buildout¶
If you are using zc.buildout you should look at gp.recipe.pip as an option to use pip and virtualenv in your buildouts.
Using pip with virtualenvwrapper¶
If you are using virtualenvwrapper, you might want pip to automatically create its virtualenvs in your $WORKON_HOME.
You can tell pip to do so by defining PIP_VIRTUALENV_BASE in your environment and setting it to the same value as that of $WORKON_HOME.
Do so by adding the line:
export PIP_VIRTUALENV_BASE=$WORKON_HOMEin your .bashrc under the line starting with export WORKON_HOME.
必須。
Comments [0]
Pythonで特異メソッド
メソッドは普通class文の中で定義して、そのクラスのインスタンスはみんな同じメソッドを共有するものですが、
Rubyには特異メソッドのための構文がありますが、Pythonにはありません。
特定のインスタンスだけための特注品のメソッドを、特異メソッドと言います。
しかし、Pythonでは特異メソッドは不可能・・・というわけではありません。それにはnew.instancemethodを使います。
import new
new.instancemethod
Comments [0]
特異メソッド
Ruby におけるインスタンス特異的なメソッド(instance-specific method)のこと。singleton method、singular method などと英訳され呼称されることもあるが、日本語の特異メソッドを含めいずれも一般的ではない、Ruby 独自の用語。デザインパターンの Singleton 関連のメソッドと混同されがちだが両者は(まったく…というわけではないが)あまり関係ない。 Ruby 設計者、まつもと氏による直接の言及はないが、一連の発言から、おそらくは、CLOS の総称関数における EQL スペシャライザ(引数のクラスを指定する代わりに、指定の書式により特定のインスタンスに限定できる)をヒントに Ruby に組み込まれた機能。ただエンドユーザーがイメージする動作モデルとしては、この EQL スペシャライザより SELF などインスタンスベース言語におけるメソッドの扱い、つまり、属するクラス(もしくはトレイト)ではなく、インスタンスそれ自身が自分専用のメソッドを持ったり、それを起動する様子のほうがより似ている。自ら言語学者を称する まつもと氏は、当然、SELF もかじっているはずなのに、この特異メソッドの発想が SELF ではなく CLOS からの影響だとする理由は不明。--sumim
- その後のやりとりで判明したことだが、どうやら SELF については、まつもと氏はこれを軽視して(ミックスインなど、Ruby のプライオリティを主張するために必要なことも含め)あまり詳しくないらしい。--sumim
Ruby にはメタクラスがあり、クラスはそのインスタンスという扱いになっているにもかかわらず、Ruby のクラスメソッド(すなわちオブジェクトとしてのクラスがメッセージを受信して起動することができるメソッド)は、あえて、この特異メソッドで実現されているため扱いに注意を要する。--sumim
難しい。
- instance-specific method
- singleton method
- singular method
- CLOS 総称関数 EQL スペシャライザ
Comments [0]
Comments [0]