2011-01-01から1年間の記事一覧

BaseRequestHandler はいかがでしょう?

テンプレートエンジンで扱う HTML ファイル群は、一つのディレクトリ内にまとめて格納しておきたい。 その場合、webapp.RequestHandler のサブクラスとして BaseRequestHandler が提案されています。 以下では、templates ディレクトリを作成して HTML ファ…

ListProperty はただの Property にあらず

ListProperty クエリの比較演算子は、他の Property クエリとは異なる振る舞いを示します。 クエリでは、リスト プロパティと値を比較してリスト メンバーを照合します。たとえば、list_property = value は値がリスト内に存在するかどうかを調べ、list_prop…

開発サーバにデータをリストア(復元)する

Web サーバのデータをローカル開発サーバで利用したい場合の対処 ここの説明は、基本的に Loader クラスを自前で用意しなくて済む方法です。 まず、remote_api へアクセスできるように app.yaml の handlers に以下を追加しておきます。 # # app.yaml # hand…

分割した CSS ファイルを統合する時がきた

CSS

CSS ファイル設計の段階で CSS を以下のように分割して管理しやすいようにしていました。 しかし、ファイル数が多くなると HTTP リクエスト数も増えるため、安定した運営が可能になった段階でこれらの CSS ファイルを統合してページ速度の改善をはかります。…

jquery.cycle スライドショープラグインと Ajax を組み合わせる際の注意

$.get() や $.load() 等の Ajax メソッドで画像を取得し、jquery.cycle プラグインでスライドショー表示させようとするも、なかなか上手くいかない場合、Firebug に [cycle] terminating; zero elements found by selector が出ているのではないでしょうか。…

or を用いた代入は順序に気をつける

代入式で or を用いる場合、None や '' や Null 等は or の後ろに置く。 def assign_string(value): str = value or '' # 良い例 # if not value, |str| is '' str = '' or value # 悪い例 # if not value, |str| is None

null オブジェクトは直接、データストアに入らない

Python では Null という便利なクラスが提唱されています。 # # null.py # class Null(object): """ Null objects always and reliably "do nothing." """ # optional optimization: ensure only one instance per subclass # (essentially just to save mem…

【2ch】キーワードあんてな ( ゚д゚ v) のレポート

【2ch】キーワードあんてな ( ゚д゚ v)の AppEngine ダッシュボードです。 そろそろ古いエントリーとキーワードを削除する準備をしておこう。 ちなみにアップデートは更新頻度から Top/High/Middle/Low の 4 段階に分けて Cron Jobs を設定してあります。 こう…

ことえりで変換したキーワードを出力する

Mac で「ことえり」を使って日本語(漢字・カタカナ)変換しているなら、PredictDictionaryChecker で一部の変換履歴を出力してみることが可能です。 「ターミナル」を起動し、以下を入力します。 /System/Library/Input\ Methods/Kotoeri.app/Contents/Supp…

YouTube Data API のフィード情報を jQuery で取得する

クライアント側 (jQuery) で YouTube のフィードを取得したい場合、JSON 形式であれば簡単です。 例として http://gdata.youtube.com/feeds/api/videos のフィードを取得する際は次の通り。 $(document).ready(function() { var uri = 'http://gdata.youtube…