appengine ja night #5 #ajn5
@ashigeru #slim3 gtxをまじめに理解しようとすると2PCの知識とか必要になり結構大変なのでイントロとしてはあんな感じかなと思っています #ajn5 ではかなり突っ込んだ話をするつもりです
2010-02-10 19:40:44scalaは無理っぽいからトランザクション繋がりで http://bit.ly/azgMGH これの話にさせてください #ajn5 のビールの件。 #appengine
2010-02-10 22:33:01本日は #appengine ja nightです。atndに参加登録したけど行けそうに無い!という方は補欠の方のためにも必ずキャンセルをお願いします。 http://atnd.org/events/2950 #ajn5
2010-02-12 10:57:05時間配分はどうしよう?→ひがさん「1時間1時間にしましょう。俺が後でします、俺のヤツは終わらないから」 #ajn5
2010-02-12 19:03:26PostにTagを保持する時、正規化するとTag{Key,String}でPostエンティティにTagのKeyのリストを持つ。これだとappengineでは検索の時に面倒になる。Postに直接Stringのリストを持つのが良い。基本。 #ajn5
2010-02-12 19:10:45[Q]Stringのリストでタグを保持した場合、タグ名を変更したいときどうしよう?→…各モデルを回して処理するしか無いですね #ajn5
2010-02-12 19:12:10ひがさん:後で変更する可能性があるのであれば、俺ならKeyで保持するKeyのGetは早いし。→変更の頻度によって設計を変えましょう。 #ajn5
2010-02-12 19:14:55tmatsuo:ちょっとしたTipsを。実はkindの名前やプロパティの名前も、コード上の属性名やクラス名とは別に命名する事ができる。GQLの時は別途命名した名称を使う必要がある。…つまり、使いづらい!? #ajn5
2010-02-12 19:20:33ひがさん:カインドの属性名もmetaデータとして保持されるので、短い属性名を使うことでデータストアの消費量がそこそこ節約できる #ajn5
2010-02-12 19:22:02slim3も当然属性名カインド名に別名をつける事ができるし、通常のタイプセーフクエリを使ってりゃ別名を意識する必要もない #ajn5
2010-02-12 19:23:35[Q]インデクス対象にしない、と指定した属性を、やっぱインデックス対象にしたときは?→[A]インデクス対象にした以降のものだけインデクスが作成される。インデクスしない状態で保存したエンティティは再度PUTしなおさないとインデクスが生成されない。 #ajn5
2010-02-12 19:26:08tmatsuo:インデクスがつぶれる事がある→[Q]シングルプロパティインデクスでもありますか?→[A]あると思う。CSVからがんがんImportしたりするとなると思う。誰かそーなったら教えて #ajn5
2010-02-12 19:28:01indexの作成が失敗したときは、getしてputしなおすとindexが作られる。大量データ投入したときは、全件INDEXが作成するか確かめて、作られていなければ作るような仕組みを作る #ajn5
2010-02-12 19:30:41ListPropertyに対してコンポジットインデックスをつくってしまうと、全ての組み合わせに対するインデックスエントリを作成してしまうため、破綻(爆発)する! #ajn5
2010-02-12 19:33:58tmatsuo:クエリはequality filterでしのいで、メモリ内でソートまたはクライアント側でソート、とかでしのぐしかないかも。→asigeru:Keyのnameに時刻を埋め込んだりしたらどうか→tmatsuo:お、いけるかもね #ajn5
2010-02-12 19:42:45pythonではimportはファイルの先頭に書くのが普通。でもこれはappengine的にはむだ。appengineの場合は関数の中で必要なモジュールのみimportしよう(Lazy loading)。 #ajn5
2010-02-12 19:47:24@matsuu アプリケーションが処理されるインスタンスはシングルスレッド。インスタンスがspinupしている間に到着したリクエストは一旦Frontendsのキューに追加されて、その中での寿命が10秒。超えるとRequestAborted云々のエラーが発生する。 #ajn5
2010-02-12 19:49:12TransactionalTaskQueue→transactionが成功した時のみTaskQueueを追加する。transactionが失敗したときはTaskがQueueに追加されない、という機能。 #ajn5
2010-02-12 19:53:55