タグ

google app engineに関するdotredのブックマーク (48)

  • クラウドマップ開発ブログ » Google App Engine に挑戦

    クラウドマップのAPI化を推し進めるための選択肢として、今日はGoogle App Engine (GAE)に挑戦しました。ひとまず、所感や最初の手続き、はまった点などをblogにまとめてみます。 1.GAEの登録。 数ヶ月前に発表された当時は、登録が定員に達していたので使用をあきらめていたのですが、今回はすんなり登録できました。基、携帯認証です。登録すると、固有のアプリケーション(ウェブサイト)が(現時点で)最大10個まで使用できます。 2.チュートリアルを一通りこなす。 GAEの開発は少し特殊です。まずSDKをインストールして、それでできたフォルダ上に、プロジェクトを作成します。そのプロジェクトのフォルダ内でいろいろファイルを作成します。ローカルサーバーで行う場合は、dev_appserver.pyでサーバーを立ち上げれば、すぐにプロジェクトのアプリケーションを見ることができます。フ

  • App Engineのユニーク制限を正しく理解しよう - ひがやすを技術ブログ

    Google App EngineではRDBMSのようなUnique Indexをサポートしていません。ユニーク制限を実現する場合は、トランザクション中でKeyを使ったgetとputを組み合わせる必要があります。 ここでは、email addressがユニークだったらそれを確定してtrueを返し、そうでない場合にはfalseを返すコードを考えます。 最初にトランザクションを使わないコードを見てみましょう。KeyFactory.createKeyの最初に引数は、kindといってテーブル名みたいなものです。 public boolean putUniqueEmailAddress(String value) { DatastoreService ds = DatastoreServiceFactory.getDatastoreService(); Key key = KeyFactory.cr

    App Engineのユニーク制限を正しく理解しよう - ひがやすを技術ブログ
  • Google App Engine入門:Datastore上で「ユニーク制限」を実現する方法

    Google App Engine のDatastoreには、通常のリレーショナルデータベースと比べた時にいくつかの制限があるが、その一つが「このプロパティの値は常にユニークでなければならない」という指定(ユニーク制限)ができないことである。 Invoice IDのように自動生成するものであれば、アプリケーション側でなんとかすることも簡単だが、メールアドレスやハンドル名など、ユーザーが入力するものになると、ユニークであることをきちんと判定した上でEntityを作ることが必要になる。 もちろん、単純に「有無をチェックして、なければ作る」というプログラムではスレッド間の競合に対応できないので、そこはトランザクションを使ってアトミックに処理をする必要がある。 App Engine上でトランザクションを実現するには、エンティティグループという仕組みを使って行うが、気をつけなければいけないのは、エン

  • GAE Python で Task Queue - eggmanの日記

    クラウドしたいということで、Google App Engine で遊びはじめた。 まず、たくさんのデータを登録するために、PythonでTask Queue APIを使ってみた。 例の動作内容 OPMLを取得する OPMLのXMLをperseしてmemcacheに入れる。 200件ごとに分割してTask Queueに登録する。 Task Queueに登録すると勝手に、CPUに割り当てて並列実行してくれる。無料版の場合、最大5個まで同時実行してくれる。並列に実行しているのを見ると楽しい。 DataStoreへの登録は1-10件/1秒らしく、200件で24秒かかる。分割を250件にすると30秒を超えてTaskが途中でkillされる。 DataStoreに5000件登録するだけで、無料版のCPU時間の2%を使ってしまう。ということは、無料版だと25万件登録するとCPU時間のQuota/1dayに

    GAE Python で Task Queue - eggmanの日記
  • GAEのテスト方法まとめ中(未完) - Keep on moving

    探してみたら意外と見つからなかったので軽くまとめてみます。 激しく自分の備忘用まとめです。 Google App Engineでテスト駆動開発を行うための3つのTips — TRIVIAL TECHNOLOGIES 2.0を参考に今回は「その2 : テスト用のstub*1を使う」をやってみました。*2 試した題材はGoogle App EngineでのMemchaceの排他処理を書いてみるテストです。 ソース ソースは以下にあります。 http://bitbucket.org/ehren/gae_memcachespinlock/ フォルダ構成 root |--------main.py | |--------memcachespinlock.py | |--------\test | |--------各テストファイルを格納 サンプル import os import sys impor

    GAEのテスト方法まとめ中(未完) - Keep on moving
  • JavaとPythonでGoogle WaveのRobotを作るには(1/4)-@IT

    株式会社鳥人間 郷田まり子 2009/10/22 ついにプレビュー公開が始まった、リアルタイム&(ポーリングによる)擬似プッシュ型のコミュニケーションとコラボレーションのプラットフォーム「Google Wave」の特集です。その概要と「Gadget」「Embed」「Robot」という3つの拡張APIを使ったWaveの作り方を徹底解説します Google WaveのRobotをGoogle App Engineに作る 前編の「プレビュー公開が始まったGoogle Wave「超」入門」では、Google Waveの概要や、クライアントサイドのGadgetとEmbedについて解説しました。後編の今回は、クラウドサイドのRobotについて解説します。 前編でも説明しましたが、Robotは一般参加者と同列の参加者として、Wave上で発言をしたり、画像を張ったりと、自動でコミュニケーションするソフトウ

  • GAEでTwitter botを作った - すぎゃーんメモ

    初めて、Twitter botなるものを作ってみた。 http://twitter.com/zenra_bot 公式ページ:http://zen-ra.appspot.com/ フォローするとフォローし返します フォローを外されると同様にフォローを外します フォロワーの発言を拾って、勝手に全裸に書き換えます 例:「@sugyan が全裸で言った: ********」 非公開の発言は拾わないようにしています。 たまに独り言もつぶやきます 実装 Google App Engine(Python)で作りました。 ソースコードはGitHubにて公開しています。 GitHub - sugyan/Zenra: 全裸にする 基的にcronでフォロワーのチェック&更新、つぶやきを行っているだけ。 特に外部のライブラリを使わずにGAEのurlfetch APITwitter APIを直接叩いたり。 一番

    GAEでTwitter botを作った - すぎゃーんメモ
  • Kay 3.0.0 ドキュメントへようこそ — Kay v3.0.0 ドキュメント

    Kay 3.0.0 ドキュメントへようこそ¶ このドキュメントは最新版です。古いバージョンのドキュメントは下記をクリックしてください。 http://kay-docs-jp.shehas.net/1.1.0/ 目次: 1. Kay チュートリアル 2. デバッグ 3. settings (設定ファイル) 4. 管理用スクリプト 5. URL マッピング 6. View の定義 7. Jinja2 を使用する 8. ユーティリティ関数 9. Pagination 10. デコレーター 11. 認証の設定 12. セッションを使用する 13. フォームの使用方法 14. メッセージ国際化 15. ダンプとリストア 16. リクエストオブジェクトとレスポンスオブジェクト 17. ミドルウェア 18. 組み込みミドルウェアリファレンス 19. Test の実施 20. kay.utils.form