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
0208nobodyさん
2010/03/20(土) 13:23:54ID:E/cfhbNCdb.StringPropertyに格納した場合は同じエラーになりません。
具体的にどうすれば良いでしょうか・・
0209nobodyさん
2010/03/20(土) 16:24:45ID:???0210ゆかちん
2010/03/20(土) 17:31:14ID:/aMgByHhコードダウンロードできないんでしょうか?
0212206
2010/03/21(日) 09:32:42ID:iORdRoqYはい。
google_appengine\google\appengine\ext\adminフォルダの
__init__.pyの下記の部分を編集することによって解決しました。
ありがとうございました。
>cgi.escape(string_value, True)
cgi.escape(string_value.decode("utf-8"), True)
0213nobodyさん
2010/03/21(日) 11:25:04ID:YCwEc1t+GAEの日本語対応は糞だぜ
0214nobodyさん
2010/03/21(日) 11:27:02ID:???0215nobodyさん
2010/03/21(日) 19:29:49ID:???0216ゆかちん
2010/03/22(月) 09:18:37ID:QGaENZ/yコードダウンロードできないんでしょうか?
0217nobodyさん
2010/03/22(月) 10:42:15ID:???0218nobodyさん
2010/03/22(月) 13:21:54ID:???ttp://d.hatena.ne.jp/higayasuo/20100319/1268984735
> さて肝心な、どの言語を選んだ方がいいかですが、Pythonの出来がいいので、LLな人はPythonを使うのがおすすめです。これまでPHPやRubyを使ってきた方も仕事で使うなら、Pythonを使った方が固いです。
>
> JVM(Java)経由でRuby(JRuby)やPHP(Quercus)を使う手もありますが、Javaのオーバーヘッドに加えてさらにScriptEngineのオーバーヘッドが加わるので速度的には期待できません。
>
> ただ、JRubyは頑張ってチューニングしていて、最新版だとSinatraで8000ms位でspin-upするようなので、なんとか使えるかもしれません。Sinatraでも厳しいくらいなので、AppEngineでRailsを仕事で使うのは、今のところ現実的ではないでしょう。
0219nobodyさん
2010/03/22(月) 20:54:17ID:???0220nobodyさん
2010/03/23(火) 09:59:56ID:???サブディレクトリ等にファイルがあるときは
deploy時に自動で一緒に持っていってくれるようですが
eggでインストールされているものだと
ローカルでは動くのですがdeploy後だとimport鰓になります
eggをローカルにインストールするときに-Zでソースにする方法もあるみたいですが
ディスク容量が無駄に使われるので抵抗があります
eggのままでGAEで動くようにするにはどのようにすれば良いでしょうか?
0221nobodyさん
2010/03/23(火) 10:08:41ID:???import sys
sys.path.append('hoge.1.2.3.zip')
import hoge
でインポートできるようになってる
たぶん
sys.path.append('hoge.1.2.3.egg')
とかでも一緒じゃないかな
やってないからわからん
0223nobodyさん
2010/03/23(火) 19:37:56ID:???0224nobodyさん
2010/03/25(木) 02:51:54ID:???appengineで携帯向けサイト作るにはどうしたらいいんでしょうか?
結構モバイル向けのソーシャルアプリでの運用事例がちらちら見られるのですが、
モバイル対応どうしてるのかと。
railsのjpmobileみたいなのってないんでしょうか?
Python+django+uamobile+(αでシコシコ)
とかなんでしょうか?Java回りだとそれっぽいの見つけられなかった・・・
0225nobodyさん
2010/03/25(木) 12:47:53ID:???コレで動いてたのだが最近エラーが出るようになった。asciiじゃない文字が含まれてるよエラー。
どうすれば良いのか分かる方いませんか?
class MailHandler(InboundMailHandler):
def receive(self, message):
bodies = message.bodies(content_type='text/plain')
body_line = ""
for body in bodies:
h = decode_header(body[1].decode())
body_line = body_line unicode(h[0][0], "iso-2022-jp")
0226nobodyさん
2010/03/25(木) 14:10:31ID:???0228nobodyさん
2010/03/25(木) 15:19:01ID:???0229nobodyさん
2010/03/25(木) 15:21:08ID:???早く自殺しろよ、池沼。
0230nobodyさん
2010/03/25(木) 15:25:32ID:???227は駄目な子。
0231nobodyさん
2010/03/25(木) 15:27:34ID:???0232nobodyさん
2010/03/25(木) 15:31:31ID:???「世の中からイジメはなくならない」と言う人もいるが、
そういう人はいじめがなぜ起こるのかhttp://0dt.org/000236.htmlが分かっていないのです。 全ての物事には原因がある。
日本にいじめが多いのにも理由があります。 いじめはストレスに対するガス抜きとして行われる。
その原因さえ取り除けばいじめはなくせる。 以下は私が考えた即効性のあるいじめ問題への対処法です。
●生徒に理不尽な強制をしない。
何かをやらせる時は納得のいく理由http://0dt.org/000256.htmlを説明する。
●学校の清掃は業者に任せる
生徒に教室の掃除をさせるのは日本などの一部の国だけ。放課後の掃除は生徒にとって一大ストレス要因である。
どうしても生徒に掃除をさせたいなら教師も掃除に参加するべきだ。
●学ラン・セーラー服は廃止
学ランは軍服を模した物であり、窮屈だし黒い色には威圧感を感じる。色彩心理学的に良くない。制服が必要ならブレザーにすれば良い。
●20人学級の実現
狭い教室に40人も詰め込んだら「共食い」のような現象が起こるのも当然。担任教師がケアできるのも20人くらいが限界だ。
一クラスはせいぜい30人以下に減らす必要がある。
●少年法撤廃
学校は教師の隠蔽体質と少年法によって守られている為に無法地帯と化している。
いじめは犯罪である。いじめを行った物には傷害罪を適用して逮捕するべきなのだ。
少年法にょって「子供は何をやっても許される」と言う意識が凶悪な少年犯罪を生み出している。
●スクールポリスを配置する
アメリカのように警察官を学校に配置して学校内でも違法行為を厳しく取り締まらせ、子供達に遵法精神を植えつけよ!
●いじめっ子は出席停止にするhttp://ha10.net/debate/1153290164.html
社会的な制裁はいじめへの抑止力として機能するだろう。
●道徳教育の強化
日本人の民度の低さhttp://0dt.org/000160.htmlは正義心が足りないのが原因だ。
ろくに躾もされていないガキどもには徹底して勧善懲悪を叩き込まなくてはならない。
どうだろう?これらを実践するだけでも虐めを7割くらい減らせられるのではないだろうか?
他にもイジメを撲滅する為の方法は沢山ある。日本でいじめがなくならないのは、学校側の怠慢である!
0233nobodyさん
2010/03/25(木) 15:32:51ID:???↓ 質問にすべて「はい」と答える
↓ うつ病、等質認定
等質になればパワハラ加害者に復習しても無罪みたいだよ
★両親と姉殺害で死刑求刑の被告に無罪判決 水戸地裁土浦支部
・茨城県土浦市で平成16年11月、両親と姉を包丁で刺すなどして殺害したとして
殺人罪に問われ、死刑を求刑されていた同市、男性被告(31)に対する判決公判が
27日、水戸地裁土浦支部で開かれ、伊藤茂夫裁判長は無罪を言い渡した。
裁判では、検察側が「冷酷、残忍で非道極まりない犯行」として死刑を求刑したのに
対し、弁護側は「被告は当時、統合失調症に罹患(りかん)しており、心神喪失状態
だった」として無罪を主張していた
http://headlines.yahoo.co.jp/hl?a=20080627-00000927-san-soci
※元ニューススレ
・【社会】「自分の居場所ない」 ひきこもり28歳、両親と姉の殺害認める…初公判
県警の調べでは、飯嶋被告は自宅に引きこもって生活。「自分の居場所がなく
死刑になってでも父らを殺すしかないと思った」と供述した。"
http://news19.2ch.net/test/read.cgi/newsplus/1121771630/
茨城陸自宿舎殺人:被害者の公務災害を認定 東京地裁 【毎日新聞】
http://mainichi.jp/select/jiken/news/20090416k0000m040095000c.html
陸上自衛隊航空学校霞ケ浦分校(茨城県土浦市)の宿舎で、隊員の松原孝吉さん(当時25歳)が
就寝中に同僚に殴られ死亡した事件を巡り、両親が「公務災害に当たる」として国に
計約1億3800万円の補償や賠償を求めた訴訟で、東京地裁は15日、
約3170万円の支払いを命じた。広谷章雄裁判長は「公務災害」と認めた。
判決によると、松原さんは05年5月、部屋で就寝中に同室の隊員の男に木製バットで頭を殴られ死亡した。
男は殺人容疑で逮捕されたが、統合失調症により心神喪失と判断され不起訴処分となった。
国側は「就寝は職務と関係ない」と主張したが、判決は「自衛隊法で松原さんは宿舎居住を義務づけられ、
公務上の災害で死亡したと言える」とし、国に補償を命じた。陸自側の安全配慮義務違反を主張した賠償請求は退けた。【伊藤一郎】
0234nobodyさん
2010/03/25(木) 15:33:24ID:???お前、どこでエラーがでるのかぐらい晒せよ
> body_line = body_line unicode(h[0][0], "iso-2022-jp")
なんだこれ?
構文自体間違ってるだろ。
unicode(h[0][0], "iso-2022-jp", 'ignore')
してみろ。
0235nobodyさん
2010/03/25(木) 15:53:14ID:???中学では内気過ぎて反抗なんてしないし、出来なかったせいか、暴力を受けたり、恥ずかしい事などをされても親や先生に訴える事もありませんでした。
そんな私にも、中二の二学期に転校してきたA君だけは優しくしてくれました。女子トイレの中でのイジメは続きましたが、教室で何かあると、A君は必ず助けてくれました。自分が他の男子に殴られても、私の味方になってくれました。
私にとってA君は神様の様な存在で、A君と二人で居る時だけが現実の世界なんだと思っていました。今私が生きているのもA君のおかげだと思います。
私はA君みたいに誰かを守る事は出来ないと思いますが、味方にはなれると思います。
イジメに対する復讐なんて、余計に惨めで愚かな事ではないでしょうか?
過去を乗り越え、これからの幸せを見つけていく方が、明るく前向きな気持ちになれるのではないかと思います。
0236nobodyさん
2010/03/25(木) 16:46:28ID:???0237nobodyさん
2010/03/25(木) 19:08:20ID:???0238nobodyさん
2010/03/25(木) 19:52:21ID:???自分自身の行いが災いとして舞い戻り後悔されるでしょう…
いつか……必ず……
0239nobodyさん
2010/03/25(木) 20:08:45ID:???0240nobodyさん
2010/03/26(金) 01:49:40ID:???0241nobodyさん
2010/03/26(金) 06:46:21ID:???0242nobodyさん
2010/03/26(金) 19:32:04ID:???0243nobodyさん
2010/03/27(土) 15:56:17ID:???>>232
Google App Engineでイジメを解決するツールを作ろう!
>>233
Google App Engineで精神病を解決するツールを作ろう!
サイトの設計は>>244以降でお願いします。
0244nobodyさん
2010/03/27(土) 16:29:05ID:???0245nobodyさん
2010/03/28(日) 16:24:56ID:???このエラーが解決出来ない(涙
0246Zeno ◆5nZQbNmQPs
2010/03/28(日) 17:37:25ID:M8LbN6As>>245
文字列型の値を参照する変数に対し、
文字列が持たない attribute にアクセスしようとするとそうなる。
>>> s = ''
>>> s.hoge
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'str' object has no attribute 'hoge'
str タイプに hoge は含まれていない:
>>> 'hoge' in str.__dict__
False
0247nobodyさん
2010/03/28(日) 17:56:47ID:???Zenoさん、レスありがとうございます。
ん〜、型変換しないといけないのでしょうか?
Google App Engineなんですが、ローカル環境(WinXP+Python2.5.4+SDK)
では動くのですが、GAEにアップすると「ttributeError: 'str' object has no attribute 'hoge' 」
が出ちゃいます。
以下の箇所です。
Queries = memcache.get("query")
if Queries is None:
Queries = db.GqlQuery("SELECT * FROM hoge LIMIT 10")
memcache.set("query", Queries, 10000)
for p in Queries:
hoge = p.hoge
0248nobodyさん
2010/03/28(日) 17:57:42ID:???インテンド飛んでしあまったので、再投稿です。
Queries = memcache.get("query")
if Queries is None:
Queries = db.GqlQuery("SELECT * FROM hoge LIMIT 10")
memcache.set("query", Queries, 10000)
for p in Queries:
hoge = p.hoge
0249Zeno ◆5nZQbNmQPs
2010/03/28(日) 18:08:57ID:M8LbN6As>>248
まずは memcache 無しで試してみろ。
Queries = db.GqlQuery("SELECT * FROM hoge LIMIT 10")
for p in Queries:
hoge = p.hoge
これで同じエラーがでるのであれば、
ローカルとプロダクションのデータストアの
シンクができていないのだと思われる。
つまり、hoge のカラムを(後から)ローカル側で追加したのは良いが、
そのカラムの定義がリフレクトされていないか、
そもそも値が入っていないかだ。
0250Zeno ◆5nZQbNmQPs
2010/03/28(日) 18:19:05ID:M8LbN6As>>248
ところで、>>249 をやる必要はない。
そもそも memcache に入っている key='query'
の値が文字列となって返ってきているのが問題だ。
Queries = memcache.get("query")
を抜いてやれば問題ない。
memcache.set("query", Queries, 10000)
これも問題だ。そもそもピックルできないものは
memcache に入らない仕様だったと思うが。
0251>247-248
2010/03/28(日) 20:11:20ID:???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:???■ このスレッドは過去ログ倉庫に格納されています