Code Archive Skip to content Google About Google Privacy Terms
GAEを導入しようとしてダウンタイムがどの程度なのか気になったので、 公式アナウンスをもとにまとめた(2009/04 -2010/05)。 雑感 ざっくり 定期メンテナンス:毎月1回程度。最近は日本の早朝に行われることが多い。5:00AM-6:00AM(13:00PST-14:00) DS障害:1ヶ月 〜 3ヶ月に一度はありそう。数時間書き込み停止。 App障害:最近はほとんどない Cron障害:最近はほとんどない その他API障害:ほとんどない なのかな。 要するに 毎月数時間、突発的に起こるDS書込遅延を受け入れられるかどうか がGAE採用するかどうかのポイントになりそう。 例えば、SNSやCGMサイトとかreadがwriteよりも圧倒的に多いサイトはOKだけど、ECサイトとか業務アプリみたいに書き込みが直接課金やサービスの質に繋がってるサイトでは慎重に考えた方がいい。お金を払ったら多
There is a caching reverse proxy in front of Google Appengine that can decrease both the cost and response time of your application. Now, I read a lot of articles about Appengine, but I only discovered this last week by accident. Here's how you use it: set the "Cache-Control" header in your HTTP response to "public; max-age=300;". That will instruct the "Google Frontend" to cache the response for
昨日一昨日、Google App Engine (GAE)に関する日本最大の勉強会(だと思う)appengine ja night #7 (ajn7)が行われました。 その中で『ランキング問題』が話題に上がりました。『ランキング問題』とは、何十万件もの点数のデータがあるときに、App Engine上で、「◯点は何位です」と高速に求めることは難しい、という問題です。(◯ページ目を表示、というページングもこれと同じ種類の問題になります。) ajn7では「上位でない限り正確な順位は必要ないのではないか」という話になりましたが、Skiplistを用いた検索アルゴリズムを使えば正確かつ高速に順位を求めることができるのではないかと思い、実装&検証してみました。 ランキング(順位取得)のデモ 下記ページで順位取得のデモを動かしています。スコア(点数)を入力すると順位と取得にかかった時間が表示されます(時
Alasdair AllanConsultant in Exeter, United Kingdom Alasdair Allan is a scientist, author, hacker, and journalist. He currently works for Raspberry Pi, and is the person responsible for their technical documentation. He is the author of a number of books, and sometimes also stands in front of cameras. You can often find him at conferences talking about interesting things, or deploying sensors to me
Announcing a robust datastore bulk update utility for App Engine Posted by Nick Johnson | Filed under app-engine, python, coding, tech, bulkupdate, datastore Note: This library is deprecated in favor of appengine-mapreduce, which is now bundled with the SDK. I'm pleased to announce the release of bulkupdate, an unoriginally-named library for the App Engine Python runtime that facilitates doing bul
forumのほうでRyanさん(中の人)が解説してくれたのでちょっとわかった. write の際にはprimary replica に書き出し,それがsecondary以降に伝わるようになっている. strong consistency readでは常にprimary replica から読み出す.secondary 以降には伝播していないかもしれないのでprimaryから読み出さないと内容が最新である保証がないから.primaryがこけていた場合には,読み出しは失敗する. eventually consistency readではprimary がこけていた場合に,secondary 以降のreplicaからの読みだしを許す.この場合内容が最新であることは保証されない.また,読み出し自体も遅くなる.なぜならsecondary replicaは遠くにあるので. つまり,eventually
Over the past couple of days, i have been experimenting a lot with Google App Engine; I am thrilled with the platform in general (both the Python as well as the Java Runtime). I use the lower level Java Datastore API because it gives me the convenience of storing data in a completely schema-less way. However one caveat is that while the Datastore is schema-less; index definitions need to be upload
(Up to Software) Overview Benefits Screenshot Try It Online Demo Download Browse Source Code Documentation Overview App Engine Console is a tool to aid development on Google App Engine. It is a traditional interactive Python session running in the server, which you use from a web browser. It is designed to be embedded within other applications to allow convenient testing, debugging, and maintenanc
2009/11/05追記ひがさんより指摘を頂いて、30秒制限に関する補足を本文中に青字で追記しました。いつもありがとうございます、助かります>ひがさん ここから本文 タイトルの処理について、いくつかノウハウを書いておきます。ポイントは以下の2点。 全てのエンティティにスキーマバージョンを保持する ローカル環境からデプロイ環境へ直結してバッチ処理を実行する事で、30秒制限なんて無視してしまう 実例をもとに説明してみます。最近、appengine java night用のまとめページとかに使おうとしているサイトを運営していて、そこに「TwitterでAppEngine関連についてつぶやかれた内容を収集する」という機能を実装しました。しかし、つぶやきを保存する際の投稿者の情報として「Name」を保持しているものの「ScreenName」を保持しておらず、投稿者のタイムラインページへのリンクを作成
Categories Android (19) AppEngine (53) Art of Programming (4) BigQuery (2) Business of Software (11) ColdFusion (4) Dart (10) Eclipse (11) Economics (4) Ergonomics (6) GIN / Guice (13) Google Cloud Platform (4) Google Web Toolkit (81) Headsmack (11) IntelliJ (1) Java Data Objects (4) JavaServer Faces (16) Model-View-Presenter (23) PC Tech (20) Photography (4) Teaching (1) Travel (2) Web App Securi
Google App Engineの開発ではPythonを使います。GAEを使ったWebアプリの開発でテスト駆動開発を行う際にも,Python的なユニットテストの文脈を活用できます。 ただし,GAEでユニットテストを行うためにはいくつかのツールやトリックが必要です。ここでは,そのテクニックを簡単に紹介します。 その1 : NoseGAEを使う Pythonのテスト用ツールにNoseがあります。このツールは,複数のディレクトリを渡り歩いて,複数のテストコードを一気に実行してくれる便利なツールです。 NoseのプラグインNoseGAEをインストールすることで,GAEアプリのテストを楽に行うことができます。「nose --with-gae」というようにオプション指定をすることでNoseGAEを利用できます。NoseGAEでは,テストコード上でGAEのモジュールやパッケージをインポートするために必
Google App Engine SDK for Python には、単体テスト用に各サービスのスタブが提供されています。このスタブと unittest を使えば、ローカル環境で GAE 用アプリの単体テストが可能です。 GAE/Python で unittest を使って、単体テストを行うサンプルは次の通り。 #!/usr/bin/env python #encoding: utf-8 import os import sys # 環境設定 # これをしないと GAE のモジュールをインポートできない。 # テスト対象のクラスも同様。 # ここを自分の環境に合わせて書き変えます GAE_HOME = 'Google App Engine SDK ディレクトリのパス' PROJECT_HOME = 'アプリケーションのルートディレクトリのパス' # テストで使う GAE のモジュールのパ
Google App Engine上でアプリを作りはじめて約二ヶ月。いろいろと分かって来たこともあるので、自分へのメモも含めてまとめてみる。まずは、Datastoreの話から。 なによりも大切なのはデータベースの設計 あたりまえと言えばあたりまえの話だが、App Engine上でアプリを作る上でもっとも大切なこと(=頭を使うべきところ)は、データベースの設計である。特にリレーショナル・データベース(RDB)上でのアプリ作りに慣れた人には、大きな「発想の転換」が必要なので、ここは注意が必要。 特に絶対にやっては行けないのは、 将来RDB上へ移行できるようにレイヤーを作って、その上にアプリを作る RDB上に作ったアプリをデータモデルを大幅に変更せずにApp Engine上に移植する RDBを前提に設計されたフレームワークをApp Engine上に載せて、その上にアプリを作る など。App En
Google App Engine(GAE)の可能性はJavaをサポートしたことによってその可能性を飛躍的に向上させた。JavaVM上で実装された言語であれば何でも動作する。JRubyもその一つで、Ruby on RailsもGoogle App Engine上で動作する。 GAEのパワーを素早くゲットする とは言えやはりマイノリティだけに色々な準備が必要とされていた。そのため敬遠していた人も多いだろうが、Rails on GAEによって大きく舵を切ることになりそうだ。 今回紹介するオープンソース・ソフトウェアはRails on GAE、GAEでRuby on Railsを動かすためのプラグインだ。 Rails on GAEはRuby on RailsをGAEで動作させるために必要なタスクを予めインストールすることで、後は順番に従って進めるだけでJRuby on Railsができるようにな
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く