SSブログ

tornado について雑感 [tornado]

昨日の続き
【フレームワークについて】
URL dispatch と request/response を抽象化する機能はあるし、テンプレート機能もあるが O/R マッパはない。
RoR や Django と比較すると、Web フレームワークというより CGI モジュールの無限ループ版といった感じ。HTTP リクエストを受けてレスポンスを返す最低限のラッパーといった感じのもの。
その分、フレームワークの規約に沿わないことをしようとして苦労するとか、フレームワークの仕様にはまるとかあまりなさそう。
多言語化の機能↓を使わなければ、shift_jis での入出力もできそうな(そのうち試す)。
http://www.shibu.jp/tornado/walkthrough.html#index-80
携帯向けに、Django で、ミドルウェア書いたりするのより簡単そうな予感がする。

今時、セッション変数に相当する機能も自前でもっていない。セッション変数に相当する機能が必要なら、クッキーの値をキーにした辞書をメモリ内に持つとかで実装することが必要。
Python のソースで 5700行程度しかないので、ソースを全部読むこともできる。非常にシンプルため理解しやすくフレームワーク固有で覚えることも少ないので、最初>の Web プログラミングの勉強のためのプラットフォームにも良いのではないか。

Google App Engine を含む WSGI コンテナで動かすこともできる。
WSGI コンテナで動かすと、 tornado の非同期通信の機能が使えない。

テンプレートはシンプルでわかりやすい。Django のテンプレートを簡単にした感じ?
ただ、インターフェースモジュールの使いどころが、まだよくわかってない自分。
http://www.shibu.jp/tornado/walkthrough.html#index-81
テンプレートにロジックを書く機能がないのでそれを補足するものと理解。

ちょっと手元でサンプルを動かしただけでも、動作が速い感じがする。
tornado の HTTPServer の起動が速いので、それだけでも開発効率が良い感じ。

【インストールについて】
 setup.py install しろと書いてあるけど、 tornado ディレクトリをパッケージとして認識できるところにコピーするだけで動く。Linux + python 2.5 の場合に epoll.c がコンパイルされるが、その組み合わせ以外に
C のモジュールはコンパイルされないし、epoll.c がなきゃないで、 select が使われるだけ。

【database モジュールについて】
tornado/database.py の 200行以下のコードで薄くラップしてる MySQL 専用
1.autocommit
2.cursor の open/close を隠蔽する
3.結果のフィールドが行ごとにプロパティとして取得できるように変換
 (↑テンプレートに渡すのに都合が良いように)
などを実現してるけど、tornado で RDBMS を使う上で特に必須ではない。
他の RDBMS を使えるようにする配慮はいっさいない
そもそも、O/R マッパーではなく、アプリの中で SQL を記述しちゃうので、テスト環境
で sqlite 本番で MySQL とかいうことは無理。
別の RDBMS を使う場合には、同じようなラッパーを書いた方が良いと思うが、database.py と API をあわせる必要ないかと。connection をスレッド間で共有できる DBAPI なら、(多少手間はかかるけど)ラッパー書く必要もない。
demos/blog では、アプリケーショングローバルに DB 接続変数を置いている。
「いっぱい接続したい場合は、HTTPServer を立ち上げて手前に nginx 置け」ということかと。
(追記 9/24)
http://www.hyuki.com/yukiwiki/wiki.cgi?HowFriendFeedUsesMySqlToStoreSchemaLessData

nice!(0)  コメント(9)  トラックバック(1) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 9

Auststeend

Prednisone Online Pharmacy Cialis Naturale Erboristeria Colombia Comprar Propecia <a href=http://aquedan.com>sertraline overnight</a> Effetti Collaterali Di Propecia Cialis Generique Effets Secondaires Buy Cialis In Israel 217
by Auststeend (2019-05-10 15:45) 

Auststeend

Cialis In Holland <a href=http://yafoc.com>propecia tinnitus</a> Cialis Mal De Tete
by Auststeend (2019-06-05 09:24) 

Rebtoox

Propecia Y Finasteride Antibiotics Amoxicillin Family Side <a href=http://cialcost.com>cialis cheapest online prices</a> Propecia Paginas Amarillas Generique Cialis France Buy Viagra 100mg Online
by Rebtoox (2019-06-15 07:58) 

Rebtoox

Cialis Cheapest Online Prices Cheapeast Direct Isotretinoin Order In Internet Levitra Canadian Pharmacy <a href=http://leviprices.com>levitra in the usa today</a> Canadian Pharmacy India
by Rebtoox (2019-07-08 00:24) 

Stepgit

What Is Stranger Than Flagyl Unisom In Singapore Propecia Side Effects Hair Loss <a href=http://propecorder.com>propecia 1mg</a> Viagra Ohne Rezept Kaufen Erfahrung Cephalexin For Cellulitis Baby
by Stepgit (2019-07-18 22:58) 

Rebtoox

Kamagra Pas Cher Belgique Viagra Dove Comprarlo Viagra 100mg Over Night <a href=http://4rxday.com>cialis cheapest online prices</a> Levitra Usa Sildenafil 50 Mg In Uk Tadalafil 20 Mg Germany
by Rebtoox (2019-07-20 08:23) 

Auststeend

Zithromax Herpes Www Cytotec Foro Priligy Espana <a href=http://gemeds.com>amagra 50 mg</a> Viagra Without Prescription In Canada
by Auststeend (2019-07-26 13:52) 

Stepcer

Stendra Avana <a href=http://abuycialisb.com>Buy Cialis</a> Farmaco Cialis Tadalafil <a href=http://abuycialisb.com>Cialis</a> Cheap Prevacid Otc
by Stepcer (2020-02-27 06:30) 

Stepcer

Cialis En Capital Federal <a href=http://buycialisuss.com>online pharmacy</a> Cialis Laboratoire <a href=http://buycialisuss.com>generic cialis canada</a> Cialis Efficacite
by Stepcer (2020-03-02 12:32) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

Facebook コメント

トラックバック 1