Doge log

Abby CTO 雑賀 力王のオフィシャルサイトです

Python温泉雑感

というわけで行ってきました。
みんな私が何をしてたか知らないと思うので書く。

1日目

とりあえず遅れて到着。
メシを一人で食う。かなり寂しい思いをした。
みんなと合流。
ホントはopencvをやろうと思ってたんだけど結局nevowを追いかける。
nevowの生産性をあげるのが目的。
おさらいでResolverを作り直し。
pythonがわからなくなってたのでかなり苦戦。
tumblrなどやりつつもResolverはまあ動いた。
ResolverはRootにおけばいいだけなのに変に継承とかしてまたまたハマる。
djangoと同じくnevowもaddSlashするとrendering時にredirectを吐いてることを知る。
djangoでその昔captchaを組み込んだ事があるけどもうわすれちまったよ。
django-jaのblogに組み込むため。なのでそーとー前だな)
情報共有のためにLingrを普通にみんな使ってる、なんだかんだで便利なサービスだ。

2日目

今日もnevow。
nevowはどこにロジックかけばいいのかよくわからないってひとが出そうなので明示的にロジックを書く所を考える。
resolverを併用する前提とdjangoの仕組みやServletが割とわかりやすいようなので思い切ってdoGet、doPostメソッドが
呼ばれる仕組みを作る。
doGetは難しく考えずbeforeRender部で呼ばれるようにする。
もちろんresolverでマッチしたパラメータも渡ってくる。
djangoのview関数とほぼ同じで違いはreqestの代わりにPageContextが渡ってくるだけ。これは楽。
doPostに関してはlocateChildで拾い上げる。
Postが成功した時点でdoPostが呼ばれる。
呼び出しがある程度出来たのだが次のページへの遷移がよくわかっていない。
doPostの返り値にstringでurlを渡す仕様にした。
Pageクラスを返すような方法でもよかったがresolverのreverseにちょっと問題があったのでやめた。
さらに次の画面に値を引き渡す方法がよくわかってないので調査。
magicCookieとやらが怪しげなのでいじくる。
どうもデフォルトで前画面の結果と前画面のurlは渡っているらしいのでさらに調査。
setComponentに適当につっこむもダメ。
どうもregisterがいるらしく調査。
nevowのregister部を見てちょっと凹む。もうちょっと名前ベースの規約を使うなどにして楽にできないものか。
とりあえずrailsでいうFlash部に相当するものが動いた。
9割ぐらい調査だった気がする。
doPostの実装のようにすれば同様にvalidator周りもすぐできるかなということでいったん区切りのいいところで終了。
ueBlogのひとがローカルyoutubeを作ろうみたいのをやってたのでurl取り出し部だけを綺麗に切り出す。
あとはなあなあ。正直眠かった。
youpyオフおよびjazzanovaオフが開催されてた。かなり嫉妬。

3日目

西尾さんから名刺をもらう。西尾人気スゴす!
電車の中でyoutubeのファイルダウンロードをtwistedで書いてみる。
テストしてないのであとで動かす。

とりあえず雑感。

  1. 思ったより静か
  2. 見た事あるひとが多い
  3. djangoをいじり倒してる人が多い(nevow人気低い)
  4. 黒いMacでも電源コードは白(ださい)
  5. 結局うまい棒はそれなり消化
  6. 似たような事やってるひとは近くのテーブル集めた方がよかったかも
  7. ninjaの話が思ったよりウケた
  8. プチtumblrブーム
  9. 変態は少ない
  10. Pyrexやるならpython-spidermonkeyを完成させるべき!
  11. lxmlはよい
  12. Cで書いてもアルゴリズムがクソだと意味が無い

あとでソースは貼るよ。
うくく。