Python

Decorator Module

すごいなあ。

TurboGears入門

こっちの方が参考になると思う http://lightson.dip.jp/blog/seko/1191

TurboGearsちょっとやってみる

プロジェクトを作る F:\proj\turbogears>tg-admin quickstart Enter project name: parts Enter package name [parts]: Do you need Identity (usernames/passwords) in this project? [no] 遊ぶ F:\proj\turbogears>cd parts F:\proj\turbogears\parts>pyth…

MacBookをバッテリの調整にかけているので

今日はWindowsにTurboGears環境を作ってみる

reモジュール謎

import re p = re.compile('ab*') これが謎なんだけど。モジュールreでクラスreを定義したならば、re.reでアクセスするか、from * import reでもしないとクラスにアクセス出来ないと思うのだが、どんな技を使っているんでしょう。 ⇒ re.pyを見てみた。__dir_…

Unicode文字列型

同じくunicodeも組み込みのクラスで出来ているらしい。この型を使って正規表現クラスモジュールを使えばうまく考えられてくれるらしいけれど・・・どうもUTFの1文字という概念が信用できないのだが。。。大丈夫かなあ。

文字列型

type("moji")は ということで、dir("moji")をやるとクラスでの実装がされているみたいだから、組み込みのクラスなんだろう。多分モジュールstringが盲腸できっと、ほんの少しクラスじゃ書きにくい物がstringモジュールに生き残っているのだろう。

splitメソッドの第二パラメータ便利

しかし・・・・よくわからない。。 import string print string.split("1 2 3", " ", 1) と、 print "1 2 3".split(" ", 1) の違いが。同一の実装がされているようには思えない。なぜならimport無しで使えるから。同じ事が2つの方法で実現するのを嫌ってい…

長い行のコメントアウト

"""と"""で囲む方法と、4インデントだったら2インデントをずらしてif false:で分離する方法があるけれど・・どっちかというと"""の方が見た目がわかりやすいからいいかなあ。

Popenのドキュメントはどう読むか

Popenのコンストラクタ・・・パラメータ多いのだけど。Pythonの場合、名前付き引数にしても言語がチェックしてくれるので間違う可能性が少ないのだが、それにしてもドキュメントがわかりにくい。このPopenの説明の後が全然違う関数の説明。じゃあ、wait()と…

ある程度理解したらLispにも

[Lisp プログラマのための Python 入門]色々参考になるなあ。笑えたのが a=(1,) のカッコには意味がなく、a=(1,)もa=(1,2)もカッコなんていらないa=1, でいいし、a=1,2もいい。ふむう。

evalてあるのかな

たとえば、{ 'Group' : { "key1" : "data1" }, 'Group2' : { 'key1': 'data1' }}なんてのをファイルにしておいて、ファイルから読み出してevalが出来れば・・・・プログラム1行なんですけど。→ありました。出来ました。これでいいやん。というような手抜き…

xml.parsers.expatのサンプルを見て

Pythonのマニュアルから http://www.python.jp/doc/2.4/lib/expat-example.html うーむ、まじにSAXのインターフェースだなあ。と思いつつ。どうやってクラス化させるのかPythonの勝手がわからなくて悩んでいたが。 http://blog.so-net.ne.jp/nakagami/2005-0…

とりあえず設定ファイルを扱いたいので

普通のDOMのようなインターフェースを探す。あ、なんか面倒そうだから・・・・ いつもの・・・ [Group] key="data"とやって config["Group"]["key"]でアクセスさせようかな。なつかしのレジストリ!

XML 4Suiteセットって

http://www-06.ibm.com/jp/developerworks/xml/020322/j_x-matters16.html IBMの記事によると、「体重400キロのゴリラのようなPython XMLツールの紹介」と書いてある。壮大とかむちゃくちゃ書いてあるなあ。すげー興味あるんだけど。

LL言語って便利だけど

こういう甘やかされた言語に飼いならされてプログラマって本当に幸せなんだろうか。本質だけ見ていけば良いと言えば聞こえはいいけれど、正しくない事が起きた時の動きが想像しにくい。とか、実際にどこがボトルネックになっているか調べにくいとか。。。こ…

CherryPy

チュートリアルの中に、本物のチェリーパイの作り方ものっているよ。

私の嫌いなAjaxをTurboGearsから見てみようかな

TurboGerasのAjax風はAjaxじゃないと色々指摘されているが、これはカプセル化が弱いせいかな。結構な量のJavascriptを書かないといけないような気がするんだけど。 Ajaxについて何も知らない私は、TurboGears×Pythonの入門記事を見てもさっぱりわからない。…

TurboGearsがPython 2.5対応したらしい

私が使うレベルでは2.4でも2.5でも違いは無いのだが。しばらく様子見

とりあえずなんとかしないとならないのはデコレータだな

def dec1(f): print "dec1(", f, ")" return f @dec1 def t(x): print "t(", x, ")" return x + 1 dec1( <function t at 0x00BE29F0> ) # 定義中に呼ばれる >>> t(1) # メソッドをそのまま返すからそのままの t( 1 ) # 定義が実装される 2 うん、わかった。dec1でそれなりのメソッドを</function>…

TurboGearsでサービスして大丈夫なのもなの?

便利そうなのはわかるんだけど。スクリプトエラー起こすとbackstack traceのエラーが出たり、そもそもコントローラのCherryPyって複数の接続許すの? その場合ログはどういう動きをするの?とか疑問が沢山。 ソース読むしかないか。

デコレーション

うーむ、わかりずらい。