Archive@2007/06
vim project
http://www.vim.org/scripts/script.php?script_id=69
vimにディレクトリの一覧を表示するやつです。
あんまり見つからなかったのでインストール方法(MacOSX)でもメモっておきます。
- ↑のURLからダウンロードして解凍。
- 中身を~/.vim/に移動
- viを起動して、:Projectというコマンドを実行。画面の左にプロジェクトウィンドウが表示。
- プロジェクトウィンドウで¥Cとタイプ(ノーマルモード時)。ウィザードが開始
- 言われるがままに入力するとディレクトリの一覧が表示されます。
手動でプロジェクトファイルを作成することもできますが、¥Cを使うと簡単です。
ちなみに¥cでも同じことをしますが、サブディレクトリを検索しません。
¥Cを使ったときにウィザードで聞かれる内容です。
Enter the Name of the Entry: プロジェクトの名前
Enter the Directory to Load: プロジェクトのディレクトリ
Enter the CD parameter: ファイルを開いたときなどにそのディレクトリへCDします
Enter the File Filter: *.py *.htmlなど拡張子を指定しておくとそれらのみ一覧に表示します。
新しいファイルを作成したときなどは、¥Rを実行するとプロジェクトをリフレッシュします。
これも¥Cと同様¥rと小文字にするとサブディレクトリはリフレッシュしません。
多分そんな感じです。他にもいろいろ出来そうですが、とりあえずこんだけ。
- Posted at:
- 2007/06/24 15:22:32
- 0 Comments
- 0 TrackBacks
- Tags:
- Trackback:
- http://blog.monospace.jp/2007/06/24/vim_project/trackback/
なんかブログシステムが不調なのでテスト。
そろそろうちもDjango製にしたいな。
[追記]
うはー、原因判明。
ベンチマークとってるときにmod_rewrite切ってたorz
最近このブログのPVが2とか3だからおかしいと思ってたんだけどw
- Posted at:
- 2007/06/19 18:21:47
- 0 Comments
- 0 TrackBacks
- Tags:
- Trackback:
- http://blog.monospace.jp/2007/06/19/testtesttest/trackback/
ベンチマークが好きなのでちょっと試してみました。
試したのは、Djangoでできている
monologistaのトップページ。
Apacheのabで-n100 -c10しました。何度かやって一番速そうな結果です。
Apacheはpreforkでmod_pythonです。
Apache
Server Software: Apache/2.0.55
Server Hostname: labs.monospace.jp
Server Port: 80
Document Path: /monologista/
Document Length: 13829 bytes
Concurrency Level: 10
Time taken for tests: 22.896289 seconds
Complete requests: 100
Failed requests: 0
Write errors: 0
Total transferred: 1404800 bytes
HTML transferred: 1382900 bytes
Requests per second: 4.37 [#/sec] (mean)
Time per request: 2289.629 [ms] (mean)
Time per request: 228.963 [ms] (mean, across all concurrent requests)
Transfer rate: 59.88 [Kbytes/sec] received
lighttpd
Server Software: lighttpd/1.4.13
Server Hostname: localhost
Server Port: 8080
Document Path: /monologista/
Document Length: 13829 bytes
Concurrency Level: 10
Time taken for tests: 16.404260 seconds
Complete requests: 100
Failed requests: 0
Write errors: 0
Total transferred: 1398438 bytes
HTML transferred: 1382900 bytes
Requests per second: 6.10 [#/sec] (mean)
Time per request: 1640.426 [ms] (mean)
Time per request: 164.043 [ms] (mean, across all concurrent requests)
Transfer rate: 83.21 [Kbytes/sec] received
nginx(設定は
everesさんがブックマークしてた
ここ)
Server Software: nginx/0.5.25
Server Hostname: localhost
Server Port: 8080
Document Path: /monologista/
Document Length: 13829 bytes
Concurrency Level: 10
Time taken for tests: 16.389358 seconds
Complete requests: 100
Failed requests: 0
Write errors: 0
Total transferred: 1398000 bytes
HTML transferred: 1382900 bytes
Requests per second: 6.10 [#/sec] (mean)
Time per request: 1638.936 [ms] (mean)
Time per request: 163.894 [ms] (mean, across all concurrent requests)
Transfer rate: 83.29 [Kbytes/sec] received
mod_pythonが一番遅いというおそろしい結果になりました。
マシンがCeleron1GHzで512MBのRAMというほぼ死にかけのマシンのせいかな。
LinuxでUbuntuのEdgyです。lighttpdとApacheはapt-getでいれて特にチューンしてません。
Apacheはphpとかcgiとかmod_python以外のモジュール全部オフにしても一緒でした。
もうちょいまともなサーバでリベンジします。わたくしApacheファン。
ちなみに静的なファイルの場合。ab -n1000 -c100です。
これが4倍速いってやつですか。
Apache(モジュールオフ前は680[#/sec]くらいでした)
Requests per second: 770.08 [#/sec] (mean)
lighty
Requests per second: 2400.60 [#/sec] (mean)
nginx
Requests per second: 2736.95 [#/sec] (mean)
- Posted at:
- 2007/06/15 02:02:49
- 0 Comments
- 0 TrackBacks
- Tags:
- Trackback:
- http://blog.monospace.jp/2007/06/15/django_apache_lighty_nginx/trackback/
[python]created_at = models.DateTimeField(auto_now_add=True)
modified_at = models.DateTimeField(auto_now=True)[/python]
↓
[python]import datetime
created_at = models.DateTimeField()
modified_at = models.DateTimeField(default=datetime.datetime.now())
def save(self):
self.modified_at = datetime.datetime.now()
super(モデル名, self).save()[/python]
結局こういう感じで書けばいいですかね。
はっきりこうしろっていうのが見当たらなかった(そんなに探してない)ので公開メモしときます。
- Posted at:
- 2007/06/08 19:54:30
- 0 Comments
- 0 TrackBacks
- Tags:
- Trackback:
- http://blog.monospace.jp/2007/06/08/post_auto_now/trackback/
Modelだとmaxlengthなのに、Formだとmax_lengthなのか。
RadioボタンのWidgetはないんかな。
まあその辺は比較的どうでもいいんですが、マニュアルに目を通した感じでは、
随分前に0.95のoldformsで苦労したことが、すんなりできそうだなあと思いました。
そろそろViewを書こうかと思います。
DjangoSnippetsは楽しいですね。
あと、どうでもいいんですけど、.orgって打とうとすると.orzって打ってしまいます。
- Posted at:
- 2007/06/08 17:38:44
- 0 Comments
- 0 TrackBacks
- Tags:
- Trackback:
- http://blog.monospace.jp/2007/06/08/django_newforms_intro/trackback/
テンプレート上でのMEDIA_URL呼び出しについて
[django] 静的ファイル配信と MEDIA_URL のあれ
[django-ja:373] MEDIA_ROOTについて
この辺の事情が絡んでくるんかなあとちょっと思いました。
管理画面の場合、htmlはadminってフォルダ作って置いておくと、
デフォルトのhtmlではなくて、自家製のadminフォルダを優先してくれますよね。
でも、adminのメディアファイルってADMIN_MEDIA_PREFIXで指定した場所からしか
読み込んでくれないっぽくて、MEDIA_URLの方に置かないとだめですね。
メディアファイルをadminのメディアも含めてDjango以外で配信することを前提にするのもあれだし。
WordPress並に特定のフォルダにアップロードするだけで使えたらいいんだけど、
環境によってMEDIA_URLが違うことを考えると修正なし(html内のCSSのパスとかimgのパス)
でっていうのが難しいなあ。{{ MEDIA_URL }}が常にとれたらいいんだけど。
まあフレームワークとしての機能とまったく関係ないんで、そんなこと気にして作らないですよねw
- Posted at:
- 2007/06/08 17:17:16
- 0 Comments
- 0 TrackBacks
- Tags:
- Trackback:
- http://blog.monospace.jp/2007/06/08/django_admin_theme2/trackback/

なんとなく仕事の区切りがついたので、ちょっと息抜きにデザイン作業でもしてみました。
MovableTypeとかWordPressのテーマみたいな感じでDjangoの管理画面のテーマを
配布するような流れはないんかな、とふと思いました。
んで、うちのラボのDjangoの管理画面のログインページを変更してみました。
無駄にカラフルで、ロードするたびに色変わります。ちょっとやってみたかっただけ・・・。
オレンジ
ブルー
ブラック
あと2色あるんですけどね。
- Posted at:
- 2007/06/07 02:44:42
- 0 Comments
- 0 TrackBacks
- Tags:
- Trackback:
- http://blog.monospace.jp/2007/06/07/django_admin_theme/trackback/
extras/django_bash_completion
# To install this, point to this file from your .bash_profile, like so:
#
# . ~/path/to/django_bash_completion
実はこんなのあったんですね。
マニュアルにも書いてありますねorz
いつもsyncdbが打ちにくいとか文句いっててごめんなさい。
[追記:6/8]
technolizeさんがzsh版を作ってくれたみたいです。
http://d.hatena.ne.jp/technolize/20070607#1181193568
- Posted at:
- 2007/06/06 20:53:02
- 2 Comments
- 0 TrackBacks
- Tags:
- Trackback:
- http://blog.monospace.jp/2007/06/06/django_bash_completion/trackback/
対応したら面白いコンテンツを作るのが大変だなあ。
とりあえず、お客さんのマシンにインストールしておいてサーバ落ちてませんって
いうのに使えるソフトですよね。
ちょっとなんか作ってみたくなった。
確かに、
Remember the milkとかTODO管理アプリには最適な感じしますね。
- Posted at:
- 2007/06/06 19:02:30
- 0 Comments
- 0 TrackBacks
- Tags:
- Trackback:
- http://blog.monospace.jp/2007/06/06/google_gears_intro/trackback/
前回は、monologistaをフリーコメント機能で誰でもコメントできるようにしてみたわけですが、今回、ログイン済みユーザのみがコメントできる機能に変更しました。
変更はいたって簡単でした。
基本的にはフリーコメントと同じです。名前が若干違います。
まず、コメントリストを取得する部分。
{% get_free_comment_list for monologista.post object.id as comment_list %}
↓
{% get_comment_list for monologista.post object.id as comment_list %}
freeをとるだけです。
次に、コメントフォームを表示する箇所。
{% free_comment_form for monologista.post object.id %}
↓
{% comment_form for monologista.post object.id with ratings_optional scale:1-5|この独り言の評価 %}
これもfreeとるだけ。with以降はオプションなんでいらないんですが、
せっかくなので、レートをつける機能をつけてみました。レートは8個までつけれそうです。
他のオプションは、is_publicで公開・非公開設定したり、画像をいれたりもできるっぽいです。
あと、ソースを見る限り、コメントのタイトルもつけれそうですね。使わんけど。
次は、プレビュー部分。
フリーコメントの場合は、free_preview.htmlっていうテンプレートを使ってましたが、
今回は、preview.htmlというテンプレートを使います。これもfreeとっただけ。
中身はfree_preview.htmlとほとんど変わりません。他の部分は、
django.contrib.comments.templates.commentsの中にあるform.htmlを参考にしました。
最後に、コメント数をカウントしている部分。
{% get_free_comment_count for monologista.post p.id as comment_count %}
↓
{% get_comment_count for monologista.post p.id as comment_count %}
やっぱりfreeとるだけです。
monologista
こちらに実装済みですので、興味があったら試してみてください。
ユーザ登録しないといけないんでめんどいかもしれないですけど。
ちなみに登録時のメルアドは、現状うそでも通りますw
そのままではできなさそうなのは、
公開、非公開をコメントごとに設定するのができないかなー。
削除、編集ができないって書こうと思って、コメントのurls/comments.py見たら
削除はできそうですね。ちょっとまだ奥が深そうなんでもうちょい調べてみよっと。
- Posted at:
- 2007/06/06 03:38:58
- 0 Comments
- 0 TrackBacks
- Tags:
- Trackback:
- http://blog.monospace.jp/2007/06/06/django_usercomment_function/trackback/