2012年3月26日月曜日

PyPy1.8を使ってみた

標準Pythonより高速といわれているPyPy1.8を使ってみた。

まず思った事は、Python2.7.2互換といわれているほど成熟されていないようだった。
djangoは動くけども、周辺モジュールのDjango-southを使えばRPythonのエラーが出でるし、
Win32APIを直接使うようなpyserialなどはまだ使えない。

という事で実用レベルになるまで様子見。

2012年3月7日水曜日

スクリプトでUML図作成

UML図を簡単に使えそうなものを探していたら
sphinx拡張のseqdiagというものにたどり着いた。
Graphvizみたいにスクリプトを書くと図にしてくれるぽい。
ちなみにこれはPythonのモジュールです。

1.インストール
easy_install sphinxcontrib-seqdiag


2.図の作成
C:\work> actdiag -f C:\Windows\Fonts\msmincho.ttc test.diag


サンプルデータ:test.diag
---
diagram {
  クライアント -> サーバー [label="要求"];
  クライアント <- サーバー [label="応答"]; 
}


参考URL:
http://blockdiag.com/ja/seqdiag/sphinxcontrib.html
http://d.hatena.ne.jp/torutk/20110522/p1

2012年3月2日金曜日

django-southの使い方。

Models変更をSQLiteなどDBに反映するツールsouthの操作手順をまとめておく。


前提条件
・south導入する前に、modelsの変更は含まないものとする。

~導入~
1.southインストール
2.プロジェクト(settings.py)にINSTALL_APPに「south」を加える。
3.「python manage.py syncdb」コマンドでDBにsouthテーブルを作成。


~最初のMigrate(既にテーブルが存在する場合)~
1.既にDBにテーブルが存在する場合、「python manage.py convert_to_south 」を実行。
注意1:特定Models内のclass Metaにあるapp_labelを書き換えてあるModelは、APP名ではなくapp_label名になる。
注意2:一度convert_to_southをすると2回目以降は変換済みとなる。
注意3:app/migration/0001_initial.pyファイルは捨てないようにする事。(fakeでmigrateされた初期値)
注意4:0001_initial.pyを作るコマンド「python manage.py migrate --initial」

2.最初の「0001_initial」が適用されているかチェックする。「python manage.py migrate --list」
注意1:もし、適用されていなかったら「python manage.py migrate 0001 --fake」コマンドを実行する。


~2回目以降~
1.Models.pyに変更を加える。
2.「python manage.py schemamigration --auto」を実行する。
 modelsフィールドにdefault値を設定していない場合は、
 コンソール操作で初期値を入れる必要がある。
 操作を終えると、migrate用ファイルが作成される。
3.「python manage.py migrate 」実行。


参考サイト
South
South v0.7 documentation(英文)
South v0.7 documentation(日本語訳)

Androider