appengine ja night 16 bt frontend cache control

Post on 24-Jan-2015

2.671 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

appengine ja night#16Beer Talk

Front Front Front Front EndのEndのEndのEndのCache ControlCache ControlCache ControlCache Controlでででで

CPUCPUCPUCPU使用量を減らす使用量を減らす使用量を減らす使用量を減らす

source: http://www.flickr.com/photos/katemonkey/122489910/

�� TwitterTwitter�� @bluerabbit777jp@bluerabbit777jp

�� はてなはてな

�� あおうさ@日記あおうさ@日記

�� http://d.http://d.hatenahatena..nene..jpjp//bluerabbitbluerabbit//

�� 仕事はSI系仕事はSI系

�� java, ASP.Netjava, ASP.Netがが多い多い

自己紹介自己紹介自己紹介自己紹介

devsumi2011

LT大会2011大会2011大会2011大会2011

ベストベストベストベストバリューバリューバリューバリュー賞賞賞賞

表彰状表彰状表彰状表彰状

さいきん作ったの

�� インストールするだけで地震の際にどこで、インストールするだけで地震の際にどこで、震度いくつの地震があったのかを通知震度いくつの地震があったのかを通知

earthquake Notify (緊急地震速報)

nanapiで紹介されたで紹介されたで紹介されたで紹介された

インストール数インストール数インストール数インストール数1万を万を万を万を

超えた辺りから超えた辺りから超えた辺りから超えた辺りから

課金が一日課金が一日課金が一日課金が一日7ドル超え・・・ドル超え・・・ドル超え・・・ドル超え・・・

課金が一日課金が一日課金が一日課金が一日7ドル超え・・・ドル超え・・・ドル超え・・・ドル超え・・・

��11ドルドル8080円円

��11日日77ドルはドルは560560円円

��560560円×円×3030日=日=16,80016,800円円円円円円円円

CPU Timeでででで6.53ドルドルドルドル

Cache Control使えばいいのに・・使えばいいのに・・使えばいいのに・・使えばいいのに・・

Cache Controlでででで0円に円に円に円に

earthquake Notifyの仕組みの仕組みの仕組みの仕組み

�� ChromeChrome拡張から定期的に拡張から定期的にajaxajax通信して通信してサーバに地震がないかチェックするサーバに地震がないかチェックする

�� 地震があったら通知地震があったら通知

earthquake Notifyの仕組みの仕組みの仕組みの仕組み

�� サーバは最新の地震情報をサーバは最新の地震情報を11レコードレコードだけ保持し、だけ保持し、JSONJSONをを返す返す

Key key =Key key = DatastoreDatastore..createKeycreateKey(Quake.class, 1);(Quake.class, 1);

Quake entity =Quake entity = DatastoreDatastore.get(Quake.class,.get(Quake.class,  key);key);

String String jsonjson == QuakeMetaQuakeMeta.get()..get().modelToJsonmodelToJson(entity);(entity);

response.response.getWritergetWriter().write(().write(jsonjson););

課金が一日課金が一日課金が一日課金が一日7ドル超え・・・ドル超え・・・ドル超え・・・ドル超え・・・

��11ドルドル8080円円

��11日日77ドルはドルは560560円円

��560560円×円×3030日=日=16,80016,800円円円円円円円円

App Engine Stack

App Engine Stack

App Engine Stack

App Engine Stack

App Engine Stack

App Engine Stack

App Engine Stack

App Engine Stack

App Engine Stack

earthquake Notifyの仕組みの仕組みの仕組みの仕組み�� サーバは最新の地震情報をサーバは最新の地震情報を11レコードだけ保レコードだけ保

持し、持し、JSONJSONをを返す返す

�� Front EndFront Endにに11秒キャッシュさせる秒キャッシュさせる

Key key =Key key = DatastoreDatastore..createKeycreateKey(Quake.class, 1);(Quake.class, 1);

Quake entity =Quake entity = DatastoreDatastore.get(Quake.class,.get(Quake.class,  key);key);

response.response.setHeadersetHeader("Cache("Cache--Control", Control",

                                        "public, max"public, max--age=1");age=1");

String String jsonjson == QuakeMetaQuakeMeta.get()..get().modelToJsonmodelToJson(entity);(entity);

response.response.getWritergetWriter().write(().write(jsonjson););

App Engine Stack

App Engine Stack

App Engine Stack

まとめ

まとめまとめまとめまとめまとめまとめまとめまとめ

�� 工夫すれば課金は抑えられる工夫すれば課金は抑えられる

�� Front EndFront Endののキャッシュは有効な場合が多キャッシュは有効な場合が多い。利用できないかまず検討い。利用できないかまず検討�� 例)ニュースサイトの例)ニュースサイトのTopTopページページ

��   画像の配信  画像の配信

��     RSSRSS配信配信

�� TwitterTwitterは強い見方は強い見方�� 有識者がアドバイスをくれる有識者がアドバイスをくれる

�� @@pomupomu03250325さんさん に感謝!に感謝!

�� ハッシュタグはハッシュタグは ##appengine appengine からから ##gaeja gaeja にに

top related