Jack

清水町のエスポットの向かいのJackにいってきた。

1280747926

期間限定の冷やし鶏梅しそが美味。ゲル状のスープが麺に絡んでうまい。

1280747933

とんこつラーメンはまろやかクリーミーで、塩分控えめな感じでうまいのはうまいんだけど、途中で食べ飽きた。ストレートすぎるっていうか奥行きが。カクテキとかなんかトッピングでもあればまた違うのかもしれんけど。

豚まんまもそんな感じで、かつおぶしと豚一直線的な。

1280747920 1280747914

結論: 期間限定美味かった。

佳肴 季凛(かこう きりん)でランチ

以前から気になっていた季凛さんへお邪魔。

1279794028

鱧の子の煮こごりうまい。ランチなので酒なしなのが惜しい。お鍋はほんのりターメリックの色が付いていてじゅんさいとか麸とか精進っぽい感じ。

1279794040 1279794066

鮪にマスタードって合うのね、鮪は美味しかったが、鯖の西京焼きが旨すぎ。ひじき入りご飯(押麦入り)は妻の分を息子がほとんど食べてしまった。

1279794047 1279794054

水菓子はコーヒー風味のコンニャク。コンニャクだけにゼリーよりも歯ごたえがあって、不思議な感じ。まぁ、息子にほとんど分け与えましたが。

1279794034

という感じで、かなり満足の内容だった。が気になる。

2010.08.02

料理の内容の間違いを訂正した。ご指摘ありがとうございました。

FlaskでRSSを出力する

make_responseでresponseオブジェクトを作って、Content-Typeを設定する。

from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello():
    response = app.make_response(rss)
    response.headers['Content-Type'] = 'application/rss+xml'
    return response

if __name__ == "__main__":
    app.run()

RSSの生成には、ElementTreeを使うかエキスパートPythonプログラミングにあるようにテンプレートを使う。

ProductName エキスパートPythonプログラミング
Tarek Ziade
アスキー・メディアワークス / ¥ 3,780 ()
在庫あり。

なごり雪というざる豆腐

親戚から送られてきた。この豆腐はでかい、そして美味い。

1280662836 1280662842

一緒に送られてきた蕎麦。細い!

1280662830

口福というやつですな。

今日の畑(100801)

夕方でかけていって、トマトとミニトマトをほとんど処分した。今収穫できる野菜はゴーヤと甘長美人くらいしかないなぁ(あと紫蘇)。モロヘイヤ位は植えておけばよかった。

1280658057 1280658070

さっぱりしたが、この後に何を植えるかは決まっていない。とりあえず暇をみつけて 堆肥入れて耕して石灰撒いておこう。

オクラも実がなってきてた。

1280658051 1280658064

SQLAlchemyのmany-to-manyの検索のやりかたがわからない

なぜかFlaskではなくSQLAlchemyではまる

よくあるタグとエントリーの多対多のテーブル。

entry_tags = Table('entry_tags', Base.metadata,
    Column('entry_id', Integer, ForeignKey('entries.id')),
    Column('tag_id', Integer, ForeignKey('tags.id'))
)

class Tag(Base):
    __tablename__ = 'tags'
    id      = Column(Integer, primary_key=True)
    name    = Column(String(128), unique=True)
    entries = relation("Entry", secondary=entry_tags)

class Entry(Base):
    __tablename__    = 'entries'
    id               = Column(Integer, primary_key=True)
    title            = Column(String(128), unique=True)
    content          = Column(Text())
    pubdate          = Column(DateTime)
    tags             = relation("Tag", secondary=entry_tags)

このとき、タグをもつエントリを検索したい。単にエントリ最新10件をとってきたい場合には

entries = db_session.query(Entry).order_by(Entry.pubdate.desc()).limit(10)

でいい。

続いて、あるタグがふられているエントリの最新10件をとってきたい場合にどう書いていいか悩んだ挙句、結局わからなかったのでINを使うことにした。

tag_ids = [t.id for t in db_session.query(Tag).filter(Tag.name == tagname).first().entries]
entries = db_session.query(Entry).filter(Entry.id.in_(tag_ids)).order_by(Entry.pubdate.desc()).limit(10)

filterかfilter_byに何入れればいいんだろう?

ProductName Essential Sqlalchemy
Rick Copeland
Oreilly & Associates Inc / ¥ 3,370 ()
通常1~3週間以内に発送

2010.08.01 追記

relationでorder_byを設定すればよかった。

entries = relation("Entry", secondary=entry_tags, order_by=Entry.pubdate.desc)

でもって

entries = db_session.query(Tag).filter(Tag.name == tagname).first().entries

とすれば、あるタグを含むエントリを日付の最近の順に取ってくる。

PythonでUnix Time

datetimeじゃなくてtimeモジュールを使う

>>> from time import time
>>> time()
1280575552.882154
>>> int(time())
1280575598

PypeR

the Journal of Statistical SoftwarePypeRというpythonからRを使うパッケージの論文が出てた。

Most Bioconductor tools are presented as R packages. Therefore, R can be a good complement to Python in bioinformatics computation.

メモリの使用量が低く抑えられる感じ?RPyやRPy2とかと比較している

でも、なんかpythonの中でRの構文埋め込んでるみたいな感じだなぁ。PypeRってのはそういうことなのかな。

ProductName Bioinformatics Programming Using Python
Mitchell L. Model
Oreilly & Associates Inc / ¥ 5,584 ()
在庫あり。

ProductName Statistical Bioinformatics: with R
Sunil K. Mathur
Academic Press / ¥ 5,605 ()
在庫あり。

ProductName Building Bioinformatics Solutions: With Perl, R and Mysql
Conrad Bessant,Ian Shadforth,Darren Oakly
Oxford Univ Pr (Txt) / ¥ 4,163 ()
在庫あり。

ProductName R Programming for Bioinformatics (Chapman & Hall/Crc Computer Science & Data Analysis)
Robert Gentleman
Crc Pr I Llc / ¥ 6,532 ()
通常2~5週間以内に発送

python-amazon-product-api

Pythonのamazon関連のパッケージでよさそうなのを探していたらpython-amazon-product-apibottlenoseってのがあった。

今回はpython-amazon-product-apiを使ってみた。

で、まぁ色々やっていると、xmlが見たいシチュエーションがあって、どうやるんかなぁと調べた

from amazonproduct import API

AWS_KEY    = 'XXXXXXXXXXX'
SECRET_KEY = 'XXXXXXXXXXX'

api = API(AWS_KEY, SECRET_KEY, 'jp')
imagenode = api.item_lookup('4274208850', ResponseGroup='Images')

from lxml import etree
print etree.tostring(imagenode, pretty_print=True)

あと、item_lookupの結果ってキャッシュしておきたい(Net::Amazonみたいに)なぁと思ったのだがそれっぽいのは見つけることができなかった。

ProductName Python クックブック 第2版
Alex Martelli,Anna Martelli Ravenscroft,David Ascher
オライリー・ジャパン / ¥ 4,410 ()
在庫あり。

Lighting by Yourself 手づくりライティング

風で光る風鈴をつくってみたい。ダイソーに行って風鈴買ってこようかな。

ProductName Lighting by Yourself 手づくりライティング
小林 茂雄+東京都市大学小林研究室
オーム社 / ¥ 2,310 ()
在庫あり。

洒落た灯りはよいですね。