Google App Engine 3アプ目
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2010/02/25(木) 19:38:10ID:???http://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/
■参考サイト
App Engine ギャラリー
http://appgallery.appspot.com/
ドキュメント
http://code.google.com/appengine/docs/python/overview.html
■推奨フレームワーク
kay 圭
http://code.google.com/p/kay-framework/
日本語ドキュメント
http://kay-docs-jp.shehas.net/index.html
あとKayにバンドルしているWerkzeugのデバッガはけっこう使いやすいですよ。使い方なんかはこのあたりを見てください
http://kay-docs-jp.shehas.net/debugging.html
Google App Engineプログラミング入門 (kay の解説本)
http://www.amazon.co.jp/dp/4048676938
0578nobodyさん
2011/01/30(日) 17:15:52ID:???エンティティのロックってのがいまいち理解できない・・。
0579nobodyさん
2011/02/01(火) 12:42:46ID:???http://sites.google.com/site/slim3documentja/documents/slim3-datastore/transactions#TOC-7
これによると
@Attribute(version = true)
private Long version;
がモデルに定義されていれば例外が発生するみたいだね
0580nobodyさん
2011/02/11(金) 02:47:41ID:???このページどおりに学習を進めているんですが、
List<Head>
というところでエラーが出てしまいます。
<>ってどういう演算子なんでしょうか?
0581nobodyさん
2011/02/11(金) 15:42:56ID:???リストの中身がHead型だっていうしるしだと思えばいいよ。
<>がないと実際の中身がHeadでも各メソッドはObjectでいちいちキャストしなきゃいけないけど
<>がついてるとそういう手間が省ける。
正しい概念や細かい仕様は総称型とかジェネリクスでググれ。
0582nobodyさん
2011/02/12(土) 12:25:22ID:???0583nobodyさん
2011/02/12(土) 15:30:58ID:???0584nobodyさん
2011/02/12(土) 15:53:10ID:g204No91俺は使わないだろうな。
0585nobodyさん
2011/02/17(木) 17:59:17ID:3sMY7SNV0586nobodyさん
2011/02/18(金) 16:50:11ID:TdKQL8WXつーことは、hpricotぉー・・・
com.google.apphosting.api.DeadlineExceededException、ぶったおす
0587nobodyさん
2011/02/18(金) 17:00:40ID:TdKQL8WX標準のパーサさん、今までありがとう!!!
0588nobodyさん
2011/02/19(土) 11:49:30ID:???AppEngine::URLFetch::DownloadError (java.io.IOException: Timeout ...
0589nobodyさん
2011/02/23(水) 11:31:09.89ID:t6+Y/5npかってに、google に甘い期待をしているんだけど、
ttp://sourceforge.jp/magazine/11/02/22/104206
これとかを見ると、google 的には、
C++ は Web アプリみたいにして、
Android に持っていくつもりなのかな。
プログラマのヘマでセキュリティーホール作られるよりは、
制限あっても、sandbox 内で…って感じで。
Javaが選ばれた理由も、そんなんじゃなかったっけ?
0590nobodyさん
2011/02/25(金) 15:48:13.47ID:4/qlOsDP0591nobodyさん
2011/02/25(金) 16:41:38.28ID:???http://hibari.2ch.net/test/read.cgi/php/1267057923/
0592nobodyさん
2011/02/26(土) 20:53:32.86ID:osaw625Pなぜオートインクリメントなプロパティが欲しいかというと,エンティティに対応する短いurlを生成させたいからです.
まず初めに見たのは,http://d.hatena.ne.jp/shunsuk/20090617/1245244755ですが
トランザクションを使うためにクラスにある全てのオブジェクトを同じエンティティグループに入れているので
http://satoshi.blogs.com/life/2010/02/app_engine.htmlに書いてあるようにスケールしないのではないかと思います.
次に見たのはhttp://vrypan.net/log/2008/04/27/unique-integer-ids-in-google-datastore/ですが,
これインクリメントはトランザクションになっていますが,その後のカウンターの取得がインクリメントと一緒のトランザクションになっていないので
割り当てたオートインクリメントな数字がダブってしまわないでしょうか?間違っていたら教えてもらえると嬉しいです.
最後に見たのはhttp://d.hatena.ne.jp/ruby-U/20090625/1245933651ですが,
これは番号がダブってしまった場合エンティティを生成せずExceptionを投げるので,
本質的な解決にはなっていないと思います.
どなたかオートインクリメントなプロパティを作る良いプラクティスがあったら教えていただけると嬉しいです.
0593592
2011/02/26(土) 20:54:13.01ID:???0594nobodyさん
2011/02/26(土) 23:12:42.69ID:???これでいい
>その後のカウンターの取得がインクリメントと一緒のトランザクションになっていないので
>割り当てたオートインクリメントな数字がダブってしまわないでしょうか
なんでそう思ったの?
0595nobodyさん
2011/02/26(土) 23:23:27.61ID:???def inc(self):
self.__check_sanity__()
def __inc1__(self):
obj = db.get(self.__key)
obj.count += 1
obj.put()
return db.count
return db.run_in_transaction(self.__inc1__)
db.get(self.__key) が None
0596592
2011/02/27(日) 00:00:50.06ID:???ありがとうございます.そう思った訳は,カウンターの数字が今現在0で,AとB,二つの.incが行われるとき,
Aのdb.run_in_transaction(self.__inc1__)(カウンターの数字が1に変わる)
Bのdb.run_in_transaction(self.__inc1__)(カウンターの数字が2に変わる)
Aのself.get()(2を取得する)
Bのself.get()(2を取得する)
となり,同じ数字を取得してしまうことがあると思ったからです.
なにか勘違いしていたら教えていただけると嬉しいです _ _
0599595
2011/02/27(日) 07:50:47.78ID:???>db.get(self.__key) が None
↓
db.get(self.__key) が None のときどうするかは自分で考えて
0600nobodyさん
2011/02/27(日) 11:10:51.11ID:???開発に協力して頂ける方、OpenSocialアプリの開発テストがてらに使ってやってもいいという方など
無償で協力していただけるマゾな方いましたら、どうか運営までご連絡ください。
開発専用SNS(Lab)があるので、そちらにご招待します。
■2chLabel
(p)http://2chlabel.org/
■NingAPI(Docs)
(p)http://developer.ning.com/docs/ningapi/1.0/index.html
■OpenSocial(Docs)
(p)http://2chlabel.org/group/2chlabel
0602nobodyさん
2011/02/27(日) 12:30:38.06ID:???0603nobodyさん
2011/02/27(日) 12:38:15.63ID:???しかもタダの労働力だと思われるのが遺憾だな。
俺はそんなに安くないぜw
0604nobodyさん
2011/02/28(月) 06:40:46.00ID:H2E7Co9z取得したエンティティのkey_nameを取得することは出来ないんでしょうか?
0606nobodyさん
2011/02/28(月) 18:03:09.15ID:LEyZaBOOこの手の募集よく見るけど協力するアホっているのかな?
自分に出来ないことを他人に無償でやらせるなよ
mixiにもこの手の輩がいたけど、自称IT企業社長のサイトいったら
ホームページビルダー製でお茶噴いた記憶あるわw
セーフカラーの背景(水色一色)で、事業内容 ITコンサルタント って何かのネタか
0607nobodyさん
2011/02/28(月) 19:56:40.21ID:???たまにご飯おごってくれるくらいのが気楽でいい。
0608600
2011/02/28(月) 22:01:11.56ID:???収入は広告しかありませんが、
現状サーバー代の足しにしてる状態っす。
もし黒字化できればサーバーの強化かイベント費に使う予定なので、
私益化するつもりはないかと。
でもそれで結局おまえのサイトが盛り上がるならおまえの利益じゃん
とか言われたら確かにそうなので何も言えないっすね。。
現状開発に協力して頂いている方はとても頼りになる方なのですが、
掛け持ちでもあり、負担も大きく、もうすこし協力者を募れればと思い、
書き込みさせて頂きました。
>>607
それくらいなら何時でも。
現状アイフォンにも対応した専用プレイヤーの開発が行われており、
それとは別の機能の開発をお願いしたく、カキコさせて頂きました。
無償という大変失礼な条件なのは重々承知してましたが
不快な思いをさせてしまい、申し訳ありませんでした。
その上で、もし少しでも興味がある方、質問がある方など居ましたら、
何なりと申しつけてください。
0609nobodyさん
2011/02/28(月) 23:59:12.46ID:???GAEで実装したサービスでもないのに、ただ「アプリ作ってくれ」とか言われてもねぇ
0611nobodyさん
2011/03/01(火) 01:25:58.28ID:???だます奴はみんなそういうんだよw
「黒字化できない」「サーバー費につかう」「ボランティアお願いします」「募金おねがいします」
0612nobodyさん
2011/03/01(火) 01:26:49.69ID:???その不信感が元で破綻したプロジェクトをいくつも知ってる。
0613nobodyさん
2011/03/01(火) 09:55:04.12ID:???平気で垂れ流してくる時点でこいつは無理だわ
本気で言ってるなら現時点までの収支全部晒せよ
0614nobodyさん
2011/03/01(火) 14:43:58.81ID:jdMkqxkUclass Aでフォームに入力された情報を
class Bで受け取って処理するためにはどうすればいいんでしょうか?
class A
def post(self):
form = AddForm(data=self.request.POST)
data = form.save()
data.put()
self.redirect("/result")
となっていて、class Bではresultのページを作っています。
0616nobodyさん
2011/03/01(火) 22:52:38.00ID:9ycoeffkhttp://localhost:8080/_ah/admin/memcache
からみたいときって、keyの欄にどういうふうに入力すればいいの?
0617nobodyさん
2011/03/02(水) 00:35:40.94ID:66dDMunyPicasaって規約厳しいらしいからなるべく避けたい
GAEはCPUは安いけど転送量高すぎる
0618nobodyさん
2011/03/02(水) 06:35:27.87ID:TQu6puSU0619nobodyさん
2011/03/02(水) 14:36:51.29ID:???ttp://internet.watch.impress.co.jp/docs/news/20110302_430508.html
0620nobodyさん
2011/03/02(水) 15:17:02.69ID:???やっすいなぁ・・・
0622nobodyさん
2011/03/04(金) 05:25:38.55ID:???http://www.google.co.jp/search?q="SNS構築サービスであるNingをつかった2ch発の音楽コミュニティサイトを作っているのですが"
ハロワに求人でも出してろカスw
0624nobodyさん
2011/03/05(土) 19:52:05.72ID:???__key__の設定について詳しい方がいらっしゃったらぜひレスお願いします。
0625nobodyさん
2011/03/06(日) 23:28:48.69ID:???ページングとかは相変わらずチュートリアルみたいな方法でやったほうがいいのかな?
0626nobodyさん
2011/03/06(日) 23:32:50.23ID:???0627nobodyさん
2011/03/06(日) 23:51:59.45ID:???1000件?
0628nobodyさん
2011/03/06(日) 23:52:42.55ID:???英語読めないわけじゃないけどググれない
0629nobodyさん
2011/03/07(月) 05:31:04.54ID:???カーソル使えよ
ぶっちゃけ << [1][2][3][4][5] >>
こういうページングナビゲーションあっても99%が1→2→3と順番に見ていくから
次へしかないページングでも問題ない
TwitterみたいにAjax使ってn件ごとに非同期通信で引っ張って来るページング方式が理想
0630nobodyさん
2011/03/07(月) 12:04:22.84ID:???twitterはいいね
0632nobodyさん
2011/03/08(火) 07:16:10.52ID:???Slim3の説明から抜粋
ttp://sites.google.com/site/slim3documentja/documents/slim3-datastore/queries-and-indexes
ーー
Tip: ウェブフォーム内などでデータストアカーソルをクライアントに渡したり、
クライアントからカーソル値を受け取ったりすることは一般的に安全です。
クライアントはカーソル値を変更して元々のクエリ以外の結果にアクセスすることはできません。
しかし base64 エンコードされた値をデコードすれば、結果エンティティの情報を暴くことができます。
結果エンティティの情報とは、キー(アプリケーションID、kind、キー名またはID、全ての祖先キー)や
クエリに使用されたプロパティ(フィルタとソート順に含まれるプロパティ)等の情報です。ユーザーに
そのような情報を知られたくなければ、カーソルを暗号化するか、カーソルを保存してユーザーには
不透明なキーを渡すとよいでしょう。
だってよ。まぁURLが長ったらしくなるのでjQuery Ajaxでサクっとページング実装しちまったほうがいいと思う。
0633nobodyさん
2011/03/08(火) 15:05:30.35ID:???たとえばidとパスワード確認したいエンティティには他の情報入れないほうがいいとか
0635nobodyさん
2011/03/08(火) 19:54:37.38ID:???もし使えないなら皆どうやって対処してんだい?
0636nobodyさん
2011/03/08(火) 21:18:34.31ID:A+r8zOw00637nobodyさん
2011/03/08(火) 21:19:57.05ID:???嫌だったら、ポストフォームの送信先をmyapp.appspot.comにして
そこからまた独自ドメインの完了ページへリダイレクトすればいいのでは。
0638nobodyさん
2011/03/08(火) 21:26:05.34ID:???0639nobodyさん
2011/03/09(水) 00:52:18.01ID:???エンティティグループ指定しなきゃどのトランザクションを指してるのかわからなくない?
0640nobodyさん
2011/03/09(水) 08:47:37.64ID:???thx for the info
>>637
やはりそれしかないんですかね。
うーん。悲しい処理を一ついれるか。。
0641nobodyさん
2011/03/09(水) 09:59:28.30ID:???わたしはここから先はなんせSSLですから!ってメッセージを免罪符にして堂々とポストフォームはmyapp.appspot.comでやってます。
0642nobodyさん
2011/03/09(水) 14:42:31.51ID:???それでも登録する人は不安になっちゃうような気が。。
事実、いきなりドメインが変わると何か怖い印象うけるんですよね。。
0643nobodyさん
2011/03/09(水) 17:22:05.56ID:???0644nobodyさん
2011/03/09(水) 18:29:52.50ID:???0645nobodyさん
2011/03/09(水) 19:24:37.40ID:???0646nobodyさん
2011/03/09(水) 19:30:00.50ID:Lx1qiHhR0647nobodyさん
2011/03/09(水) 19:34:02.24ID:???それは社内でGoogle Appsのアプリとして運用するときの価格みたい
Each application costs $8 per user, up to a maximum of $1000, per month.
今探したらこう書いてたわ
You can also use App Engine for Business to build external applications.
We’re still working out the details on pricing so stay tuned (but don’t worry, you won’t have to pay per user!).
http://code.google.com/intl/ja/appengine/kb/business.html
0648nobodyさん
2011/03/09(水) 23:26:06.41ID:7V71uazChttp://www.youtube.com/watch?v=3xnKX8xksNg
0649nobodyさん
2011/03/10(木) 02:34:43.01ID:???用語とかをあんまり理解してないんだけど
これって要するにmemcacheでトランザクション実現してるって認識でOK?
0650nobodyさん
2011/03/10(木) 16:47:22.57ID:???NoMethodError (undefined method `getString' for #<Str1:0x9e40d2>)
のエラーがでます。Str1クラスのnewはできるみたいなんですが
メソッドgetStringを呼べません。ソースは
// Str1.java
package com.aaa;
class Str1 {
protected String str;
public Str1(String str) {
this.str = str;
}
public String getString() {
return str;
}
}
#aaa_controller.rbの一部
require 'java'
import 'com.aaa.Str1'
class AaaController < ApplicationController
def aaa
sss = Str1.new("asasas")
p sss.getString
render :text => ""
end
end
0651650
2011/03/10(木) 16:49:39.76ID:/uspR3SG0652nobodyさん
2011/03/20(日) 16:23:17.82ID:???http://www.seattleconsulting.co.jp/gae/gae_blog_01.html
データストア読み書きを行うのが何故”Service”クラスと言う名前なんでしょうか?
0653650
2011/03/22(火) 22:46:36.54ID:k3Rc1VhM0654nobodyさん
2011/03/22(火) 22:58:31.55ID:8SijpWmS0655nobodyさん
2011/03/29(火) 21:41:48.57ID:YfDqmOE/./eclipse -cleanしたら治った
0656nobodyさん
2011/03/31(木) 12:10:46.16ID:???(Error)
javax.servlet.ServletContext log: Application Error
dependencies.rb:184:in `require': IO Error (IOError)
0657nobodyさん
2011/04/06(水) 21:04:50.14ID:???0658nobodyさん
2011/04/07(木) 03:09:32.19ID:???0659nobodyさん
2011/04/07(木) 04:01:53.10ID:???0660nobodyさん
2011/04/07(木) 05:09:34.36ID:???レスポンスのHTTPヘッダに
Content-Disposition: attachment; filename="hoge.txt"
とかつければいいんじゃ
0661nobodyさん
2011/04/07(木) 21:20:03.02ID:???それを調べてやってみたのですが、うまくできません。
self.response.headers['Content-Type'] = 'Content-Disposition: attachment;filename="aa.txt"'
self.response.out.write( text)
self.redirect('/')
これじゃダメなのでしょうか
0662nobodyさん
2011/04/07(木) 21:48:21.83ID:???それだとヘッダは
Content-Type: Content-Disposition: attachment;filename="aa.txt"
になるやん。
ついでに Content-Type は text/plain ね。
てか、それだけにしてブラウザまかせでもいいとおもうけど。
0663nobodyさん
2011/04/07(木) 21:53:00.78ID:???self.response.headers['Content-Disposition'] = 'attachment;filename="aa.txt"'
0664nobodyさん
2011/04/07(木) 23:03:47.86ID:dDFcfpQAcronからアプリを実行した場合でも30秒ですか?
task queueから実行した場合でも30秒ですか?
0665nobodyさん
2011/04/08(金) 20:22:46.74ID:???0666nobodyさん
2011/04/08(金) 20:35:26.23ID:???0667nobodyさん
2011/04/12(火) 11:13:13.56ID:???http://i.imgur.com/DF2Cp.png
0668nobodyさん
2011/04/12(火) 13:37:27.76ID:YpfKmppE0669nobodyさん
2011/04/12(火) 16:24:46.21ID:???900京回のリクエストは冗談でも嬉しいわあ
0670nobodyさん
2011/04/12(火) 22:40:58.30ID:???これ、まじでこの設定値らしい
http://groups.google.com/group/google-app-engine-japan/msg/619d3c5bd17d059b
ドキュメントがまだ追いついていないのですが、これは不正な数字では無く、実際にこの値に設定されています。
つまり、多くの Fixed Quota を事実上撤廃したことになります。
一分当たりのリクエスト数制限なども緩和されているはずです :)
0671nobodyさん
2011/04/12(火) 22:49:59.84ID:???0672nobodyさん
2011/04/13(水) 16:23:13.71ID:brkkKiKc0673nobodyさん
2011/04/14(木) 01:08:49.33ID:05dPrGgYにしても500エラーがサバーででるぞ
0674nobodyさん
2011/04/14(木) 07:03:18.68ID:0X/knhvr0676nobodyさん
2011/04/14(木) 20:55:25.98ID:???■ このスレッドは過去ログ倉庫に格納されています