Mokujiをリリースして・・・

Mokujiをリリースして3日ですが、

http://ascii.jp/elem/000/000/143/143694/

こちらで紹介していただいたおかげで、

いろいろな方に見て頂けています、感謝です。

ただしα版のためまだ機能やキーワード取得の精度が、

まだまだ!!だと自覚しています。

はてぶのコメントを見ていると、

http://b.hatena.ne.jp/entry/http://ascii.jp/elem/000/000/143/143694/
http://b.hatena.ne.jp/entry/http://mokuji.deckkr.jp/

意見や要望・不満などがあるみたいなので、

そこら辺を共有出来る物を近日中に用意しよーと考え中。

そこで共有出来た物を反映していければ、

使う人も見る人もうれしいだろうなー。

後個人的な意見としては、

みんなDjangoを使ってみて貰いたいなぁー。

GoogleAppEngineにも採用されているし。

Djangoのキャッシュを使ってみたが良いなー

今回は、
Djangoの「低水準のキャッシュ API」を使って、
キャッシュを取ることにしてみた。

これ抜群に良いな。
必要な部分(サイトバーやメイン部分の一部など)やオブジェクト丸ごとキャッシュしてやったりと、
色々出来る。

各ユーザーごとにページがある場合なんかは、
そのユーザーごとにキャッシュを取るようにしてあげるなんて事をやってみた。

今回はローカルメモリ上に残すのをやってみる。

まずは、
settings.pyに以下を加える。

[python]CACHE_BACKEND = ‘locmem:///'[/python]

Djangoオンラインドキュメント和訳に載っていたが、

このキャッシュはマルチプロセスセーフかつスレッドセーフ

良いねー。

次にキャッシュを実際に保存する部分

今回は全てviews.pyで行った。

[python]from django.core.cache import cache[/python]

cacheモジュールをインポートする。

後はcacheを使ったり、変更したり削除したりなどしてみる。
仮にユーザー情報をキャッシュに入れてみた。
ユーザー情報は「user_id」から取得出来るのが前提とした。
キャッシュも「user_id」で紐づけてみた。

[python]if cache.get(user_id):
object = cache.get(user_id)
else:
object = get_user_object(user_id)
cache.set(user_id, object, 3600)[/python]

などしてあげると、
ユーザーのIDで指定したキャッシュがあれば、
それを使用して無ければ、
ユーザーのオブジェクトを取得するメソッド(仮でget_user_objectとした)なんかで取得する。
その取得したオブジェクトをキャッシュに入れてやる。
これだけでOK。

後はキャッシュが要らない場合に削除したい。
そんな時は下記で実現出来る。

[python]cache.delete(user_id)[/python]

ってしてあげれば削除出来る。
今回やったもの以外にも

・テンプレートの部分的キャッシュ
・ビュー単位のキャッシュ
・サイト単位のキャッシュ

などもやってみたいので、
そちらも試してみよう。

いやーDjangoがまた好きになるなぁー。

Django のキャッシュフレームワーク

Django本とjQuery本を予約した

やったー発売だぁー!

早速Amazonで予約した。
 

標準Django完全解説 開発のプロが教える
角川グループパブリッシング(2008-06-18)
角川グループパブリッシング
新品価格:¥ 4,410
ASIN:4048672096

ついでに欲しかったjQueryの本も一緒に予約したぁー!

jQueryで作る Ajaxアプリケーション jQueryで作る Ajaxアプリケーション
技術評論社(2008-06-19)
技術評論社
新品価格:¥ 2,919
ASIN:4774134902