2009年11月アーカイブ

「天冥の標〈1〉―メニー・メニー・シープ〈下〉」読了。
あとがきにいわく、「『ちょ、おいィ!?』と叫んでいただけましたか。これはそういう本です」。
叫びましたとも。なんというか、惜しげもなくいったなあ、というのが正直な感想。次は2010年初春に刊行されるらしい。

ウェブ検索(Yahoo!API利用)ニュース検索(GoogleニュースのAtom形式出力をパース)を作ってみた。 その過程でいくつかの懸案が解決し(または見切りをつけ)た。

モジュールの配置ってそもそもどうするのが普通なのか

何が正解かはよく分からない。site-packagesにファイルを置くと、とかeasy_installというシロモノに関する情報もあるが……。
sys.pathというリスト(通っているパスがすべて入っている)に適当なディレクトリを突っ込む、という方法が簡単そう&とりあえず動いたのでこれでいく。

PathInfoからの引数取得

os.environというディクショナリにPATH_INFOというそのものずばりの値が。これをスラッシュで区切って使う。PathInfoからの引数取得は今後も多用しそうなので共通の関数を定義しておこう。os.environにはこの他にも標準的な値が一通りそろっている模様。smartyだったら予約変数$smartyの中に全部詰め込んであったのだが、似たようなものはなさそう。

リダイレクト

self.redirectでできる、ということを見つけるのに時間がかかった。

URLエンコード、デコード

urllib.quote_plusがおそらくそのものずばりだが、encode('utf-8')をつけてやらないとエラーが出る。かなりはまった。ウェブリクエスト用にkey=valueの形式にエンコードするならurllib.urlencodeを使うのが便利。

XMLの取得、パース

各種のAPIを使うにせよ、RSSを読み込んで表示するにせよ、XMLをパースする仕組みは必須。標準でもいろいろあるようだが、BeautifulSoupが手軽そう。実際手軽だったが、タグのアトリビュートの扱いがややこしくてちょっと泣いた。ウェブ越しにXMLを取り込むのはGAE名物urlfetchを使うのが礼儀というものだろう。

なんか表示するたびにエラーが出る…

デフォルトエンコーディングを変更してやらないとデフォルトでasciiになっているらしい。グローバルだこと。

正規表現

Googleの返してくるXMLがタグだらけ。正規表現の出番。

「天冥の標〈1〉―メニー・メニー・シープ〈上〉」読了。
全10巻に及ぶ大作の開幕、とのことでたいそう盛り沢山な内容。道具だてはSFっぽさ満点なのに、意外なほど政治や行政、社会基盤の維持といったあたりの描写に力が入っているのがいい。


「鈴木先生 8」読了

| トラックバック(0)

「鈴木先生 8」読了。
ちょっとナイーブ/ナーバスに過ぎる人物たちが登場する学園もの、と思っていたのだが、だんだん、学校を舞台にしたサイコホラーに近づいてきた気がする。


すでにくじけそう。

| トラックバック(1)
Google App Engine上でPythonを使っていろいろ作っていこうと思う。ターゲットは、現在PHPで動かしている受賞作ドットジェイピー2軒目は近所のバー7thPocket.comをGAEに移すこと。3サイトとも基本的にはオリジナルのDB少しとたくさんのWebAPIを組み合わせたサイト。課題をリストアップしてみよう。 えーと、無理だなこれは。かれこれ6年くらいかけて書き溜めてきたから仕方ないけど、ゴミも積もればゴミの山、だ。

「運命の子―グイン・サーガ〈129〉」読了。
ああ、面白いなあ。これ、まだ続くの?<続かない。

これまでPHPで作ってきたいくつかのサイトをGAE上で動かすべくいろいろ試す。
●現在のGAE開発環境に組み込まれているバージョンは0.9x
 よって、このページにある各機能のうち、「Django 1.0 で新たに登場しました.」とある機能は使えない模様。中でも、辞書の各要素をループしてキーと値を取得、というシンプルな機能が使えないのには困った。また、テンプレートからオブジェクトのメソッドを呼び出すときにも引数が1つしか指定できなかったりする。
●オリジナルのクラスを含むモジュールを、メインプログラムとは別のディレクトリで管理したい場合、「import sys」した上で、「sys.path.insert(0, 'hogelib/hogehoge')」などとしてやる必要がある。
●また、そのようにしてインポートしたモジュールに含まれるクラスを継承して別のクラスを作るのであれば、継承元を表すカッコ内にはモジュール名.クラス名という形式で記述する必要がある。たとえば、hogelib/hogehoge/hoge.pyの中のhogeクラスを継承してfugaクラスを作る場合は「class fuga(hoge)」ではなく「class fuga(hoge.hoge)」となる。
●日本語の文字列を使用する場合は文字列リテラルの前に「u」を付けてu'日本語文字列'としてやるが、それだけでは不十分で、ソースの2行目あたりに# -*- coding: utf-8 -*-が必要だそうな。


アーカイブ

Books

軽装版 風と行く者 (軽装版 偕成社ポッシュ) ニーチェ先生~コンビニに、さとり世代の新人が舞い降りた~ 11 (MFコミックス ジーンシリーズ) AI白書 2017 深層学習 (機械学習プロフェッショナルシリーズ) 琥珀の夢 上 小説 鳥井信治郎 琥珀の夢 下 小説 鳥井信治郎 健康で文化的な最低限度の生活 (1) (ビッグコミックス) 健康で文化的な最低限度の生活 (2) (ビッグコミックス) 健康で文化的な最低限度の生活 (3) (ビッグコミックス) 健康で文化的な最低限度の生活 (4) (ビッグコミックス) 健康で文化的な最低限度の生活 (5) (ビッグコミックス) 健康で文化的な最低限度の生活 (6) (ビッグコミックス) 健康で文化的な最低限度の生活 (7) (ビッグコミックス) 健康で文化的な最低限度の生活 (8) (ビッグコミックス) 教科書名短篇 - 少年時代 (中公文庫) ゼンデギ (ハヤカワ文庫SF) シルトの梯子 (ハヤカワ文庫SF) クロックワーク・ロケット (新☆ハヤカワ・SF・シリーズ) エターナル・フレイム (新☆ハヤカワ・SF・シリーズ) アロウズ・オブ・タイム (新☆ハヤカワ・SF・シリーズ) 昨日がなければ明日もない 烏は主を選ばない 八咫烏シリーズ 2 (文春文庫) 黄金の烏 八咫烏シリーズ 3 (文春文庫) 空棺の烏 八咫烏シリーズ 4 (文春文庫) 神様の背中~貧困の中の子どもたち~(書籍扱いコミックス) さよならの儀式 直感と論理をつなぐ思考法 VISION DRIVEN 取締役の法律知識 (日経文庫) ユダヤ教徒に見る生き残り戦略

Link

Feed

このブログを購読

Follow

follow on Twitter

Counter

218562372