メイン

Win開発の小さい落とし穴

2007年04月25日 | category : こぼれ話
このサイトをはてなブックマークに追加 newsing it! この記事をクリップ! Save This Page to del.icio.us Buzzurlにブックマーク

こんにちは
普通なら無難にやり過ごせる小さい穴で大きくつまづいた山本です

ローカルのWinで開発をしているのですが、Pythonをインストールした
時に、 py ファイルは python.exe が関連付けられてしまいます

py ファイルは生ソースファイルなので、できればテキストエディタを
デフォルトで関連付けしたいところです

と言う事で、py ファイルの関連付けをテキストエディタにしてゴキゲンな
開発環境ができました

---

日は変わり、今日はDjango0.96から使えるようになった複数のDB接続
を検証しようと思い、テスト用のプロジェクトをローカルで作る事にしよう
とキーボードに指を走らせたところ・・・

---
>django-admin.py startproject db_test
django-admin.pyのファイルがエディタで開いた・・・?
( ・∀・)・・・? ←まだ理解できてない

---
>django-admin.py startproject db_test
django-admin.pyのファイルがエディタで開いた・・・?
( =∀=)・・・? ←まだ理解できてない

---
>django-admin.py startproject db_test
django-admin.pyのファイルがエディタで・・・!?
( ゚ ∀゚)!!! ←気付いた


ですよね〜
py ファイル、テキストエディタに関連付けしてましたから
そらそうですわ

貴重な時間をドブに捨ててしもうたなぁ ( ´ H`)y-~~~

posted by yamamoto | permalink | comments (0) | trackbacks (0)

変更不可にしたい時はタプル型?

2007年04月19日 | category : 言語
このサイトをはてなブックマークに追加 newsing it! この記事をクリップ! Save This Page to del.icio.us Buzzurlにブックマーク

こんにちは
いろんなパーツがサクサク繋がりはじめてゴキゲンな山本です
でも、4月もあとわずかなので ヒィー なカンジでもあります

グローバルスコープで使いたい定数ができたのでGoogle先生に
お伺いを立ててみたのですが、なんか腑に落ちないカンジ

『変更できない変数を作りたい時はタプル型を使うといいよ☆』

軽く探してみたら、一様にそんな感じ
で、タプル型とはなんぞや? と見てみると、配列の性質を持って
いる模様

使えなくは無いのだけれど、C++の const修飾子みたいなのが
用意されていないのは、何か特別な理由でもあるのかな?
なんて、考え込んでみたり

Pythonは後付け感をほとんど感じない言語なので、恐らく崇高な
理由があって、良く調べたらちゃんとした定数の定義ができるもの
なんだろうけど、今回はタプル型で行っちゃおう (・∀・)

posted by yamamoto | permalink | comments (3) | trackbacks (0)

urls.pyって分割できないのか、、、?

2007年04月07日 | category : 言語
このサイトをはてなブックマークに追加 newsing it! この記事をクリップ! Save This Page to del.icio.us Buzzurlにブックマーク

urls.pyで、ソースの上書き事件が多発!(全員が同じテスト環境上で開発しているので、、、)

views.pyは、

■views.py■■■■■
from views_a import *
from views_b import *
from views_c import *
from views_d import *
from views_e import *
■■■■■■■■■■

というカンジで、各コーディング担当者に専用のviews.pyを用意したのですが、

urls.pyは、分割の仕方を調査中、、、


read more "urls.pyって分割できないのか、、、?"

posted by seno | permalink | comments (0) | trackbacks (0)

サニタイズ・・・

2007年04月02日 | category : 言語
このサイトをはてなブックマークに追加 newsing it! この記事をクリップ! Save This Page to del.icio.us Buzzurlにブックマーク

こんにちは
目的の為には手段を選ばない気分の山本です

今月中にはSkyfishのアルファリリース(できればベータ公開も)をしなければ
いけないので、コードの美しさは二の次に手段を選べなくなってキてます

で、今日はXML出力と文字列のサニタイズについて

XML出力は強引に1行ずつ出力してしまえ! と、あからさまなダメ手段で
お茶を濁してしまおうかと方針設定したのですが、サニタイズをいちいち
文字列置換でやってしまうのは寧ろムダな気がしないでもない

PHPだったら頻繁にお世話になる htmlspecialchars(手打ちで1秒w) が
強い味方なのですが、Python自体はWeb言語ではないので、絶妙な
おしゃれ関数が無いらしい・・・

文字列置換テーブル作って、グルグル回すしかないのかなぁ?

posted by yamamoto | permalink | comments (4) | trackbacks (0)

素晴らしいDjangoのドキュメント

2007年03月30日 | category : 言語
このサイトをはてなブックマークに追加 newsing it! この記事をクリップ! Save This Page to del.icio.us Buzzurlにブックマーク

セッション機能が便利すぎて驚いているミナトです。

Djangoのセッション機能はドキュメントを見ながら、PHPの感覚で簡単に使用出来るので特に難しいところはありませんでした。
一点注意するとすれば、セッションのキーが取得出来ない時は、KeyErrorが送出されるので、try〜exceptをしてあげる事ぐらいでしょうか。

セッションとは関係なく、Djangoのドキュメントは改めて素晴らしいなぁと思ったので少し書いてみます。

セッションのドキュメントを見ている時に気付いたのが、

HttpResponse

というオブジェクト。
Djangoのビューは全てこのHttpResponseオブジェクトを返す必要があるのですが、 render_to_response()を当たり前のように使っていながら、HttpResponseをそのまま使える事に気付いていませんでした。

改めてドキュメントを読み直すと、チュートリアルの時点から使われている基本的なオブジェクトと気付き、 恥ずかしい思いです。

他にもnewformsのドキュメントで見かけた

from django import oldforms as forms

というPythonの書き方はとても便利そうです。
エイリアスを付けてやる事で、Djangoのオブジェクト継承した、独自のオブジェクトを使用する際でも、オブジェクト名を書き換える事無く使用できるので、 とても拡張性が高い事に気付きました。
DjangoではなくPythonの言語仕様ですが、これもドキュメントから得たヒントの一つです。

このような経験からDjangoのドキュメントには知らなければ損をする事がもっと書かれていそうです。
先日の関西 Python Workshopで、Djangoの開発体制は、ドキュメントがしっかりしていないと コミットが出来ないという話を聞きました。
その結果として作成される、とてもクオリティが高いドキュメントには本当に助かります。

問題が出てきた所でドキュメントを読むというスタンスを取ってきましたが、一度全てに目を通した方が良さそうですね。

posted by minato | permalink | comments (2) | trackbacks (0)