2010-03-01から1ヶ月間の記事一覧

classmethodとstaticmethodデコレータの違い

Pythonでstaticなメソッドを定義しようとする場合、staticmethodデコレータかclassmethodデコレータを使うことになります。これらの違いは、classmethodデコレータでは第一引数がクラスそのものになるのに対し、staticmethodでは特にそういった制約がない、…

or演算子を使った、ちょっと便利なショートカット

Pythonのちょっとした小ネタ。 if not a: a = [] これは変数aを評価した時にFalseになる0, False, None, [], {}, ()だった場合、空のリストを代入するもので、ちょこちょこ出てきます。 上記の式は、実は a = a or [] と同値です。見た目にスッキリするだけ…

Pythonの関数やメソッドの戻り型を指定するデコレータを書いた

http://github.com/taka84u9/type_test 動機 Pythonでは関数の戻り型は完全に自由です。ある時はint、またある時はstrなど。 基本的にはそれで嬉しいのだけど、戻り型が常に同じ場合も多いし、リファクタリングした結果へんなバグが入ったりすることもある。…

RealBookMarkにユーザ検索機能を追加

RealBookMarkにユーザ検索機能を追加しました。 検索ボックス下のラジオボタンで[ユーザ]を選択して検索するとユーザ検索になります。 これで少しは他のユーザを発見しやすくなった、はず。

RealBookMarkに書き込み出力機能を追加してみた

RealBookMarkに、本に対しての自分の書き込みを出力する機能を実装しました。この日記は、そのテストも兼ねています。 現状、出力形式は「html」と「はてな記法」に対応。 出力内容はこんな感じ [asin:4492554998:detail] **書き込み >> p3 EQは「人のOS」。…

インスタンスに変化があった時だけpre_save,post_saveを実行する

Djangoにおいて、何かしらのmodelインスタンスのsaveメソッドを呼び出した時に処理をホックする方法としてpre_save、post_saveシグナルを利用する方法があります。 例えば、次のようなTwitterInfoモデルがあったとします # myapp/models.py from django.db i…

読書履歴管理用Webサービス「RealBookMark」を公開しました

http://realbm.com/僕は本を読む時は書き込みをして、本を使い込みたい派なんですが それと同時に書き込みをせずに、本を綺麗に使いたい派でもあるんです。そんなことで、本への書き込みを保存して共有するWebサービス「RealBookMark」を作りました。コンセ…

OAuthを簡単に利用するためのツールoauthlibを書いた

http://github.com/taka84u9/oauthlib OAuthって便利だけど、RequestTokenとかAccessTokenとか色々やり取りが合って結構面倒ですよね。 Pythonで使えるOAuth用ライブラリとしてはLeah Culverという人が公開しているpython-oauthっていうモジュールがあるので…