jinja2

Filed in FormEncode | Jinja | MongoDB Leave a comment

jinja2つかいはじめました。
なにこれすんごい楽。スタックトレースもとれる。
いま作ってるのはこれでいこう。
あたるとおもうんだけどなー。急いでつくろう。

mongodが起動しない

Filed in Database | MongoDB Leave a comment

なんだ?とおもってログを見る。

old lock file: \data\db\mongod.lock.  probably means unclean shutdown
recommend removing file and running --repair
see: http://dochub.mongodb.org/core/repair for more information

dbディレクトリのなかにあるmongod.lock.を消せ?

うーむ

Filed in Apache | Database | Pylons Leave a comment

リロードするとすぐpylonsのエラー画面に逝っちゃう。
処理さばききれてないような(-_-;?
こりゃなんだとおもって、しばしの間F5おしっぱ→んでtopを見てみると

top - 21:41:43 up 23 days, 21:36,  6 users,  load average: 75.41, 70.90, 57.37
Tasks: 216 total,   2 running, 214 sleeping,   0 stopped,   0 zombie
Cpu(s):  2.0%us,  2.0%sy,  0.0%ni,  0.0%id, 96.1%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   1008488k total,   995396k used,    13092k free,     1352k buffers
Swap:  3068924k total,   965320k used,  2103604k free,    19380k cached

ろーどあべれーじ70ってアンタ……。
MySQLつなぎに行くとこが重たいとこうなるみたい。DB舐めにいかないページではあんまこういうことがおこらないぽ。
まいったなーDBのコネクション数とかなんか見ないとダメだなー。
まあ見たくってもいま何もできないくらい重い状態が30分くらい続いてるんですが。

わかってきたSQLAlchemy

Filed in Database | Pylons | SQLAlchemy Leave a comment

あたし英語テンでだめなんですが、そんなこと言ってられないので読んでるわけ。SQLAlchemyのドキュメントね。
何度も何度も同じところを読んでるうちに、なんとなーく、おぼろげーに、
「あ、そういうこと?」
みたいなのが分かってくる。分かんないトコだらけなんだけど、やっこさんの言いたいことの欠片が見え始めてきて、少しずつわくわくする。
元はといえばオレ解釈でリレーションがうまくはれないなんなんだこれは泣くぞみたいなのが元凶なのですけど、

  • 独特の書き方を嫌って基礎から試みなかった
  • ORMをどこかでめんどくさいものだと思っていた
  • だってSQL一発書いたら明らかじゃん
  • でもオブジェクトとして把握できないのはやっぱりなー

ごちゃごちゃしてんのね。
さしあたり、Declarative(叙述的つうからありのままってこと?テーブルそのもののイメージに近いということかね)な書き方をいったんあきらめる。基本的な書き方にする。
さんざんmodel書いちゃったが、いったん手戻りだ。
テーブルの定義を書いて、モデルの定義を書いて、ねーこれとこれをつなげるためにMapperがあるんだよーというシンプルな構造でやりなおしてみよう。
楽をしようとして足元おろそかにしたがゆえに遠回りをしてしまった。
そらそうだよなー頭のいい人たちが良い形だと考えてつくってるもんをすっ飛ばして、おいしいトコ取りはうまくいかんよなー
行き帰りの道中じっくりドキュメント読めたおかげで、おぼろげながらわかってきているのだ。
なんかわかったらかく。

tokyotyrantを入れる

Filed in Database | kvs | Python Leave a comment

http://d.hatena.ne.jp/feiz/20090813/1250151478
このへんを参考に。
pythonから使うのにpytyrantなるものがよいとかなんとか。
今日はzlib2だかをなんとか放り込んでtokyocabinet、tokyotyrantをいれて、ここまで。時間切れ!

時間切れなんて酷い。
pytyrantとmemcachedを記事のとおりに入れて(使うのか?)

>>> import os,sys,re,urllib2,commands
>>> import pytyrant
>>> cli = pytyrant.Pytyrant.open()
Traceback (most recent call last):
File ““, line 1, in
AttributeError: ‘module’ object has no attribute ‘Pytyrant’
※typo。
>>> cli = pytyrant.PyTyrant.open()
>>> cli >>> cli[‘sft’] = “one-san”
>>> cli.get(“sft”)
‘one-san’

おーそういうことー
kvsが最近流行というかNoSQLっていうの?あちこち騒がしいので、乗っかっておかないとね。
cassandraは潤沢なリソース(メモリだけじゃなくてディスクもマシンも!)をがっつんがっつん使う分散環境で使うものらしいと今日知った。
どれがいいとかはさっぱりなんだけど、使うだけ使ってみようー。
んでtokyotyrantがNDIに乗るのか?
しるか。
importの一行目で明らかに今いらないはずのものをバカスカ読み込んでますが、これは癖です。あれひとまとめで個人的に1セット。

feizさん、とても分かりやすい記事でした。どうもありがとう!

SQLAlchemyでリレーション

Filed in Database | Python | SQLAlchemy Leave a comment

http://www.sqlalchemy.org/docs/ormtutorial.html#querying-with-joins
みのがしてた……?
きわめて分かりやすく書いてあるのに今までまったく気づかなかった(-_-

ちゃんと読んでないんだけどたぶんそう。

愚痴

Filed in Database | NDI | 現実逃避 Leave a comment

船の部品一個表現するのに45項目ってなにごとなのー
うち4項目はid,論理削除フラグ、作成日、更新日ではあるわけですが
横に長いテーブルは嫌いだわ
JOINする方式の拡張はもっと嫌ですが

SQLAlchemy リレーションを調べる

Filed in Database | Pylons | SQLAlchemy Leave a comment

船-建造港とかがone-to-manyになるはずなので調べてます。

http://wiki.liris.org/article/python_intro/python03#TOC-4

リレーションってとこ。
ほらーやっぱり中間テーブルいるんだよー
one-to-manyなんだこのやろうって思ってたけどそうじゃないかー
あれかね、createなんちゃらでテーブル作らせてる向きには関係ないってことなのかもね
作らせたよ一度はー
でもなんだか定義の中身がだいぶアレで、じゃあ一回作ったテーブルをloadしてTableオブジェクトダンプしてみればよくねえ?ってやったらさ
ぜんぜん違うっていうか超複雑なの。これを手で書けとか言われても無理。

あたくし古い?タイプでデータありきなんです。アプリにあわせたデータ構造って何じゃソレなので、適当に定義したPylons側のClassあわせのテーブルって気持ち悪い。逆なのか?アプリにあわせた構造であるべきなのか?ちゃんと(双方から見て等価な)定義できればいいんだろうけど、無駄にめんどくさすぎる。

スキーマレスのデータ

Filed in Database Leave a comment

FriendFeed では MySQL を使いどのようにスキーマレスのデータを保存しているのか

おもしろい記事だ。すぐには必要ではないけどね。

リレーションのことみたいな記事

Filed in Database | Pylons | SQLAlchemy Leave a comment

sqlalchemy does not create my foreign key

stackoverflowから。あたしが悩んでるのたぶんこれの類の話だ。

TOP