月別アーカイブ: 2009年12月

年末年始のイベントのお知らせ

波浪ノ
おねーさんです。
イベントのお知らせをふたつヽ(`Д´)ノ
コリナさんとかぺぎそさんとかからお知らせいただいている、12/24の歳末売り出しとやらをやるそうな。
12/24の夜!イブだよ!
場所はナポリの広場でござる。
もういっこ。
1/1元旦だよ!のお昼(12時)から、セビリア迅速木下にて、
あうれあの服キチElzaさんが今年も初売りを敢行するとのこと。
現時点で80品目くらいを用意しているとかなんとか。
全品半額と鼻息荒いです。
こんかいはこんなところかな!
追記:
53品目200着になったとのこと。

蜜の味

dakogaiつうたらperlのプログラマとしちゃ相当に知名度のあるお方。
あたしperl嫌いだとかそんなの関係なくdankogaiが誰なのかは知ってる。
geekにして一山築き上げ尊敬と名声とを得た稀有な人物。
で、彼の大昔のエントリーをぼーっと見てたら、見逃していた一文を発見したのね。
—引用—
敵の敵は味方とも言いますが、他人の不幸は自分の幸福ではありません。
蜜の味がするですって?それは蜜ではなく毒です。
その毒を気づかずに飲んで命取りになった人たちがどれほどいることか。
—引用おわり—
ひげもじゃだしべらんめえなことも多く言う人なんだけども、さらりと出す感情の発露がすごく美しい言葉になる人だ。
ひげもじゃは関係ないか。
しかし美しい。
ずるいくらいまっすぐに心臓を撃ち抜いてくれた。目が覚めるよ。
出典ココ:
http://blog.livedoor.jp/dankogai/archives/50468000.html

メンテの間にお勉強Todo

備忘。
Djangoとwerkzeugのことはいったん忘れる。
さくっと動かせないあんぽんたんなあたしが悪いんだけど、とりあえず作りのきれい汚いは別にして、なんか作ることに着手してしまおう。
設定だの構築だので悩む時間が多すぎる(-_-;
新しい概念を覚えるのって大変だね。考え方自体を自分にインストールしないといけないの。
こういうとこの”バカにはよくわかんない部分”は、「馬鹿への参入障壁になっていい」みたいなことを言う向きもいるけど、結局裾野が広がってなくて「あれーあいかわらずphpの天下っすね」みたいにならんのかしら。なってるとおもうんだ。
phpは公式サイトのマニュアルの充実っぷりがすごくて、それこそバカでも何とかなっちゃう(あたしがいい例)環境があるんだよねというような愚痴は以前も書いたことがある。すごく重要なんだけども。
やってるうちに仕組みがわかってくるプロセスが散逸してるのかどこにもないのかわかんないけど、とにかくとっつきにくさが目立ちます。
「バカでも導入できるほにゃらら」そのうち書けるようになるからなヽ(`Д´)ノ
Todo:
web.pyでいきましょう
sqlalchemyでいきましょう
genshiでもmakoでもいいや
この三点セットでいちおうwebアプリ作れるね。
genshiはともかく、makoあたりは使い方がわかりやすくてよろしいね。
あ、前半のはあたしが英語読めれば解決する愚痴だった。
なんだそっかー^^
また英語かヽ(`Д´)ノ

XreaでPython2.6を動かすのまき(2)

試行錯誤の過程はともかく、今のところこういう感じ。
あ。これ自分用です。今回の作業内容をすっかり忘れて位置からやり直すとき用です。
その壱はこちら。
Djangoも同じようなもんざましょ?ってピコピコやってみたけど動かなかった。
多くの方が試行されてる、Xreaでvirtual-python利用してPython2.4を動かす版の話じゃないので、みなさんさっくり通過しているところで派手に転んでいます。
だって書き方変わるのに古い書き方をせざるを得ない2.4とか使いたくないでしょ。
“こんばんは{me}です”.format(me=”おねーさん”)
とかしたいわけでしょ!個人的に。
さて。
こないだなんとなく動いていたような感じのところをいろいろいじりますと、出るわ出るわエラー画面のオンパレード。
なんとなく表示される → やりたい内容を反映しようといじる → エラー →なんとなk
これのループ。
あたしにとって鬼門のRewriteRuleで無駄に力んじゃった結果がトラブルの元でした。
.htaccess

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule  ^$         bar.py      [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule  .*         bar.py      [QSA,L]
#スタティックに飛ばしたい指示とかはまた別途書いています

例:
http://example.com/nanika/ にアプリ置くとするじゃない。
実体はアプリじゃなくてシンボリックリンクでいいんだけどエントリポイント的な。
http://example.com/nanika/か、http://example.com/nanika/bar.pyで開ける風です。
最初のは~.jp/nanika/とかスラッシュ終わりで来たとき用。
二つ目のは~.jp/nanika/foo/ とか、fooアクションをガキッといきたいときのアレ。
後方参照とかいろいろ試したけど、そもそもそんなのは不要だった。
bar.py

urls = (
'/'      , 'index', # http://example.com/nanika/
'/bar.py', 'index', # http://example.com/nanika/bar.py
'/b/?'   , 'wei'  , # http://example.com/nanika/b/
'/c/?'   , 'hiyas', # http://example.com/nanika/c/
'.*'     , 'index', # http://example.com/nanika/
)

いまんとここう。
.htaccessで

RewriteRule  .*  bar.py  [QSA,L]

こんな書き方をしていたものだから、パラメータわたらないんじゃないのかと思いきやそうではなかったという話。

Todo

手帳を持ち歩かないのでこういうとこに書いておくのがべんり。
やはりPython関係でメモ。
・変態テンプレートエンジンGenshiのXinclude攻略
 継承きかないなあって思ってたらバッキバキにXpath方面でやっつけるということらしい。面倒くさがって勉強してなかったツケが。
 未来のおねーさんへ。私は昨日やっとこxmlnsの意味がわかりましたよ。そっちは進歩しましたかね。
 XSLT,Xpath,Xpointerってえっくすえっくすうるせえええ
 Xつうたらエックスジャンプレッツパーリィと相場決まってんだろ。
 がんばれあたし。
・sqlalchemyなどのORマッパ攻略
 こっちは使い方がなじめば大丈夫。
PythonのWSGIて仕組みはべんりだね。
このフレームワーク+このORマッパー+このテンプレートエンジンとか、使う側が好きに選べちゃう(組み合わせによっては不便もあるらしいDjango+SQLAlchemyとか)。
全部乗せの巨大フレームワークも悪くないんだけど、そんなに大げさなことをやりたいことばかりじゃないんだよね。乗換えが気楽なのがありがたいかな。

XreaでPython2.6を動かすのまき

#わかったことメモ
xreaのふつうプランでは少なくとも「AddHandler cgi-script」使わないとだめみたい
(coreserverはmod_fcgiがはいってるらしい:ぎじゅっやさん情報)
web.pyだのDjangoだのは複数スレッド当たり前なんですね。
一方のxreaでは複数スレッドの同時起動を禁止している。
スレッド作れないんですけど的なエラーを出して、スクリプトが動かない。
.htaccessを書く
——————————-
DirectoryIndex index.py index.php index.cgi index.html
AddHandler cgi-script .py #for Xrea
#AddHandler cgi-script-debug .py #debug
#ついでにオプション
Options +ExecCGI +FollowSymLinks
#Rewrite
RewriteEngine on
#ここは環境ごと違う
RewriteBase /hoge/
#うちの場合はindex.pyがBootstrapみたいになってんよ
#いまはてきとうです
RewriteRule ^/(.*)$ ./index.py/$1 [QSA,L]
——————————-
web.pyでアプリを書く:
チュートリアル見ればスクリプトはOK。
ちなみに最新の英語版見るほうがよいぽ。
問題はこっち。
site-packegesの中のwebの中のwsgi.py
return makeserver(WSGIServer)(func, multiplexed=True).run()
これを
return makeserver(WSGIServer)(func, multiplexed=True, maxSpare=0).run()
こうする。
「, maxSpare=0」ここに気づくことができずに莫大な時間の浪費をしてしまった。あほおおおお
参考:
CGI環境でweb.pyを動かす
web.pyをwsgi.pyと読み替えること。バージョン違う。でもやるこた同じだった。
サンプルで書いてくれてるコードを完全に隅々まで見ないと、差異に気づかない(これではまった)。
で、できたurlを叩いてみると、
「Status: 200 OK Hello」
きたこれ。
#うごいたコードはチュートリアルのほぼそのまんまです。なので載せない。
Xrea レンタルサーバで webpy しようよ!
web.py チュートリアル
そのうち役立ちそう。
[Python] web.py 0.23 on xrea.com
PyPI Mirror(ぱいぱいみらー)
落っことしてくるのはここから。
ライブラリいっぱいあるなあ。
おまけ:
CGIWrap Error: Real UID could not be changed!
これよく出るのは、sshで端末開いてたりする数が多いのが原因らしい
どうすんだあたし3つ4つ平気で開くのが日常だというのに。
いちいちディレクトリ移動してあちこち見れってか。
えー。

続きを読む