gae アプリ 開発メモ

Google App Engine アプリの開発メモ / 言語: python, javascript / ビギナー

2012-02-18から1日間の記事一覧

リスト表記

どれもリストを生成する方法。 集合を1つ1つ処理するだけなら for 文が適切。 結果としてリストが欲しいときは便利。すべての値を加工したものをリストで返す result = [func(x) for x in list] 条件にあった値を部分リストとして取得する result = [x for…

リスト

基本 list = [0, 1, 2, 3] n番目の要素の参照 value = list[n] 部分リストの取得 # [first, last)の部分リストを取得する values = list[first:last] 追加 list = [] list.append(0) list1 += list2 更新 # n 番目の要素を更新する list[n] = value 削除 # n…

ジェネレータ式

ジェネレータとは for 文を使って1つ1つ値を返すもの。 for value in generator: foo(value) よく使う range() はジェネレータの一つ。 マジメにジェネレータを書くのはまた後述。 # 関係ないけど、「後述」って「こうじゅつ」って読むんだ。初めて知った……

辞書の使い方

備忘録。 ココが元ネタ。辞書オブジェクト dict = {key: value} 辞書オブジェクトから値を取得する # この書き方は key がないと KeyError 例外を送出する value = dict[key] # こっちは key がなければ default を返す value = dict.get(key, default = Non…

memcacheの用途(2) DataStoreのキーに対応するランダムな文字列を管理する

DataStoreのキーは文字列化できる。 けど、base64でデコードするとエンティティ名やら親子関係やらが簡単にわかっちゃうから、できるだけ外部に公開したくない。そこで 『DataStoreのキーに対応する'ランダムな文字列'』 を生成して、外部にはこれを公開する…

memcacheの用途(1) とあるQuery結果を保存する

王道な書き方。 Google App EngineのMemcache の使用方法より。 def get_data(): data = memcache.get("key") if data is not None: return data else: data = self.query_for_data() memcache.add("key", data, 60) return data

memcacheの概要

memcacheはメモリ上で管理される key-value 型のデータ管理システム。概要 キー文字列:値を管理できる。あくまでキャッシュなので、いつデータが失われるかわからないモノとして考える。 有効期限(秒)を指定すると、その時間後にはデータが失われる。値には…