カテゴリー別アーカイブ: Python

FFXIVなんとかかんとか調査メモ

とある何かの中身を調べております。
Itemテーブル
legacy=1は「✝」マークついてたり、英語名にDated(時代遅れの,旧式の)とついたりしている。旧FF14のアイテムなのかな。見るべきものではなさそう。

なんかもーすごいきちんとデータが整理されてて、データ眺めていて気持ちがいい。

ほんとは馬とったとかいろいろ書くことあるんだけど、作業楽しいので後回し。

Rarityが1~7くらいまであるぽ。7はエーテリアル装備かなあ。

バリデーション

年が明けたらやることてんこ盛りのプロジェクトへ配置されてたでござる。
はろうおねーさんです。
以下は想定している読者があたしです。
すでにほかの方が超絶開発中なのを、のんびり追っかけている新生NDIのためのメモ。
FormEncode
http://pypi.python.org/pypi/FormEncode/1.2.2
http://formencode.org/index.html
フォームのバリデーションめんどくさいなーって思ってたらやっぱりあった。
i18n対応までしてるあたりがにくい。
なんとなんとなんと。無料リポジトリ(無料版だと二人まで)だって。
いいんじゃないのおおぅぅ
http://d.hatena.ne.jp/nantekkotai/20090811/1250007395
#NDIで使うスキーマのレビューをそのうち誰かにお願いしそうです。最右翼はもげたん。

メンテの間にお勉強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つ平気で開くのが日常だというのに。
いちいちディレクトリ移動してあちこち見れってか。
えー。

続きを読む

Python2.6リリース!

はろう。おねーさんです。
DOLでも無事にアナコンダとか大アリクイとか入手せしめちゃったわけですが、プログラムのほうもあたらしい蛇がうちに来ました。
Python2.6。かわいいやつです。
昔いた職場の蛇使いの人にも、久々にメールを投げました。蛇でた蛇でたみたいな。
テキストをガラガラやりたかったので、Mecab(めかぶ)もいんすとろーる。
mecabのpythonバインディングはコンパイルが云々とかでて、Python2.6ではコンパイル済のほにゃららも入手できるあてがありません。
Mecab、WindowsだとIPA辞書までセットですすいとはいって楽なのね。Debianさんのほうはちょっとてこずってます。そのうちやろう。
バインディングつうのも試そうとしたけど10分で挫折。ctypesというのをみつける。2.4だか2.5だか以降は標準で入ってるって。
ctypes で MeCab 0.9rc6 を使う(Kazuya Fukamachi’s home page)このへん参考に。
※かいたpythonソースは参考ページの丸写しみたいなものになったので載せない。
“-Ochasen”で書き出してみる。

時計	トケイ	時計	名詞-一般
の	ノ	の	助詞-連体化
針	ハリ	針	名詞-一般
は	ハ	は	助詞-係助詞
21	21	21	名詞-数
時	ジ	時	名詞-接尾-助数詞
2	2	2	名詞-数
分	フン	分	名詞-接尾-助数詞
を	ヲ	を	助詞-格助詞-一般
回っ	マワッ	回る	動詞-自立
た	タ	た	助動詞	特殊・タ
ところ	トコロ	ところ	名詞-非自立-副詞可能
。	。	。	記号-句点
こんばんは  コンバンハ   こんばんは 感動詞
お	オ	お	感動詞
ねー	ネー	ねー	助詞-終助詞
さん	サン	さん	名詞-接尾-人名
です	デス	です	助動詞	特殊・デス
。	。	。	記号-句点
EOS

(横幅きつかったので一部修正)
おー。
おねーさんのあたりがアレですが、たしかにふつうは「おねえさん」でしょうな。
書き換えてみる。

お	オ	お	接頭詞-名詞接続
ねえさん	ネエサン	ねえさん	名詞-一般

ですよねー。
このへんは学習させないとだめぽい。どうやんだ。