Google AppEngine 3アプ目
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2010/02/25(木) 09:32:03ID:5mUqVSikhttp://code.google.com/appengine/
■過去スレ
Google App Engine
http://pc11.2ch.net/test/read.cgi/php/1207754942/
Google App Engine 2アプ目
http://pc11.2ch.net/test/read.cgi/php/1243654802/
■リンク集
はてなブックマーク
http://b.hatena.ne.jp/t/gae
http://b.hatena.ne.jp/t/Google%20App%20Engine
Delicious
http://delicious.com/popular/gae
http://delicious.com/popular/googleappengine
■参考サイト
App Engine ギャラリー
http://appgallery.appspot.com/
ドキュメント
http://code.google.com/appengine/docs/python/overview.html
0252Zeno ◆5nZQbNmQPs
2010/03/28(日) 20:51:28ID:M8LbN6As>>251
以下の可能性が考えられる:
1. db.GqlQuery("SELECT * FROM hoge LIMIT 10") の結果はそもそも
pickle できない。
2. db.GqlQuery("SELECT * FROM hoge LIMIT 10") の結果は
pickle できるが、pickleされたオブジェクトサイズが上限である
1メガバイトを越えている。
どちらにしても、以下のようにしてキャッシュが
成功したか否かを確認できる:
cache_success = memcache.set("query", Queries, 10000)
logging.warning( 'Memcache: %s' % ((cache_success and 'success') or 'failure',))
自分で db.GqlQuery("SELECT * FROM hoge LIMIT 10") が
pickle できないかできるかを試してみても良い。
いつまで迷走してるんだ。早くやれ。
0253>247-248
2010/03/28(日) 22:56:10ID:???GQLをキャッシュするのではなく、素直にHTML出力部をcacheする
ようにしました。Zenoさんいろいろありがとう。
さてさて、お陰様でGoogle App EngineでWebサービスつくってみましたー。
pugyatter m9(^Д^)プギャ---ッ
http://pugyatter.appspot.com/
0254nobodyさん
2010/03/28(日) 23:05:40ID:???見にいったらエラー出たぞ
BadQueryError: Parse Error: Expected no additional symbols at symbol /Name
0257nobodyさん
2010/03/28(日) 23:32:04ID:???0258>247-248
2010/03/29(月) 00:07:12ID:???本当ですねー。素人プログラマなんで大目に見てください。
さてさて、GQLのDBって「ID/Name」のカラムでソートできるのでしょうか?
このカラムってオートインクリメントになるのだろうか?
0259nobodyさん
2010/03/29(月) 02:01:30ID:???0260nobodyさん
2010/03/29(月) 07:33:09ID:???0262nobodyさん
2010/03/30(火) 18:01:29ID:???JRuby on Rails でアプリ作ってます。
これをデプロイしてブラウザで見ようとすると、たいてい一回目は
「The server encountered an error and could not complete your request.」
のエラーが出てアクセスできません。
ただし、リロードかけると見れます。
これは、Railsが大きすぎるからなんですかね?
やはるSinatraとかじゃないとダメですか?
0264nobodyさん
2010/03/30(火) 18:35:54ID:???0265nobodyさん
2010/03/30(火) 19:04:43ID:???0266nobodyさん
2010/03/30(火) 20:35:19ID:???ひがやすお氏のブログ見た感じ、Railsは現実的じゃないみたい。
Sintara でも使えるけどやっぱりネイティブサポートの Java や Python にくらべると相当辛い。
よっぽどの事情がないかぎりは GAE か Ruby のどっちかを諦めた方が良いと思うよ。今のところ。
ttp://d.hatena.ne.jp/higayasuo/20100319/1268984735
0267nobodyさん
2010/03/30(火) 21:09:00ID:???というか、 Java でも辛いんだけどね。
信頼できて実用レベルなのは Python だけだよ。
0268nobodyさん
2010/03/31(水) 00:30:46ID:???0269nobodyさん
2010/03/31(水) 06:58:43ID:???ttp://code.google.com/intl/ko-KR/appengine/docs/roadmap.html
> Features on Deck
> - SSL for third-party domains
> - Background servers capable of running for longer than 30s
> - Ability to reserve instances to reduce application loading overhead
> - Ability to select different availability vs. latency options for Datastore
> - Support for mapping operations across datasets
> - Datastore dump and restore facility
> - Raise request/response size limits for some APIs
> - Improved monitoring and alerting of application serving
> - Support for Browser Push (Comet) communication
> - Built-in support for OAuth & OpenID
独自ドメインでもSSLが使えるようになる予定がいちばん最初に明記されていてよかった。
0270nobodyさん
2010/03/31(水) 08:04:42ID:???0271262
2010/03/31(水) 09:07:22ID:???ご返答ありがとうございます。
ひがやすお氏の記事は拝見してましたが、それでもできる術はないかと、
悪戦苦闘しておりました。
0273nobodyさん
2010/03/31(水) 16:41:19ID:???0274270
2010/03/31(水) 22:37:47ID:???↓
googleからメール来ない
↓
auのメールにフィルタリングかけてたのが原因っぽい
↓
フィルタリング解除して再度GAEアカウント作成を試みる
↓
エラーメッセージが出る
The phone number has been sent too many messages or has already been used to confirm an account.
↓
googleの問い合わせフォームからエラー解除依頼中←今ココ
0275nobodyさん
2010/04/01(木) 02:12:01ID:???docomo ユーザーだけど同様に SMS フィルタしてて同じ目に遭った orz
0276nobodyさん
2010/04/01(木) 02:22:13ID:???0277nobodyさん
2010/04/01(木) 02:30:57ID:???SMS フィルタ解除したら
リトライで間に合ったみたい
0278nobodyさん
2010/04/01(木) 08:06:14ID:???やっとGAEできるぜヒャッハー!!
Hello,
You're receiving this email because you indicated you'd had some problems verifying your Google App Engine account using SMS. We just wanted to let you know we've enabled your account--you should be able to create applications now!
To start creating applications with Google App Engine, simply follow this link:
https://appengine.google.com/
Thanks!
The Google App Engine Team
0279nobodyさん
2010/04/01(木) 08:44:09ID:???0280nobodyさん
2010/04/01(木) 14:00:35ID:???0281nobodyさん
2010/04/02(金) 17:40:11ID:???必ず確かめるべし、と書いてあったんですが、成功したかどうかはどうやって
確かめるんでしょうか。
0282nobodyさん
2010/04/02(金) 19:12:40ID:???0283nobodyさん
2010/04/02(金) 22:31:10ID:???コレクションってどの種類いれても全部arraylistで返ってくるんですか?
0284nobodyさん
2010/04/02(金) 23:59:07ID:???ローカルサーバでの開発がそこそこ枯れているんなら、実際の運用上は、
com.google.appengine.api.datastore.DatastoreTimeoutException
を投げてこないか見張るだけでほぼ問題ないような
最近のアップデートでは自動的に数回までリトライしてくれるようになったんだっけ?
java.lang.StackOverflowErrorとかjava.lang.OutOfMemoryErrorまで
見張りたいんなら、これはもうThrowableを投げてこないか見張るしかないっ。
0285nobodyさん
2010/04/04(日) 12:22:27ID:???0286nobodyさん
2010/04/04(日) 16:47:34ID:???0289nobodyさん
2010/04/04(日) 23:58:38ID:???メアド変更したら取り放題じゃん
0290nobodyさん
2010/04/05(月) 19:28:29ID:???0291nobodyさん
2010/04/09(金) 22:06:10ID:VePKi7+Ihoge.appspot.comを作ったのはhoge@gmail.comのユーザーだ
みたいな情報って一般人に紐付けされたりする?
0292nobodyさん
2010/04/09(金) 22:47:06ID:???って俺もそれ気になってたなぁ。
多分大丈夫だとは思う。
0293nobodyさん
2010/04/09(金) 22:55:12ID:???0294nobodyさん
2010/04/09(金) 23:10:05ID:???初期の頃は6文字以下も作れたし既にgmail名取られた奴でも作れた
なので多分それは無い
そもそもアプリ共有出来るし紐付けって考えは意味無いと思う
気になるなら別のアプリ名で取り直してhogeは放置しておくのが吉
0295nobodyさん
2010/04/09(金) 23:43:20ID:???といった要件にGAEは向いているのでしょうか?
少し調べた範囲だとタスクキュー使ってデータ分割しながら集計すれば
やれなくはなさそうですが、厳しいですかね?
0296nobodyさん
2010/04/10(土) 06:47:37ID:???0298nobodyさん
2010/04/10(土) 11:14:43ID:???重い処理は10−30秒程度が限界で、それ以上はエラーでるよ。
Queueは非同期処理で利用するものじゃない?
0299nobodyさん
2010/04/10(土) 11:31:53ID:???Google さんからは Scalable な書き方として
データ追加時に一緒に逐次集計しろというお達しがある
0300nobodyさん
2010/04/10(土) 14:32:57ID:???http://gimpo.2ch.net/test/read.cgi/nendai/1269784099/
0301nobodyさん
2010/04/11(日) 11:21:59ID:DpoFQfFhquery = Test.all()
query.filter('code =', target.encode('utf-8'))
query[0].item='ABC'
query[0].put()
とやっても更新される気配がないんですが、
どうすればレコードを更新できますか
0302nobodyさん
2010/04/11(日) 12:37:38ID:???query[0].put()
でうまくいってなさそう。
instance = query.fetch(1)[0] か instance = query.fetch(1)
instance.item = 'ABC'
instance.put()
としたらどうでしょう。
0303nobodyさん
2010/04/12(月) 16:50:03ID:+DZBAaxOimport cgi
print 'Content-Type: text/plain\n'
print '<html><head></head><body><form action="?guid=ON&cmd=regist" method = "post">'
print 'あなたの名前は<br><input type="text" name="name" maxlength="10" istyle="3"><br>'
print '<input type="submit" value="答える"></form>'
f = cgi.FieldStorage()
if f.has_key('cmd') and f['cmd'].value=='regist' and f.has_key('name'):
print 'name=%s<br>' % f['name'].value
ローカルでは動くのにGAE上では値を受け取れないのはなぜですか
0304nobodyさん
2010/04/12(月) 17:26:16ID:???0306nobodyさん
2010/04/13(火) 11:12:29ID:???間違って作った奴消してもまた10個作れる?
それとPV月500万までって事だけど
一つのアプリに対して500万PV?
それとも10個全部あわせて500万PV?
0307nobodyさん
2010/04/13(火) 13:15:18ID:???0308nobodyさん
2010/04/13(火) 21:53:37ID:???0309nobodyさん
2010/04/14(水) 10:10:53ID:???消すお願いをしてから3日くらい掛かるけどw
0310nobodyさん
2010/04/14(水) 16:39:10ID:???( ・ω・) dd
/ ~つと)
0311nobodyさん
2010/04/14(水) 20:33:23ID:???誰かヤフオクでAppengineのアカウント売ってくれ。
0312nobodyさん
2010/04/14(水) 20:46:46ID:???# fetchした場合
query = Model.all()
res = query.order('date').fetch(100)
# iterableの場合
query = Model.all()
res = query.order('date')
0315nobodyさん
2010/04/14(水) 23:32:58ID:???>この2つのクエリの実行方法の違いってなんでしょう?
>
># fetchした場合
>query = Model.all()
>res = query.order('date').fetch(100)
これは Model オブジェクトを要素とするリストになる。
>
># iterableの場合
>query = Model.all()
>res = query.order('date')
これはリストではなく google.appengine.ext.db.Query オブジェクト。
この時点ではまだDatastoreからデータをとってきていない。
0316nobodyさん
2010/04/14(水) 23:47:27ID:???ちょうどRailsでいうところの script/console がほしいです。
0317nobodyさん
2010/04/15(木) 00:17:02ID:???0318nobodyさん
2010/04/15(木) 06:36:48ID:???main.py ってどのmain.pyでしょうか。
$ find google_appengine -name 'main.py'
../google_appengine/lib/antlr3/antlr3/main.py
../google_appengine/lib/django/django/contrib/admin/views/main.py
../google_appengine/new_project_template/main.py
どれにも、sys.pathを設定しているような箇所はなさそうです。
0319nobodyさん
2010/04/15(木) 07:04:23ID:???0320nobodyさん
2010/04/15(木) 14:34:15ID:???ローカルのPythonだとOKなんですが、GAE環境だと
ImportError: No module named GeoIP
が出てしまいます。。
0322nobodyさん
2010/04/21(水) 19:05:15ID:???複数の要素をとってきてfor文を使う場合はiterable
ひとつの要素だけをとってきた場合はfetch
それいがいの場合はケースバイケース
難しければぜんぶfetchでいいよ、効率悪いかもしれないけど
0323nobodyさん
2010/04/21(水) 21:23:46ID:???fetch、ひとつというよりは、Queryに合致した要素すべてをforとかで処理したい場合だと思う。
iterableをforで回した場合って、Datastoreへのリクエスト数が増えるのかな?
0324nobodyさん
2010/04/21(水) 22:00:47ID:???0325nobodyさん
2010/04/21(水) 22:10:54ID:???0326nobodyさん
2010/04/22(木) 01:27:40ID:???例えば下記のようなモデルがあって__key__で昇順にソートしたクエリは
dateを昇順にソートしたクエリと同じでしょうか?
class A(db.Model):
date = db.DateTimeProperty(auto_now_add=True)
0328nobodyさん
2010/04/22(木) 19:17:14ID:???max 値を記録する Entity を別に作れと
google の中の人も言っている
0329nobodyさん
2010/04/23(金) 15:51:22ID:???>iterableをforで回した場合って、Datastoreへのリクエスト数が増えるのかな?
増えないと思うけど。
0330nobodyさん
2010/04/23(金) 21:15:43ID:???0331nobodyさん
2010/04/24(土) 00:19:16ID:???このデータを1度に削除するにはどうすればいいですか?
0332nobodyさん
2010/04/24(土) 07:30:50ID:???0333nobodyさん
2010/04/24(土) 19:14:05ID:???200件程度毎に削除するURLを用意して、1秒後にMeta Refreshでページを
再読み込みするしか方法がないらしいよー
0334nobodyさん
2010/04/24(土) 19:33:22ID:???0335nobodyさん
2010/04/24(土) 23:40:23ID:???spinupタイム(初回起動の時間)がものすごい長くてエラーおこしてるんだよね。
Javaも長いみたいだけど、その上で動くJavaよりもかなり重いJRuby、
さらに重めのフレームワークなRails、この組み合わせはapp engineにすごく悪いみたいよ。
どうしてもRubyやRailsやりたいなら、herokuをオススメしておくよ。
JRuby on AppEngine でいろいろ苦労したあとheroku使うと楽すぎて笑うから。
spinupって次回に備えてメモリに読んでおくことなん?
mod_なんとかでも放置したあとにアクセスするとすごい時間掛かったりするけど
>>333
MovableTypeで再構築長すぎで500エラーでるからとページ自動読み込みしていくアレかとおもた
0336nobodyさん
2010/04/24(土) 23:47:48ID:???0337nobodyさん
2010/04/25(日) 01:44:40ID:tJ0/rB3Q0338nobodyさん
2010/04/25(日) 03:05:29ID:???アプリケーションの削除が一番楽だけど
依頼してから削除されるまでに3日くらいかかる
それにデータまでちゃんと削除されてるかどうかはあやしい
あとで同じアプリケーション名が使えるとは限らない
などの欠点が多すぎ
0339nobodyさん
2010/04/25(日) 05:46:49ID:???昔は出来たからそのノリで3日後登録しようとしたけどSorryだった
0340nobodyさん
2010/04/29(木) 20:22:19ID:TZ2OdXi40342nobodyさん
2010/04/30(金) 15:19:39ID:i/Dpf9nqhttp://tripleodeon.com/2009/03/python-google-adsense-for-mobile-code/ や
http://github.com/johnboxall/django-mobileadsense を参考にしてやってみたら、
広告は表示されるんだけど表示回数に反映されないんですよね
PHPのfopen、freadで開くとちゃんと反映されるのに
ほぼ同じ(はずの)リクエストをPythonのfetchやurllib.urlopen(url).read()でやると、広告はちゃんと返ってくるのに反映されない…
原因わかる方いませんか?
0343nobodyさん
2010/04/30(金) 18:48:35ID:???これGAEだよね?
ランダムって出来ないんじゃなかったっけ?
0344nobodyさん
2010/04/30(金) 21:18:35ID:KvqVTUts工夫はいるけどできなくはないな
0345nobodyさん
2010/04/30(金) 21:40:04ID:???こんなんしかおもいつかん
0346nobodyさん
2010/04/30(金) 22:08:26ID:???表示したものを一度削除して、新しく挿入
でいいんじゃない
0347nobodyさん
2010/04/30(金) 22:50:26ID:???0348nobodyさん
2010/04/30(金) 23:12:15ID:KvqVTUts1000件以下なら単に乱数で行けるし
0349nobodyさん
2010/04/30(金) 23:47:20ID:???0350nobodyさん
2010/05/01(土) 00:12:37ID:???0351nobodyさん
2010/05/01(土) 05:11:26ID:???0352nobodyさん
2010/05/04(火) 11:27:51ID:???■ このスレッドは過去ログ倉庫に格納されています