作業
最低限の入力を受付、処理し、結果を表示するプロトタイプの作成。 2011/11/16 完了。現在のソース: source20111116.zip
get() では 入力フォームのみを表示。post() ではデータを処理して結果を表示。これらをまとめて1つのアクティビティに1つのハンドラを対応付ける感じで設計・機能追加していく。
データストアの使い方を見直した。[a, b, c, d] = G かつ a, b, c, d < 2^20 が成り立つような使い方を想定しているため [a, b, c, d] を List として保存するのではなく a + 2^20 b + 2^40 c として保存し、出力の時だけデコードすることにした。この方が更新も簡単になる。また、ReferenceProperty による逆参照を活用することにした。 improved_DBusage.lzh
デプロイしてみた: http://mjsmanager.appspot.com/test 入力: 1位から順に4人のプレイヤーの会員番号、持ち点
出力: 入力されたプレイヤーの通算成績 (表記方法の説明はここでは行わない)。
フォームからアップロードされたファイルの中身を処理する方法を調べ、機能を実装する。 ファイルの取得の仕方からしてわからない。
1つのリクエストで使える時間やデータの読み書きは厳しく制限されている。暇なときに勝手に処理してくれるタスクキューという魔法があるらしいので、これを使えるようにする。
これは未着手。中間発表後に取り掛かるか?
BlobStore を使ってアップロードされたファイルを丸ごと保存し、後で読むことができる。これを使えばよいと思われるが、アップロード URL が存在しないと言われてしまう。 アップロード URL の生成ミスだった。パス、スクリプトのファイル名、クラス名がバラバラで混乱していたため、これを整理して命名し直した。アップロードされたファイルの要約を表示し、バッチ処理の開始かキャンセルかを選ぶところまでできた (バッチ処理開始/継続/キャンセルの内容は未着手)。
フォームで要求されたデータに基づいて処理した成績を見せる機能を実装する。これは特に新しい知識なしにできると考えられる。 完了: http://mjsmanager.appspot.com/view_score . 各行が1つの成績リクエストとなる。1つの成績リクエストは、コンマで区切られた3つの自然数からなる。プレイヤー番号のみを与えるとそのプレイヤーの通算成績を出力する。2つ組を与えるとそのゲーム数以降の通算成績を出力する。3つ組を与えると後2つがゲーム範囲の指定となる。 整数3つさえ指定してくれれば、適当に解釈してくれる仕組み。
他にも色々な面白いデータを取り出す方法を考える。
入出力を洗練させる (小数の表示桁数を統一するとか)。
(last but not least) たぶん細かいバグがまだあるから取る。
コメント
最終更新:2011年11月19日 22:42