26
AppEngine これどうする? 中垣健志 @nakaken0629 2011/9/10 東海 GTUG

東海GTUG 20110910発表資料

Embed Size (px)

DESCRIPTION

2011/9/10に行う予定の東海GTUGの発表資料です。

Citation preview

Page 1: 東海GTUG 20110910発表資料

AppEngine これどうする?

中垣健志@nakaken0629

2011/9/10 東海 GTUG

Page 2: 東海GTUG 20110910発表資料

自己紹介

名前: 中垣健志所属: 東海 GTUG 、Python 東海

FLOSS 桜山、 web2py-Japan理想: OSS やクラウドで華麗なお仕事現実: 商用や C/S で地味なお仕事

Page 3: 東海GTUG 20110910発表資料

著書紹介

Page 4: 東海GTUG 20110910発表資料

.NET もやってます

Page 5: 東海GTUG 20110910発表資料

このセミナーの目標

本を書く中で得た知見の共有結局わからなかった謎を、みんなで解決解決できない時は、エスカレーション?

Page 6: 東海GTUG 20110910発表資料

SMS での認証について

アプリを公開するには、 Google アカウントを携帯で認証する必要がある同じ携帯で、複数の Google アカウントを認証できるの?

番号と携帯アドレスの二つまでいける?一度使った番号と携帯アドレスは、別の認証をしようと思っても返事がない

p17書籍のページ→

Page 7: 東海GTUG 20110910発表資料

開発サーバが停止しない

以下の手順では、修正が反映されない!Eclipse 上で開発サーバ起動して実行開発サーバを停止してプログラム修正開発サーバ再起動して実行

ブラウザ落とせば OK?Eclipse 落とせば OK?

p31

Page 8: 東海GTUG 20110910発表資料

JSTL の URI に注意

動作する URI (JSTL1.1)http://java.sun.com/jsp/jstl/core

動作しない URI (JSTL1.0)http://java.sun.com/jstl/core

ネット上の JSTL サンプルは 1.0 も多いので、コピペる時に気をつけよう

p52

Page 9: 東海GTUG 20110910発表資料

コラム1「書籍のコラム」

本の中にあるコラムは、レイアウト上の空きスペースを埋めるために、編集の人に「ここにコラムを入れられませんかねぇ?」といわれて作られる、かすみ草のような存在です。

Page 10: 東海GTUG 20110910発表資料

XMPP はサブセット p76

RFC3920 、 RFC3921ステータス管理 , 顔写真の表示 , 一斉配信→できない

管理者向け情報送信に特化?最近は API が増えている

Page 11: 東海GTUG 20110910発表資料

タスクキューの設定値 p126

タスクは「バケットトークン方式」で処理される

rate... タスクの実行間隔bucket-size... 同時実行タスク最大数

→間違い?bucket-size は限りなく大きくしていいのか?最新のタスクは、設定項目が増えている

Page 12: 東海GTUG 20110910発表資料

データストアの使用量 p112

データサイズに比べ使用量が多いのではという意見がちらほらぐぐるちゃんの場合130Mで52%あれ、無料分は 1GBytes じゃなかったけ?

Page 13: 東海GTUG 20110910発表資料

コラム2「えりと早雲」

この二人は、執筆の本当に初期に、結城さんの「数学ガール」の二番煎じを狙ったのですが、編集の人に速攻で止められた名残です w

Page 14: 東海GTUG 20110910発表資料

開発サーバの DB 初期化 p126

テストで投入したデータを削除したい自動で ... 起動オプションに、– clear_datastore を指定する手動で .../war/WEB-INF/appengine-generated/local_db.bin を削除する

どちらもおすすめ私は後者を使用していた

Page 15: 東海GTUG 20110910発表資料

スマートフォン開発 p203

デフォルトでは開発サーバは、ローカルマシンからしか接続できない

Androidや iPhone 用のサイトのテストが実機じゃできない?

開発サーバ起動時に以下の引数追加--address=0.0.0.0

Page 16: 東海GTUG 20110910発表資料

twitter4j p295

校了直前に SDK が 1.4.3 にバージョンアップしたら、 twitter4j が動作せず!

twitter でつぶやいたら、 twitter4j 作者の@yusukey さんが反応してくれました。

最新 twitter4j は最新 App Engine対応

Page 17: 東海GTUG 20110910発表資料

コラム3「どっちが前だ?」

Page 18: 東海GTUG 20110910発表資料

データストアの遅延読込 p174

親エンティティに対する子エンティティは、遅延読み込みされる

parent.getChilds();defaultFetchGroup=”true”で対応

クエリの結果は、遅延読み込みされるquery.execute();detachCopyAllメソッドで対応

JSP では生エンティティを使わない?

p457

Page 19: 東海GTUG 20110910発表資料

バージョンの変更 p328

Eclipse では作成時にプロジェクトで使用する SDK のバージョンを指定するが、これは後で変更可能

一度 AppEngine の設定を OFF にする/WEB-INF/lib内の jar を削除 ← 多分重要新しい AppEngine SDK を指定するJDOファイルの上書き保存 ← 重要

ごみは消すのがよい

Page 20: 東海GTUG 20110910発表資料

エンティティ取得方法 p320

ランダムにエンティティを取得したい乱数フィールドを用意して対応

期間内でランキングを表示したい日付+ランクの複合フィールドで対応

制約は工夫次第で何とかなる

p399

Page 21: 東海GTUG 20110910発表資料

コラム 4 「絵師のこだわり」

顔が”G.A.E”カメラがあれ

書籍内の画像は、クリエイティブ・コモンズの表示 3.0 ライセンス

Page 22: 東海GTUG 20110910発表資料

OpenID p384

OpenIDに関する情報の取得getEmail()getFederatedIdentity()getNickname()getUserId()

ほとんどの関数は null か人工キーを返すOpenIDを元に独自のユーザ管理が必要

Page 23: 東海GTUG 20110910発表資料

チャネル p443

JavaScript の知識が必要一斉配信はできない接続ユーザーの管理は、アプリケーションで行う必要があるIE でメッセージ受信できない ( ローカル )

いまさら IE には対応しないだろうなぁこれも、最新版では機能追加されている

Page 24: 東海GTUG 20110910発表資料

Billing History

楽勝で無料だったから気にしなかったけど、数値の単位って何?

Page 25: 東海GTUG 20110910発表資料

書籍内でできなかった事

本当にスケールするのか?テストにはお金がかかりそう

落ちたときのオフライン対策HTML のキャッシュ設定HTML5のローカルストレージ

パフォーマンス追求低レベル API や slim3 は追いかけられなかった

Page 26: 東海GTUG 20110910発表資料

最後に

dotcloudやfluxflexといった、新しいPaaS環境が登場していますでも、自動で完全なスケールを実現するPaaS環境は AppEngineだけだと思います(CAP 理論)オンリーワン PaaS で、これからも発展してください!突然のサービス停止はご勘弁を w