2006-09-01から1ヶ月間の記事一覧

TurboGearsで出力をストリームする

...というわけで、チャットならば「やっぱリアルタイムだよね。ポーリングしたくないし」、サーバーとクライアントのコネクションをはりっぱにする方法を前もって見つけておこうと思って、調べていました。結論を言うととても簡単で、1. CherryPyの stream_r…

Python DevCamp 2006

明日から富士でおこなわれるPython DevCamp 2006に行ってきます。泊りがけでコーディング(+ドキュメント)ざんまいということで、とても楽しみ。http://nagosui.org/Nagosui/Misc/temporary-items/events/devcamp2006sここで、いくつかトラックと言うかコー…

変更の周波数

SYNOPSIS ソフトウェアの変更は、そのソフトウェアに関わる人間の活動によって発生する。人間の活動には周期があり、その周期によって発生する変更の内容も変わってくる。変更は種類に応じて周波数を持つことになるので、その周波数をソフトウェアの設計で考…

Apache+TurboGears

MLからの引用。 I would like to run my TG application behind Apache httpd. In order to do this I'm trying to use the following rewrite rule: RewriteRule ^/myapp(.*) http://127.0.0.1:8080$1 [P] In your dev.cfg or prod.cfg, put: server.webpat…

組み合わせのバリデーション

formencode/compound.py に、AnyとAllというバリデータークラスが定義されています。これを使うと、複数のバリデーションの組み合わせが実現できる、みたいです。ちゃんと確認してないけど。http://formencode.org/module-formencode.compound.html >>> from…

FancyValidatorと空の扱い

これらのクラスはすべてFancyValidatorクラスを継承しています。これは formencode/api.py にあるクラスで、基本的なバリデーション機能を提供してます。FancyValidatorおよびそのサブクラスは、初期化時に引数を与えるとバリデーションの挙動(主に値が空の…

TurboGears Widgetsのバリデーションについて

Widgetには、バリデーションが設定できます。こんな感じ。 class EditUserWidgets(widgets.WidgetsList): user_name = widgets.TextField(name="user_name", label=u"ログイン名", validator=validators.NotEmpty()) display_name = widgets.TextField(name=…

TurboGears1.0b / 便利なエラーページ

TurboGearsがついに1.0ベータになりました。Preview扱いだったのが、本体のほうで1.0ベータが配布されています。http://www.turbogears.org/で、1.0ベータとはなんの関係もないのだけど、MLで発見して「おおー!」と感動したのでメモ。app.cfgdev.cfg に tg.…