Google App Engine for Python 6アプ目
最近の人気エントリ
Google APP Engine Python入門(2010年2月版)
ttp://d.hatena.ne.jp/kagigotonet/20100209/1265726225 > Google APP Engineについては初期のころのまとめはあるのですが、Pythonですとリリースからそろそろ2年近くになり内容も大きく様変わりしています。
> 最速マスターシリーズでもGoogle APP Engineについてのまとめが無く、そろそろアップデートの必要があると思いまとめてみました。
> 基本的にwindows環境中心です。
Google App Engineを使って無料でサイトを立ち上げる方法
http://techblog.ecstudio.jp/tech-tips/freewebsite-with-google-app-engine.html > このGoogle App Engine(以下 GAE)、アプリケーション開発だけでしか使えないと思われがちなのですが、実は設定を工夫すれば通常のHTMLによるサイトを作って運用することも可能です。
> 多少初期設定の手順は複雑ですが、このスペックのサーバーを無料で使用出来ることを考えれば試してみる価値はあるのではないかと思います。
> Webサイトを立ち上げるまでの手順をまとめてみましたので、公開したいと思います。
【特集】Google App Engineで開発するためのフレームワーク × 16 + α
http://coolcoding.com/2010/01/frameworks_for_gae/ > いざGAEで開発をはじめるとしても、素のままで書き始める必要はありません。
> すでに多様なフレームワークが提供されており、そうしたフレームワークを活用することでより素早くGAE上での開発ができるようになります。
> 今回はGAEで開発を行う際にチェックしたいフレームワークを紹介したいと思います。
Google App Engineで開発するスケールするアプリケーション(前編)
http://codezine.jp/article/detail/4591 > 本稿の前編では、主にGoogle App Engineの概要と特徴、そしてWebシステムをスケールするための手法、考え方について説明します。
> 中編・後編では、Google App Engine上で動作する、twitterと連携したアプリケーションを紹介し、Google App Engine上でのアプリケーション構築方法について説明します。
>1 >7 乙
リンク切れ多いね
9 :
nobodyさん:2013/01/20(日) 02:13:34.14 ID:C32f/H3H
いちょつ
さんくす
おつおつ
すげーGJ
18 :
16:2013/01/21(月) 13:09:38.21 ID:???
サービス開始から結構時間経ってて
古い情報を元に始めると損する場合が結構あるから
まずこの記事ぐらいはざっと眺めた方が良い
01.Google App Engine 最近の動向|CA Beat エンジニアのブログ
http://ameblo.jp/cabeat-e/entry-11394475313.html 無料で使える!ってだけで群がった当初の情報だと
Hello World程度の浅い紹介とかしか無いけど
アプリケーションやサービスにどう適用するのかが本題
色々揃ってきてようやくライブラリやノウハウも出てきた
HRDの理解とDatastoreのバックアップ・リストア
Warmup等含めたインスタンスの管理
極力Queryを減らすKey志向の設計
memcache, Frontend Cacheによるキャッシュコントロール
辺りは押さえとくべき
NDBは使いやすいし自然とキー志向になるし
自動キャッシュがとてもありがたく
DBで微妙だったプロパティとか整理されてるんでおすすめ
19 :
16:2013/01/21(月) 13:13:50.09 ID:???
NDBは辞めちゃったけどGvR謹製だし
StructuredProperty, JsonProperty, PicklePropertyとか
楽できるプロパティが嬉しい
Searchは今後Appengineで欠かせないサービスになる
早めにインデックスやドキュメントの管理と
使いどころを把握しとくと良い
まだ価格が公開されてない上日本語対応は微妙だけど
DatastoreのQueryで困るケースが色々解決できる
Geo検索もできるし
20 :
nobodyさん:2013/01/21(月) 13:31:13.49 ID:Ez5Yieb2
あげ
モバイルAdSenseをどうにかPythonに埋め込む方法は無いですかね?
その問題クリティカルすぎないか?
mobile adsense使えないとマネタイズ成り立たないサービスには使えないじゃないか…
色々ググったら英語の資料に
「独自ドメインじゃないとカウントされない」
とあったが本当かね?
appspot.comはgoogle管理だからカウント除外されるのか
(売上に含めちゃったら面倒だから?)
誰か独自ドメインでmobile adsenseを正常動作出来てる人いる?
26 :
nobodyさん:2013/01/22(火) 11:20:44.44 ID:B0nURCWo
前スレのスレッドセーフの件は誰も触れてないけど
このスレには分かる人いないのか
言いだしっぺの法則
君が全力で調べてその調査結果を是非世に公表してくれたまえ
28 :
nobodyさん:2013/01/22(火) 11:41:53.35 ID:B0nURCWo
いや俺も全然わかんなくて気になってるのよ
スレッドセーフなプログラムになってないと
事故が起こるかもよ?っぽいんだけど
どうやったらスレッドセーフにできるのかとか
どういう時どういう書き方したらいいのかとか
探したんだけどさっぱりわからん
英語読むっきゃねーな
日本語の情報が無いってことは
調べている人自体が少ないのだろう
◯◯を調べたけど◯◯がわからない、的な情報でもいいから
誰かがどこかにblogか何かで書いていくしかないね
日進月歩でグーグル側が更新しちゃうから追いつかないんだよな
linux関係でググるといまだに古い資料が出てきちゃう現象
俺の調べたThreadsafeに関係ありそうなこと
・マルチスレッドプログラミングでの最大の問題点は
スレッド間で誤って同じデータを触ってしまうこと
・Pythonはそもそもグローバルインタープリタロック(GIL)という仕組みで
インタプリタでは同時に複数のスレッドが動かない
・GAEのThreadsafeはインスタンスを有効活用するためのもの
(単一のインスタンスで複数のリクエストを捌ける?)
・わけがわからん
GILがあるから原則スレッドセーフというかマルチスレッドできない??
2.7環境だとGILが無くなった??
それともThreadingモジュールを使う場合だけ関係ある話??
たすけて
33 :
nobodyさん:2013/01/23(水) 14:06:23.26 ID:LxbWzKRZ
プログラミング初心者ですが質問です
Pythonを利用してWebサイトを作りたいと思っています
必要なツールや知識は何がありますか?
Python、GAE、HTML←この3つの知識があれば作れますか?
足りない知識やツールなどがあれば教えて下さい
フロントエンド向けキーワード:
HTML5
CSS3
SassとCompass(Scout)
jQuery
CofeeScript
バックエンド向けキーワード:
python2.7
webapp2
flask
その他(バージョン管理):
Mercurial または Git
35 :
nobodyさん:2013/01/23(水) 14:37:32.98 ID:LxbWzKRZ
普通にサーバー向け
クライアント向けって書いても良かったんじゃないかと
フロントエンド向けキーワード: 追加
TypeScript
WebGL
backbone.js
node.js
バックエンド向けキーワード: 追加
node.js
wsgi
django
werkzeug
37 :
nobodyさん:2013/01/23(水) 16:52:56.59 ID:LxbWzKRZ
38 :
nobodyさん:2013/01/23(水) 17:13:58.87 ID:shCR0fI3
SearchのGeoPoint試してるやついない?
39 :
nobodyさん:2013/01/24(木) 20:03:07.12 ID:T/pnfIUt
MapReduceの価格表が見当たらないんだけどどこにある?
今のGAEで可能なMapReduceは似非で
Quotaとかも用意されてない力技じゃなかったっけ?
普通のfrontend instancesとして課金されるのかな。
それともbackendsとして?
42 :
nobodyさん:2013/01/25(金) 09:57:59.49 ID:mBZPWIR9
Frontendじゃなかったっけ?
それ以外に当然Datastoreやその他の割り当ても使う
始めたばっかりなんだが
上げようとしたらアプリ固有のパスワード入れろって怒られて、そんなん設定したっけ?と思ったが、二段階認証のほうのアレねw
紛らわしい名前w
あ、もし公式以外で良さげなサンプル集サイト知ってたら教えて下さい。
44 :
nobodyさん:2013/01/28(月) 11:18:46.39 ID:FBfOV1KR
>>44 ああ、なるほど!そこでのgithubなのか
名前は見かけるけど、プログラミング自体初心でgithub使ったこともなく、頭がそこまで回りませんでした
gae sampleとかで検索しても良いの出ないんで、普通はどうしてるのだろうと思ったら、そういうサイトを活用してるんですね!
仕様も結構変わってるみたいですもんねえ
色々と為になる助言ありがとうございます。
GAEのmapreduceはmapperで登録するkey value pairが
datastoreに記録されるの・・・・?
Datastoreのindexedってどうしてる?
インデックスのみでクエリ行けるようにすべきなのか
なるべくインデックス作らずkey -> memcacheにすべきなのか
答えは無いだろうけど方針とかある?
48 :
nobodyさん:2013/01/31(木) 12:04:59.41 ID:fFNHcJ57
俺は後者だな
ndb使ってるとkeyonlyからget_multi()で引っ張れば
キャッシュが自動で効いて手軽だし
さすがにHRDに移行しようと思うんですが
リハーサルとかできますか?
ツールを使うと問答無用で移行してしまいますか?
ツールで移行したデータを削除して
最初からやり直すことはできますか?
いつまでたってもApple Push Notoficaton 送れないし、Google Compute Engine使えないしマジなんなのこの糞サーバー
愚痴はtwitterでどうぞ
52 :
nobodyさん:2013/02/04(月) 08:52:16.37 ID:FzpmjJ5g
この間Socketのクローズテスト募集してたから
Notificatonなり任意の接続もその内できそうだけどね
GAEjaのフォーラムに痛いおっさんが赤っ恥な投稿してんな
ろくに英語も読めないのにクレーム風の物言いとか凄い感覚だわ
すごく基本的なこと質問します
課金は1週間ごとですよね?
メールの100通制限は最初の支払いが終われば解除されるとあるけど
1. 最初の支払いって課金有効にしてから一週間目?
2. もしその1週間の間に無料枠超過しなかったら支払い発生しないからずっと100通制限?
という二点がきになってます
というのもサービスを公開すると絶対に100通でおさまるわけがないし
メール配信以外では負荷がすくないのでテスト段階では無料枠に収まってるので
毎月最低$9は取られるはずだけどこれは月末まで待たないとダメ→メールの制限は月末までとれないだとマジ困るし
なにがなんだかもう
1.は多分そう
2.は超過云々じゃなく課金有効後一定時間経過だったはず
> Note: it may take 15-20 minutes for resource allocation changes to take effect.
そもそも毎月$9じゃなく毎週$2.1だよ
課金有効にした時点で毎週取られる
あくまで全部多分の話
金が絡むことをこんな場所できいちゃだめ
公式フォーラム行きなさいな
そう言えば3月から月払い対応するって連絡もきてたな
58 :
nobodyさん:2013/02/12(火) 20:18:44.12 ID:C70uKqkZ
ためになった
最近GAE始めたばかりなので
offsetの事とか全然知らなかった
危ない危ない
その他の事はちょっと難しすぎて手に負えない感じだなあ
GAEのページングは地味に苦労する
cursor使うと
|< |<< [1][2][3][4][5]…..[20][21][22] >>| >|
こういう飛ばし飛ばしページング出来ないのがね
まぁ自分の経験上、ページングみるときに飛ばしながら見ることはないので
「次へ」と「戻る」だけでナビゲーションは事足りるんだけどね
なんだ、調べてみると cursor はそういう仕様なのか・・・
アンチパターンだの書いてあったが限定的すぎるわ
ああ、でも cursor 使わないと今度は
大量のデータのページングが行えないのか
どっちつかずだ
単純なトレードオフだと思うけどな
件数やページ指定必須のページングしたいなら
offsetでコスト高
TwitterやFacebookみたいに順次次のページが得られれば良いなら
cursor使ってコスト低
cursorがまだ無い頃に紹介されてた独自のcursor的設計とか
offsetとcursorを上手く組み合わせれば
もうちょっとバランスよくなるかも知れんが
結局使える範囲が狭くなるな
1.75ででるやん
しょぼいやん
66 :
nobodyさん:2013/02/14(木) 23:53:01.40 ID:UFQyynMf
全文検索の料金きまらねえと案件につかえねえ
>>66 自分で実装すればいいじゃん
適当な形態素解析ライブラリで検索対象の文章を分かち書きして
それをリストプロパティにぶっ込んでデータストアに保存(Create)
検索時(Read)は検索クエリを同様に形態素解析ライブラリで分かち書き
複数個の単語が帰ってくるから、それを元にリストプロパティから等価クエリ(=)で引っ張ってきてKeyリストを取得
得られたKeyリスト(複数)をAnd集合演算、最終結果のKeyリストをもとに
データストアから実態を取得でおk
Javaのほうだと実際にこれをやってる人何人かいる
Google Cloud Endpointというのを使うと
サーバ側でコードをあまり書かずに
クライアント側で結構完結できてしまう
ということなのかな?
>>67 全文検索の独自実装なんてとっくにやっとるのよ
それが高コストすぎるからSearch APIに期待してるわけで
Datastoreでアホみたいな高コスト要因になるクエリも
Searchなら多分そんなややこしいもんじゃない筈だしね
>>68 Endpointsはスマホアプリとかのバックエンドを
最低限のコードで実現できる仕組みだな
テスト版がJavaしかなくて残念だったけど
Pythonも対応したのでその内評価してみるわ
どなたかアイデアいただけませんか。
以下の様な MyModel があったとします。
class MyModel(ndb.Model):
message = StringProperty()
date = ndb.DateTimeProperty(auto_now_add=True)
MyModel.message には None 状態のデータが入る事があり、
message 内文字列が存在する MyModel を取得するために
以下の様な記述を行なっています。
q = Model.query(Model.message > None)
ここで、更に MyModel にデータが登録された日付で検索を行う条件を加えたい所ですが
不等号による検索を行なっているため
date での order は不可状態。
よって、message を登録する際は文頭に 日付の時間を必ず追加するようにしています。
これで解決できてはいるのですが、もっとスマートな方法はないでしょうか。
>>70 booleanのnone_flagを新設
文字列がNoneだったらCreateやUpdate時にTrueを入れる
デフォルトはFalse
None以外のエンティティを取得したい時は
none_flag=Falseと日付orderを使う
72 :
70:2013/02/15(金) 17:45:50.29 ID:???
おれも質問
ずっとPHPでCakePHP使ってきたんだけど
PythonというかGAEではコマンドでひながた作ったり
モデルデータを自動で作ってくれるフレームワークってないの?
公式からダウンロードできるGAEランチャーの左下の+を押せばひな形出来る(GUI)
デプロイもワンクリック
ぶっちゃけCUIでダラダラコマンド入力するよりこっちのほうが楽でしょ
モデルデータは知らん
web2py使ってたけどやめたわ。
全然標準でいける。
スレッドセーフで悩んでたやつは何でなやんでたんだ。
前スレみれないからわからんわ。
>>75 標準ってwebappのほう?
生産性的にはどうなんかね
>>77 webappだな。
生産性はビューまわりは悪いな、やっぱ。
作るものによっては、ビューエンジンだけ、Djangoのとか使ったほうがいいかもな。
他は変なストレスがなくてよい。
データストアとかは、変にラップされたもの使うより、自分で実装したほうが精神衛生上よいし、
認証周りも、フレームワークで用意してくれてるごっついもの使うより、自分で1から実装したほうが、
フレームワーク独特の仕様でイライラするようなことはないな。
まぁGAEにかぎったことじゃないがな。webappはシンプルでいいよ。
>>76 どうやったらスレッドセーフなものが書けるの?
みたいな話だったと思う
俺の理解はこのスレの
>>32 と変わんないから
もし知ってるならなんかヒントだけでもほしいよ
>>78 俺も同意
素直だけどGAE前提だから扱いやすいね
webappは2の方がいろいろ楽になってるから
英語しかないけど2使ったほうがいいな
80 :
nobodyさん:2013/02/18(月) 16:59:48.99 ID:5q8/651I
あああああ
k = db.Key('Entity', 'test')
db.delete(k)
みたいにフェッチしないで削除したほうが、よけいなREAD発生せずにすむのかね?
date型って、○月○日とか3日以内とかの条件で使えるのか?
年月日時間、別々で持った方がいいかなぁ。まぁじっくり設計して考えろって話だが。
試してみて結果報告を頼む
できない場合
dateを数値に変換したものを別に持たせとけば良さそう
>>85 両方できる
ただ比較演算子を温存するために定点からの日数や年数を持たせておくといいと思う
>>86 あぁ別で持つって手もあるのか。
なんか気づいたら報告する。
>>87 d
ほぅ。例えば日数だけで検索したい場合は、stringとかで持ってたほうが早いってことかな。
>>598 これを安全というか危険というか
今の放射能の議論は扱ってる数字は同じなので解釈問題になってしまってる
誤爆しました すみません
あのスーパーハカーも使っているGAE
dat2 = address2. all()
dat2.filter( "shikutyosonmei =",u '名古屋市千種区' )
dat2.order( "todofukenmei ")
dat2.order( "shikutyosonmei ")
dat2.order( "ooazatyotyome ")
ローカルではエラーが出ないがサーバーではエラー
dat2.get("ooazatyotyome","")
dat2.get("ooazatyotyome")
正解
dat2.ooazatyotyome
まえからそうだっけ?
あ、ちがう
ローカルではエラーが出ないがサーバーではエラー
dat2[0].get("ooazatyotyome","")
dat2[0].get("ooazatyotyome")
正解
dat2[0].ooazatyotyome
あれ 何が起こってるんだろ
今度はローカルで
AttributeError: 'dict' object has no attribute 'ooazatyotyome'
あ、わかった
データが取れない所でDict入れてた
スレ汚しすみません
ReferenceProperty持ってるエンティティ取得した時点で、
親エンティティの検索も発生しちゃうのか?
もしそうだとしたら、とりあえずキーだけ欲しくて条件によっては親エンティティも
取得したい場合は、ReferenceProperty使わないほうがいいのかね。
97 :
96:2013/03/02(土) 23:00:41.72 ID:???
Appstatsなるものがあるのか。自分で調べるわ。
98 :
nobodyさん:2013/03/03(日) 17:47:19.86 ID:JQuTw+Pi
w
特定のGoogleアカウントにだけアクセスを許可するページってどうやって作るんですか?
以下のコードでそれっぽいことできたんですが、もっと良い方法ないですかね。
if users.user_id() == 'アクセスを許可したいGoogleアカウントのID':
<ページを表示>
else:
<403ページヘリダイレクト>
ありますよ
101 :
nobodyさん:2013/03/15(金) 07:54:21.04 ID:4gK3sk/W
ui
102 :
nobodyさん:2013/03/15(金) 10:53:33.91 ID:C48HVSYd
>>99 どういう意図の制限か知らんが
それが一般にオープンなものじゃなくて
身内だけで使うものなら
そのアプリケーション単位のアカウント設定使いなよ
それだと administrator になりませんか?
104 :
nobodyさん:2013/03/15(金) 12:28:40.86 ID:C48HVSYd
Viewer Roleも渡せない相手なら
そりゃある程度手間かけないと
自分でやってる形が一番手軽だけどメンテしにくい
Accountモデル作ってキーをGoogleAccountのIDにして
key.get()で判定が一番早いかな
Datastore ViewerでCRUDできるし
ndbだとkeyで取ったらキャッシュするんで
メンテ時はキャッシュのフラッシュ忘れずに
ありがd
あんたA人屋根
前回散々叩かれたのに
また村上が懲りずにデマばらまいてる
そのうちこのスレにもやってくるぞ
108 :
nobodyさん:2013/03/18(月) 00:00:31.01 ID:oBAWUAZZ
クライアントのJavaScript上から投稿すれば?
クラウド通すと、犯罪予告とかに使われるぞ。
te
113 :
nobodyさん:2013/04/05(金) 14:36:44.83 ID:exGUhXLD
モデルエンティティにある名前のプロパティを操作すると
時々プロパティがなかったりしてエラーがでるんだけど
どうやってチェックするかど忘れした
114 :
nobodyさん:2013/04/08(月) 01:52:09.51 ID:qxm57EL8
全然伸びてないなぁ。
115 :
nobodyさん:2013/04/10(水) 08:56:46.33 ID:ZdxjB7Qn
日本で成功事例出てこないとむずかしいな
いまんとこゲームのバックエンドばっかりだし
116 :
nobodyさん:2013/04/10(水) 15:37:42.92 ID:ZdxjB7Qn
2.1ドルかからなくなってるな
Python2.7とndb時代に対応した参考書ってないのかな
Webドキュメントだけだと分散しすぎて体系的なノウハウ得にくいから
誰か出版してよ
こういうサービス使って電子書籍で売ってくれ
http://p.booklog.jp Paypalでもいいし
119 :
nobodyさん:2013/04/12(金) 10:36:21.35 ID:X5Q6bRz6
執筆してる間に新しくなったりするからなかなか難しいねえ
自分で分かる範囲なら細かいのでも答えるよ
中の人が言うように日本の利用者が増えないと
アジアでの運用もはじまんないし
初心者向けの入門サイト作るか
HelloWorldから始まり
フレームワーク(Webapp2ベース)を使った
分業しやすいフォルダ構成(MVCに分ける)
Datastoreと連携したTwitterライクなアプリケーション開発
・ユーザ登録(メール送信でアドレスが実在するか確認)
・投稿一覧表示、ページング(カーソル)
・画像ファイルアップロード(Blobstore)
・発言をフォロワーへFAN OUTする処理にTask Queueを使う等
こんな感じで実務向けに使えるものを懇切丁寧にコード添えて解説
Python GAEのサンプルは基本的なものはあるが
実用的なものが少ないのでそれを補ったほうがいいと思う
(だから習作以上のものが中々出てこない)
ところで質問です
思い立って使ってスレッドセーフのコードに変更しているんですが
webapp.RequestHandlerをwebapp2.RequestHandler
に書き換える必要はあるでしょうか?
webapp2.WSGIApplicatioについてはいろいろ言及があるんですが
RequestHandlerについてはあんまりありません。
教えていただけるとありがたいです。
122 :
119:2013/04/15(月) 10:11:55.04 ID:???
123 :
nobodyさん:2013/04/15(月) 12:53:14.28 ID:KWTb2j+5
webapp2_extras.localってi18nじゃなくて
Threadローカルで扱えるコンテナでしょ?
122のは前半はともかく
localについては嘘っぱちだから信じちゃいかん
なるほどとりあえずwebapp2にしとけってことですね。
おふたりともありがとうございました。
GAEPに興味はあるんだが中々腰が上がらない
これってAWSと比べてコスト安いの?
最初無料で使えるのはいいんだが
転送量とかCPU課金とか諸々の要素含めて
1000PVあたりのコストがどのくらい掛かりそうなのか
データがなくて導入できぬ
画面面積に占める割合が文字データ80%
画像データ20%の典型的なWebアプリケーション
マネタイズはAdsenseなどの広告のみ(CPMは50円程度)とした場合
黒字に出来るんかね
作りました!赤字です、じゃやる気にならない
かといってそこらへんの具体的なデータを出してる人がいない
そういうちまちましたのには向いてないと思うな
もっと遠大でないとわざわざ選ぶメリット薄い
そういうコストに関してどれくらいかかるかは
GAEのサイトに書いてあるよ
画面に占める割合とかじゃなくて、
ファイルサイズとか、
計算できる材料はあるでしょ?
ちゃんと計算してみなよ
129 :
nobodyさん:2013/04/17(水) 19:21:57.89 ID:xekc1LTh
glassってもう出回ってんの?
130 :
nobodyさん:2013/04/17(水) 20:59:58.58 ID:QU1A5c7b
◆じゃあのさん劇場◆
21時 開演予定(開演時間は遅れる場合があります)
892 名前:以下、名無しにかわりましてVIPがお送りします[] 投稿日:2013/04/17(水) 00:36:28.53 ID:3UTZp96G0
おうwwww俺だwww
なんか、保守デモ関連できな臭い話聞いたんだがよおwww
まだ情報の整理と、関係者からの裏とりはできてねえから公開は今日の21時以降になるwww
ミンスのクソどもも関わったカルト団体に関する情報だwww楽しみになwww
じゃあのwww
--- 以下スレ情報 ---
高岡さんがフジ韓流ゴリ押し批判したら干されたのでウジテレビ凸
http://hayabusa.2ch.net/test/read.cgi/news4vip/1366132575/
131 :
nobodyさん:2013/04/18(木) 09:06:13.36 ID:XU80Xxbm
ひがさん slim3更新してくれないかなー
さくらインターネットでjpドメインとったんだけど、
www.ドメインのcnameに「ghs.googlehosted.com」セットして24時間以上たっても解決できないんだけど、
何かやり方知ってる人いませぬか?
>>133 appとgaeの関連付けちゃんとやってある?
app側でもgaeを関連付けないといかんけど
>>134 関連付けやってるよ
以前にも何度も独自ドメインでやった経験あるんだけど、なぜか今回はできない。
その時はお名前.comで、今回初めてさくらインターネットでドメインとったから、
たぶんさくらインターネットのドメイン設定に原因があると思うのだけれど。。。
DNSかも知れないしもうちょっと時間がかかるだけかもしんないね
137 :
133:2013/04/20(土) 16:06:07.73 ID:???
ありがとう 自己解決した
ghs.googlehosted.comという値の最後にドットを付けないといけなかったらしい
www CNAME ghs.googlehosted.com.
138 :
nobodyさん:2013/05/08(水) 18:03:52.68 ID:GQZD525G
PHPをサポート言語に追加とか言ってるぞ
マジやめて
貴様の頭脳よりGoogleデベロッパー様の頭脳のほうが格段に上だ
貴様がNoと言うのなら、Googleデベロッパー様の考えが正しいのだろう
142 :
nobodyさん:2013/05/24(金) 01:07:31.79 ID:IXkef+nZ
phpなかなか順番こねー
なんか朝からサーバーエラーだわ
M/Sほんとダメってる
さっさとHRD化しちまおう
google.appengine.ext.db ってまだ使える?使わない方がいい?
developmentサーバってCPUを結構くうんだな。ノートPCのバッテリーがもりもり減ったわ。どうしてくれる。
146 :
nobodyさん:2013/05/26(日) 09:47:54.07 ID:MnYU1h6G
GAEは HTTP_RANGE って取得できる???
馬鹿には無理
148 :
nobodyさん:2013/05/27(月) 09:31:07.23 ID:GfmfkIoD
今更dbは使うメリットないよ
せいぜい、サンプルがndbより少し多いってだけ
わざわざコード書き換えてまでndbにする価値あるかな?
150 :
nobodyさん:2013/05/27(月) 16:27:05.69 ID:GfmfkIoD
Keyでのgetにキャッシュが自動で効くから
作りによっては課金を大きく減らせるかも
dbで手厚くその辺カバー済みの人は効果薄いけど
Googleのサンプルとかでもndb主体になってるから
メンテし続けるならndbに置き換えといた方が良いよ
このスレの上の方に移行用にGvRの書いたドキュメントのリンクあるし
どんどんmemcacheに放り込んでいったら
最終的に課金が激減したわ
ところでpydevでmemcacheのメソッドの
未定義って警告が消えないんだけど
これ何か問題あんの?
pydev って eclipse のプラグイン?
たしかそのプラグインは不安定で
エラーや警告が出まくる事はあったかな
そう、Eclipseのやつ
結構アップデート入ってるみたいなのに
いつまでも解消されないんだよね
今のところEclipse上の警告だけっぽくて
本番でも開発用でもエラーとかは出ない
pydevだけの問題なのかな
ありがとう!!
Blobstoreに登録した画像を外部に投げたいんですがsend_blobとget_serving_urlではダメでした
TwitterモジュールはTweepyを使っています
どちらの関数もos.path.getsize(filename)でos.errorを吐いているので画像として取得できてない?感じです
どのAPIだよ
fileじゃない
自前でBlobstore対応に書き換える
ありがとうございます
外部=Twitterにです、すみません
具体的に言うとTweepyのupdate_profile_imageでプロフィール画像として登録したいのです
>>157 REST API 1.1だと思います(勘違いしていたらすいません)
>>158 ファイルを送りつけるっぽいsend_blob(save_as=True)でもダメでした
>>159 モジュール内でfp.read()をしていたのでこれをBlobReaderにしたら動くかな?
試してみます
BlobReaderでできました><
162 :
nobodyさん:2013/06/06(木) 22:07:03.69 ID:+dx8dQR6
リークw
うーむ2, 3ヶ月ぶりに
Google App Engine Launcher を起動して1.8にアップデートしたら
ndb.Model に設定したプロパティが存在しないとか言われて
AttributeError で値が取得できなくなってしまった
Console で確認してみるとデータストア値は正常に格納されているし
何かアップデートで変更がかかったのかな
簡単なプログラム作って1から検証や…!
Gitはバージョン管理ソフトだよね?
Gitが使えると何がうれしいの?
最近はGitに公開してるソースを就活時にアピールするんだ
168 :
nobodyさん:2013/06/15(土) 01:16:56.63 ID:F6WFJorJ
どうせ大抵git使ってるだろうし
多少規模が出てきたらpushでデプロイしたくなるよ
1人開発だとそこまででもないかも
170 :
nobodyさん:2013/06/19(水) 09:39:15.55 ID:ImwWCD0b
障害多いな
171 :
nobodyさん:2013/06/20(木) 10:39:31.55 ID:U909f5q7
Java版のスレないの?
174 :
nobodyさん:2013/06/20(木) 15:04:47.08 ID:U909f5q7
if 馬鹿には無理:
if 馬鹿には無理:
if 馬鹿には無理:
      pass
175 :
nobodyさん:2013/06/20(木) 21:25:23.72 ID:U909f5q7
fa
176 :
nobodyさん:2013/06/20(木) 21:35:09.21 ID:U909f5q7
IDかぶり?
たまにかぶるね
まさかこんな過疎板でかぶるとはな
Dashboard見てたらこんな表示が
Looks like you're using Backends. We suggest that you make the switch to App Engine Modules.
See the Modules documentation to learn more about converting: Python | Java.
181 :
nobodyさん:2013/07/17(水) NY:AN:NY.AN ID:t+kBVwkP
modulesはまだいまいち移行する気にならんよなあ
previewってのもあるけどドメインの扱いとか
バージョンと混同しそうでなんか嫌だ
どういうアプリケーションだと嬉しいのかね
GAEは少資本の学生起業家等に最適だと思うんだけどねー
スマホアプリのバックエンドとしても使えるし
応用の幅があっていいんだが中々普及してくれない
サービス開始当初は著名プログラマーがこぞってGAEで開発してたけど、どうして使わなくなったのだろう?
DataStore難すぎ。費用計算が複雑。標準APIに制限があるのでサードパーティのライブラリが使えないものがある。スピンアップを考えると、大き目のFrameworkが使えない。とか?
当初は全文検索がなかったから実案件に使いにくかったというのがあるな。
独自に実装するには形態素解析とDataStoreに対する深い理解がないと無理だったし。
あとPythonでもスピンアップ遅い&スピンアップ後も
レスポンスがモッサリでUXが悪かった。
「合わないアイデアが多い」ってのが
スタートアップなんかで採用されにくいとこじゃないかな
SongPOPとかSnapChatみたいな成功事例出てきて
適したアイデアを探す連中も増えそうだけど
GCEがもっと身近でGAEと連携しやすくなれば
Amazonから流れてくる層も増えるかな
VM Runtimeっていまいち情報みつかんないんだけど
modulesのひとつに、実態はGCEなVMが指定できる感じ?
管理のイメージがどうもピンと来ない
たしかにこわいな
Cloud DatastoreとかCloud SQLもおんなじかな
visaデビッドみたいなカードで登録しとけば
残高分しかリスク負わなくて済むんで
おれは念のため全部そうしてるよ
>>189 visaデビットでも関係なくね?
残高以上引かれなくなるというだけで
請求のタイミングまでに発生した従量制の課金債務はなくならんぞ
あとから支払い督促状が届くだけな気がするが…
AWSのS3あまりよく知らないんだが
GCS(Google Cloud Storage)と同じく上限設定ないのかな?
中国人がシステムを悪用して大量に動画像をDLしまくって
転送量課金を増やしまくる攻撃とかあり得そうで怖すぎる
パケット定額なしのスマホ持たされるようなものだな
個人ではそういう攻撃に対して無力だな・・・
GAEはもう流行ってないのか
PaaS環境は魅力的だがElastic Beanstalkみたいなのもあるしな
無料でずっと気楽に使えるGAEは良いわ
App Engine ModulesはEJBの目指した世界に近いな
>>196 他のサービスでそのEDoS攻撃対策されてるとこあんの?
重い画像や動画アップロードするようなサービス自体に
そもそも無理があるわけで
各所で動画サイトが潰れまくった経緯を知らないほどアホなんだろうか
動画サイトはビジネスモデルが広告で
回線費用>広告収入になりやすいからな
画像系くらいなら問題なく運用出来てる所ばかりじゃね?
動画はYoutubeに任せればいいが
画像をまったく使わないテキストデータ
オンリーのサービスってあんまり見かけないな
ユーザプロフィール画像みたいなアイコンでも
テキストデータよりは情報量多いから
そこ目掛けて大量アクセスすりゃあっというまに
運営者の財布がスッカラカンになる
AppEngine限定ならstaticはGoogleのCDNから配信だから
アイコンとかはまあどうにかなるよね
動的に受け取る場合は厳しいけど
まあappengineに限らず従量制が多いクラウドにつきまとう問題だけど
大手はどこも配信にコストかかってるわけだよね
appengie側でDDoS対策用意するか
サードパーティのDDoS防御ソリューション組み入れられる機構にしないと
根本的には対処しようがないよね
メモリキャッシュだけを利用してチャットするだけみたいなシステムだと
フリー枠だと分間30アクセスくらいでどのくらい使えるんだろうか
規約がよくわからんが対戦ゲーム用のプロトコル作れば捗りそう
>>203 プロトコル作るとかアバウトすぎて見積しようが無いよ
最初からフリーで収めるつもりなら
GAEにしない方がいいとおもうけどな
だれかPHPためしてるひといる?
Love it!
Googleからユーザー情報の漏洩はあるんかね
node.jsの対応して欲しい。
ここってアダルト可?
無理
>>211 レスありがとう。
エッチなのはダメか、残念…。
今はポルノ規制は撤廃されてるはず。
英語版の利用規約を見てみたら?
216 :
nobodyさん:2013/09/15(日) 12:56:21.33 ID:SfGmDfII
すげえ! いっきに評価が変わったぜ!!
217 :
nobodyさん:2013/09/17(火) 14:07:56.21 ID:f/zei361
作れるアプリ数もっと増やせないのかな
ちょっと窮屈になってきた
GAEって3.3とかバージョン選べますか?
wなんだよ3.3って?
Pythonのバージョンだよ
221 :
nobodyさん:2013/09/18(水) 12:09:37.47 ID:gKUd666P
pon
223 :
nobodyさん:2013/09/19(木) 09:38:55.85 ID:2DO9sy6x
アプリ数が10超えそうなんでアカウント増やそうと思うんだけど
管理してて困ることってありますか?
あれ、自分は10以上にできてるけど。
たぶん信用されたら枠が増えると思うよ
225 :
nobodyさん:2013/09/23(月) 19:00:20.10 ID:6xUsxWFz
課金した分は増えるんだけど
課金しても料金発生してないからその分は増えないっぽい
226 :
nobodyさん:2013/09/27(金) 05:19:17.34 ID:fbpfkdAA
227 :
nobodyさん:2013/10/08(火) 16:34:27.32 ID:+1XP7p2Y
>>226 同じページを返すのは簡単にできます
キャッシュを使わせるにはフロントエンドキャッシュを有効にすればいいだけですが
2つのURLで同じキャッシュを使わせる方法は知りません
228 :
nobodyさん:2013/10/08(火) 16:35:35.08 ID:+1XP7p2Y
片方のURLにリダイレクトを返すようにしておくってのはどうでしょうか?
そしたらキャッシュがあれば使われる気がします
過疎ってんなあ
誰かモジュールの使い方教えてくれ
英語ページ何度読んでも結局どう使っていいのかわからん
ていうか、全体に使いにくいしな
理想論的にはエスペラント語に近いわ
231 :
nobodyさん:2013/10/19(土) 10:40:39.52 ID:CkAuxCIP
Master/Slave のサポート期限っていつだっけ?
お前ら個人で最高いくら請求きた?
SOHO等、経費除く。
233 :
nobodyさん:2013/10/22(火) 10:59:12.29 ID:8Hrfr4H/
最高で3万くらい
ページングで無限ページ生産しててそれを無数のボットが延々とたどってた
234 :
nobodyさん:2013/10/23(水) 16:14:17.94 ID:OxKB/bfX
こわいなそれ
チキンだから日$2が限度だわ
235 :
nobodyさん:2013/10/25(金) 14:24:52.86 ID:XHryq/AE
もちろん上限設定しとけばそんなことはないんだけど
企業サイトだったしいろいろいじってる最中だったから
テストの負荷分で落としちゃ悪いと思って上限に余裕とってたからね
がんばって料金抑えたから一年くらいで黒字になるからいいけど
236 :
nobodyさん:2013/10/28(月) 11:18:00.97 ID:Q6kLAiC2
>>235 ちなみに料金抑えるのにどんな工夫した?
Datastore writeキツイなぁ
238 :
nobodyさん:2013/10/29(火) 10:40:18.27 ID:y+BQMiVe
>>236 課金のほとんどがフロントエンドインスタンスだったので
長くなる処理をフロントエンドで待たせるとインスタンスが必要になるので
jsonでページに結果を渡す仕様に変更して
時間のかかる処理をバックエンドにやらせて結果を通知してからダウンロードさせた
あとはDatastoreの結果を30秒キャッシュしたくらい
バックエンドでやらせた結果をblobでURL渡しにできたらもっと課金減らせると思う
最近、 Deadline exceededが増えてる気がする。
エビデンスはない。
240 :
nobodyさん:2013/10/31(木) 08:04:00.27 ID:gzKHVm+h
昔見たロードマップでPython3に対応するっていってた気がしたんですが
その後何か変化あったでしょうか?
apiproxyが死にがちな気がする
え?エロおkなの?まじで?
何か知らないうちに新機能実装(テスト)されてたりするな
あの鬱陶しい、直リンもしないアップデート通知になんか情報乗っけとけよとは思う
webapp2、シンプルで好きなんだが、みんな認証どうやってんの?
AuthKitとか使えばいいのか?
Cookieベースのセッションは、Railsと似た方式ね
特に困った経験は無い
おお、これでやってみます。
ありがとう!
ちなみにBASIC認証はどうしてる?
公式リリース前に関係者にレビューしてもらいたいだけなんだが•••
情報サンクスです!
GAEでホームページを作っているのですが
404ページをカスタマイズするにはどうしたら良いですか?
具体的には存在しないURLにアクセスしたらトップページにリダイレクトするだけでいいのですが。
253 :
nobodyさん:2013/12/01(日) 11:36:51.11 ID:2jNrRIHk
254 :
252:2013/12/02(月) 00:20:22.53 ID:???
>>253 返信ありがとうございます。
app.yamlを下記のようにしましたがデフォルトの404ページが出ます。
application: ***
version: 1
runtime: python27
api_version: 1
threadsafe: yes
handlers:
- url: /
static_files: htdocs/index.html
upload: /
- url: /
static_dir: htdocs
error_handlers:
- file: index.html
255 :
nobodyさん:2013/12/02(月) 10:00:10.51 ID:lpvRac5e
>>254 htdocs/index.html
では?
256 :
252:2013/12/02(月) 20:52:47.15 ID:???
>>255 Deploy時に
Error 400: --- begin server output ---
Client Error (400)
The request is invalid for an unspecified reason.
--- end server output ---
がでてDeploy出来ません。
257 :
nobodyさん:2013/12/03(火) 10:44:02.83 ID:+YtsDmGG
あ、ごめんそもそもover_quota dos_api_denial timeoutしかハンドルされてないみたいね
404はハンドラの最後にそれ以外のすべてのURLを対象にして
- url: /.*
static_files: htdocs/index.htm
upload: htdocs/index.htm
258 :
252:2013/12/03(火) 14:03:55.56 ID:???
>>257 デフォルトの404が出ます。
- url: /
static_dir: htdocs
ですでにすべての下位URLに割り当てられているせいだと思います。
259 :
nobodyさん:2013/12/03(火) 14:43:21.25 ID:+YtsDmGG
261 :
252:2013/12/03(火) 17:55:02.74 ID:???
262 :
nobodyさん:2013/12/03(火) 18:18:31.16 ID:+YtsDmGG
Blobstore使う時に、同じ画面で「画像ファイル指定」と「文字入力」を同時にさせたいことが良くあるじゃないですか。
で、「文字入力」欄に日本語が入力されると、文字化けしませんか?
ローカル開発環境だと日本語が入力されても問題なく処理できるんですけど、本番環境だと文字化けするような・・・どうしよこれ。
264 :
nobodyさん:2013/12/16(月) 10:33:26.68 ID:ohWcrgQx
LINEに数年前にデートしたデパガが現れたから声かけたら
気がついたら食事に行く話になってた
細かい日程まで決めてないからこのままフェードアウトしよっと
265 :
nobodyさん:2013/12/16(月) 10:34:09.17 ID:ohWcrgQx
あ、ごばーく
Goolgeのhelloworldアプリが以下のエラーで起動すらできないのですが何か原因分かりませんか。
Google App Engine Launcherやコマンドプロンプトでdev_appserver.pyを直接動かしても起きるようです。
2013-12-20 00:35:58 Running command: "['C:\\Python27\\pythonw.exe', 'C:\\Program Files\\Google\\google_appengine\\dev_appserver.py', '--skip_sdk_update_check=yes', '--port=8080', '--admin_port=8000', 'D:\\develop\\work\\python\\helloworld']"
Traceback (most recent call last):
File "C:\Program Files\Google\google_appengine\dev_appserver.py", line 197, in <module>
_run_file(__file__, globals())
(中略)
File "C:\Python27\lib\mimetypes.py", line 249, in enum_types
ctype = ctype.encode(default_encoding) # omit in 3.x!
UnicodeDecodeError: 'ascii' codec can't decode byte 0x83 in position 9: ordinal not in range(128)
2013-12-20 00:35:59 (Process exited with code 1)
なお環境は WinXP 32bit, Python 2.7.6, GAE SDK 1.8.8 です
>>266 ググればすぐに情報が見つかるよ。
レジストリのHKEY_CLASSES_ROOT\MIME\Database\Content Typeに
ASCII以外の文字を含むタイプ名が登録されていると例外が発生する。
QuickTimeがロシア語の名前を登録するのが原因らしい。
>>268 詳細な情報ありがとうございます。
Windows環境で発生するというのは見かけましたがそういうことだったんですね
一応Pythonのバージョンを2.7.5にすると動くことを確認しました。
レジストリの掃除はちょっとホネが折れそうなのでこれでしのぎます
基本的なことだと思うんだけどunique制約がないから
重複登録の防止ってどうやってる?
いちいち全データを取得して被ってないかチェックしか思いつかない・・
271 :
nobodyさん:2014/01/06(月) 09:39:23.59 ID:JOlxiE+j
結果をkeyで取得すれば高速だし重複処理もできるからそうしてる
272 :
nobodyさん:2014/01/12(日) 01:31:59.89 ID:q2C1gqcI
Invalid arguments
Runs a development application server for an application.
dev_appserver.py [options] <application root>
Application root must be the path to the application to run in this server.
Must contain a valid app.yaml or app.yml file.
と先頭にダラダラと怒られます。どうすれば良いでしょうか?
273 :
272:2014/01/12(日) 01:35:30.43 ID:q2C1gqcI
pythonのバージョンは2.7.2
GAEのは1.7.5
OSはWindows7
一応、この環境で学校のは動いたのですが、自分のが動かないです。
困ってるの教えてください。
274 :
nobodyさん:2014/01/12(日) 09:47:32.02 ID:UltINpuS
dev_appserver.pyの起動オプションが間違ってるって書いてあるじゃん
ランチャかpydevの起動オプションチェックした?
275 :
272:2014/01/12(日) 12:11:56.31 ID:q2C1gqcI
>>274 ランチャかpydevの起動オプションチェックするってどういうことですか?
(学校の同じ環境で、コマンドでオプション何もつけずに、うまく行ったんですけど)
276 :
nobodyさん:2014/01/12(日) 13:18:31.27 ID:UltINpuS
ルートディレクトリが違ってるのかも
277 :
272:2014/01/12(日) 13:46:00.63 ID:q2C1gqcI
>>276 ルートディレクトリが違うってどういう意味ですか?
素直に先生に相談してみたら.
何のために学費払ってんの
>>277 app.yamlがあるフォルダへ移動して
dev_appserver.py .
(半角ピリオド)
としてみたらどうだ?
あと、家のGAEバージョンは?
280 :
272:2014/01/12(日) 18:39:33.85 ID:q2C1gqcI
>>278 先生がギブアップしてしまった。
>>279 >>273に一通り書いたつもりだけど、GAEのバージョンは1.7.5です。
C:\Users\Y.Sato\Desktop\GAE>"C:\Program Files (x86)\Google\google_appengine\dev_
appserver.py" ae-00-testing
こんな感じでコマンド打ってます。
半角とピリオドつける場所、わかりません。。。
>>280 デスクトップのGAEフォルダの下に、
ae-00-testing というフォルダがあって、
そのフォルダ内にapp.yamlがあるの?
cd ae-00-testing してから
dev_appserver を叩いたらどう?
なんでGUI版使わないんだろう
283 :
272:2014/01/13(月) 01:15:42.70 ID:mgMypIex
>>281 一つ目の質問は、そういうことです。
それだと、上手くいかないですね。
284 :
nobodyさん:2014/01/13(月) 10:19:55.25 ID:3FBly2eI
コマンドプロンプトで
dir C:\Users\Y.Sato\Desktop\GAE
dir C:\Users\Y.Sato\Desktop\GAE\ae-00-testing
やって結果晒して
285 :
272:2014/01/13(月) 19:11:01.95 ID:mgMypIex
2013/12/17 16:26 <DIR> .
2013/12/17 16:26 <DIR> ..
2013/12/03 16:44 <DIR> ae-00-testing
2013/12/14 23:53 <DIR> ae-01-webapp
2013/12/17 16:24 839 ae-01-webapp.zip
2013/12/15 17:18 <DIR> ae-04-templates
2013/12/17 16:26 2,343 ae-04-templates.zip
2 個のファイル 3,182 バイト
5 個のディレクトリ 386,548,281,344 バイトの空き領域
2013/12/03 16:44 <DIR> .
2013/12/03 16:44 <DIR> ..
2013/12/31 13:59 110 app.yaml
2013/12/29 23:14 68 index.py
2 個のファイル 178 バイト
2 個のディレクトリ 386,547,691,520 バイトの空き領域
pastebin.comにdev_appserver.pyを実行したときのエラーメッセージを全部貼れ
287 :
272:2014/01/13(月) 19:30:30.88 ID:mgMypIex
>>287 ..\GAE>python "C:\Program Files (x86)\Google\google_appengine\dev_appserver.py" ae-00-testing
先頭に"python"をつけて実行してみて
289 :
272:2014/01/13(月) 20:27:14.38 ID:mgMypIex
>>288 いけました! ありがとうございます!
これ、学校の先生に報告したら、喜ばれる!
(でも、何が学校と違ったんでしょうか??)
290 :
288:2014/01/13(月) 21:22:34.44 ID:???
>>289 プロンプトでこれを実行して
>assoc .py
.py=ほにゃらら
みたいなのが出力されるから
>ftype ほにゃらら
を実行
その出力結果を貼って
291 :
272:2014/01/13(月) 21:40:03.16 ID:mgMypIex
>>290 C:\Users\Y.Sato\Desktop\GAE>assoc .py
.py=Python.File
C:\Users\Y.Sato\Desktop\GAE>ftype Python.File
Python.File="C:\Python27\python.exe" "%1" %*
292 :
288:2014/01/13(月) 22:48:18.72 ID:???
関連付けが間違ってるのかと思ったらそうではないようだ
原因は分からん
エラーメッセージから何らかの原因で引数がうまく渡っていないことが
想像できた。こういう場合はOSがやらかしている可能性が高いので
直接python.exeを呼んだら出来たというわけ
293 :
nobodyさん:2014/01/16(木) 16:04:59.53 ID:n0982M2h
終わってみたらくだスレネタだった
https://cloud.google.com/console/project この左側メニューの課金>請求先アカウントの一部が勝手にキャンセルされてしまった。
テスト段階だから課金は当然$0の延滞なしなので理由不明。(課金を無効にしたまま暫く放置すると強制キャンセルされる?)
>この請求先アカウントはご利用いただけなくなりました。
>残りの請求書や料金、払い戻し(該当する場合)の詳細はこちらをご覧ください。
プロジェクトのほうから課金を有効にしようとするとエラーになる(=課金設定が必要なAPIが使えないという状態)
>サーバー エラー
>申し訳ございません。
>もう一度お試しください。問題が解決しない場合は、以下の [フィードバックを送信] を使ってお知らせください。
>下記の追跡番号をコピーしてフィードバックにご記入ください。よろしくお願いいたします。
>追跡番号: undefined
エラーの原因となっているであろう、参照中のキャンセルされた請求先アカウントを変更しようとしたが
そんなメニューはどこにもなく、請求先アカウントの再有効化のメニューもない。
完全に詰んだ。
age
296 :
nobodyさん:2014/01/17(金) 11:33:47.32 ID:+BA0LYJJ
>>294 まったく同じ現象でした
アカウントは別に使えるので
プロジェクトを作ってみたら作れました
古いプロジェクトは様子見て削除
今みたら課金有効化のエラーメッセージが変わってた
>サーバー エラー
>申し訳ございません。
>もう一度お試しください。問題が解決しない場合は、以下の [フィードバックを送信] を使ってお知らせください。
>下記の追跡番号をコピーしてフィードバックにご記入ください。よろしくお願いいたします。
>追跡番号: undefined
↓↓↓↓↓↓↓↓
>サーバー エラー
>undefined
Googleさんよ、頑張ってなおしてくれ
このままだとAWSに揺らぐ気持ちを抑えられない
請求先アカウント名 ステータス
Billing Account for XXXX 閉鎖
Billing Account for XXXX 閉鎖
Billing Account for XXXX 閉鎖
Billing Account for XXXX 閉鎖
この請求先アカウント一覧リストにも削除メニュー必要じゃねって毎回思ってる
閉鎖して関連付けられなくなったアカウントが残り続けているのは見た目、心象ともに悪し
コメント欄追記でバージョン管理している会社のソースコードの手直しを任された感じといえば分かるだろうか
頑張って直してくれ
299 :
nobodyさん:2014/01/17(金) 12:08:56.49 ID:+BA0LYJJ
>>294 あとapp engine のbilling settingsで決済カードを編集したり削除して改めて登録することもできます
300 :
nobodyさん:2014/01/30(木) 15:53:46.86 ID:fy33022l
pydevのアップデートをチェックしてアップデートしたあと
デバッグしようとすると
ImportError: No module named json
というのが出て それはdjangoの中へのパスをプロジェクトプロパティの
pyshonpathで指定したら出なくなったんですが
次に
Unexpected error setting up the debugger
Socket operation on nonsocket: configureBlocking
が出て来ました
回避方法・元に戻す方法などなんでもいいので教えてください
win8.1 64
eclips kepler
pydev 最新のをPyDev Update Site -
http://pydev.org/updates/から再インストールしてみました 何卒お助けください
301 :
nobodyさん:2014/01/31(金) 14:46:14.26 ID:mlRzVxK1
アプリケーションランチャーおよびコマンドプロンプトからは開発サーバーが起動できます
Pydev のStart Debug Server も起動できます
pydevのDebug Configrationsを使ったデバッグで失敗します
コンソール出力です
pydev debugger: warning: psyco not available for speedups (the debugger will still work correctly, but a bit slower)
pydev debugger: starting
pydev debugger: google app engine integration enabled
WARNING 2014-01-31 14:27:42,539 urlfetch_stub.py:115] No ssl package found. urlfetch will not be able to validate SSL certificates.
WARNING 2014-01-31 14:27:42,628 rdbms_mysqldb.py:74] The rdbms API is not available because the MySQLdb library could not be loaded.
Error: option --python_startup_script not recognized
Runs a development application server for an application.
dev_appserver.py [options] <application root>
Application root must be the path to the application to run in this server.
Must contain a valid app.yaml or app.yml file.
Options:
--address=ADDRESS, -a ADDRESS
<以下略>
option --python_startup_script
についてぐぐってみましたが有力な情報が出てきません
pydevをダウングレードする方法はないでしょうか?
よろしくおねがいします
302 :
nobodyさん:2014/02/01(土) 12:37:47.93 ID:2KFQvVu0
pydevをダウングレードしたら直りました
お騒がせしました
303 :
nobodyさん:2014/02/06(木) 19:05:33.42 ID:wcYz7Wuz
DataStoreへのアクセスを減らすためにmemcacheを使おうと思ってるのですが、
これってアクセスされないデータから順に削除される見たいな記述があるんですが、
必ず消されないデータみたいなものって定義できます?
やりたいこととしては、頻繁に書き換えられるエンティティがあるんで、
それをキャッシュしておいて、
書き換えが発生した場合、キャッシュのみを更新していって、
30分とか1時間とか決まった時間経過するとバッチで、
DataStoreに書き込んで最新化するようにしたいんです。
304 :
nobodyさん:2014/02/16(日) 11:14:42.24 ID:x7he8HhJ
NDBは書き込みにキャッシュ無いよ
読み込みのキャッシングにmemcache使ったり
コンテキスト内でのキャッシュがあるぐらい
消されないデータってのはmemcacheじゃ無理
そもそも永続化の仕組みじゃないんだから
いつ消えるか分からないし保証はない
何を扱ってるか見えないからこれ以上言いようが無いけど
途中の更新が喪失しても問題ないものなら
memcacheに通常書き込んで
ただtaskqueで30分おきとかで永続化したら?
306 :
nobodyさん:2014/02/17(月) 16:41:13.43 ID:XebsJzK2
memcacheは読み出しのキャッシュなんだし
存続時間に保障がない仕様なんだから
リスク覚悟でやるしかないね
作るのは簡単なんだし
Discounted Instanceみたいなbackend用の割引サービスほしいのお
310 :
nobodyさん:2014/04/23(水) 17:50:18.58 ID:SqpWaV/m
過疎ってるからレスあるのか不安だけど質問していい?
many-to-many(多対多)が必須なアプリケーション
(Twitterならuser-timeline)ってGAEじゃ作れないよね?
timelineにListProperty付ける方法だと
数万人のフォロワーにtimeline配信(Fanout)するの無理だし
(仕様です、で押し通すのはちょっと…)
UserTimelineの結合テーブル用意する場合だとパフォーマンス的に問題あるよね
特にFanout書き込み処理時
(書き込みあるごとにフォロワー数万人分の参照用データを書き込み…)
(TaskQueueに投げて処理するとコスト高くないかい?)
311 :
nobodyさん:2014/04/29(火) 17:43:40.42 ID:F2pgXBlu
>>310 そういうのこそ Google App Engine が大好きな分野だろう
パフォーマンス的にも、100% 問題ない。
対多だったらCloud SQLかと思ってたけどそうでもないの?作り方次第?
なんでここpython限定なの?
GAE Javaスレは過疎って消滅したはず
315 :
nobodyさん:2014/05/03(土) 19:18:04.52 ID:dwgN+kay
app = webapp2.WSGIApplication( [('/',OpenPage), ('/result',PostPage) ], debug=True )
という形で作ったんだけど
index.htmlみたいな物は無いのでしょうか?
すごく久しぶりに弄ろうとしたら
いつのまにか 10 個から 25 個にアプリケーション枠増えてるのね
マジか
318 :
nobodyさん:2014/05/29(木) 08:39:19.03 ID:kYNnKCf7
ネイティブスマホアプリのバックエンドに使ってみようかな
>>141 試しにアプリ増やしてみたけど Python 2.5 でもまだいけてる
>>131 どんどん使いやすくなるね
ユーザー少なすぎてサービス終了にならないかどうか心配
>>316 マジ!?
>>319 Amazonの方に人が流れてそうだから心配。Googleには頑張って欲しい。
321 :
nobodyさん:2014/05/29(木) 13:08:15.48 ID:Tmn0U92g
まじかー、結構グラフ赤になること多かったから1ドル運用してみっかな
俺は使わんが、PHPに対応したのはいいと思う
次はRubyだな
Herokuの客層を取り込めれば大きい
>>319 ロックイン上等のシステム作っておいて
勝手に終了されたら潰れちゃう会社出てくるだろ
AWS向けに移植するにしても金かかるんやぞw
フロントエンド(HTML&JavaScript)部分は流用できるとしても
データストア関連のコードは全部書き直しだわ
だから心配してるんだよ
簡単に引っ越せたり
そもそもどうでもいいサービスなら
客減ろうが潰れようが
どうなろうと知ったこっちゃない
データストア関連のコードを抽象化するレイヤーでwrapすれば良いNONI
AWS の SQL で Master/Slave とか HRD の
Datasore をエミュレーションする python ラッパー作ったら需要あるかな
それなら最初から AWS で造った方が良いか
>>325 そんな大事なサービスをGAEで作っちゃったんですか!?
て話になる。
GAEってどうなの?使える?
使える
331 :
nobodyさん:2014/06/01(日) 04:04:02.09 ID:qDHk7um9
初心者質問ですみません。サービスを作って公開したところへスクリプトか何かでアタックされたら一気に課金枠内上限までいってサーバーが停止してしまうのでしょうか。Googleが感知してIPを弾いてくれたり、何らかのガードはGAEにデフォルトで付いてるのでしょうか。
もしそういった仕組みが無ければみなさんその辺りは自分で対策されているのでしょうか。
332 :
nobodyさん:2014/06/01(日) 10:14:04.61 ID:iT9OtQtU
>>324 データストア関連コードの書き換えなんてそんなに面倒かな?
333 :
nobodyさん:2014/06/01(日) 10:19:09.18 ID:iT9OtQtU
>>331 一日単位で課金の上限に行くとサービス停止する
IP弾く機能はあるけどIPの登録は自分でする必要がある
自分は月間の予算を3倍取っておいてサービス継続を優先してる
異常があったらすぐIP弾いたりする
いままで一番多いのはBINGBOTだったけどね
なくなったページにいつまでもアクセスしてくるからログがそればっかりになる
302返さない自分も悪いんだけどさ
へんなアクセスの IP はプログラム自信で見つけることは可能なので自動化したいけど
IP の登録はダッシュボードからしか出来ないのかな?
アク禁 IP 登録用の API とかある?
335 :
nobodyさん:2014/06/01(日) 14:29:50.46 ID:iT9OtQtU
>>334 ないよ
IPの登録はdos.yamlとかdos.xmlをアップロードすることで可能だから
ファイルアップロードをapp engine内で行えば可能かも
>>333 レスありがとうございます。IPは手動登録なんですね。
ロボット向けにきちんと正しいステータスコードを返すべきというのも参考になりました。
>>335の方法も興味深いです。
ユーザー投稿有りでデータベースを増やしていく形のサービスの依頼(仕事レベルでは無い)を受けていて、アクセス過多以外にデータベースのデータ(イコールこのケースでは資産)をどうスクレイピングから保護するか、という事も気になっていました。
ベストはユーザー登録。
ユーザー未登録で投稿可能にするのであればIP監視も必要。
ユーザーエージェントもチェック。
IPやユーザーエージェントは偽装可能なので、他にクッキーかURLのquery経由で一時的なIDを渡してやってGAE側でvalidateする。
適当なIDを渡してもvalidateを通らないようにしておいて、一時IDはクライアントとGAE側で同じ生成アルゴリズムを用いて正当性を検証する。
というような事を考えています。
きっとまだ抜け穴はありそうなので引き続きデータ保護を検討してみます。
337 :
336:2014/06/01(日) 23:51:20.56 ID:???
少し前にSimejiの騒動があったので、どう不正なアクセスからコンテンツのデータを保護するかという事が気になりました。
普段はクライアント側を書いていてサーバー側は初心者なのですが、万一参考になればと思って先の独り言の様な文章も投稿させて頂いた次第です。
スレ汚し失礼しました。
いいぞ
スレ過疎ってるから何でもこいだ
339 :
nobodyさん:2014/06/02(月) 09:35:56.51 ID:pUDft4ul
>>336 javascriptを使って認証cookei与えればjavascriptが走らない汎用Botは弾けるよ
ただ、そのサイト狙い撃ちでスクレイピングしてくるやつなら当然ソースハックして
対策はしてくるだろうけどそれもちょっと難読化して暗号化ロジック隠せば
半分くらいのBot作者の手には負えないかも
でも検索エンジン弾いちゃっていいのかってのはユーザビリティ考えるとどうなの?って感じ
ユーザーがそこまで望むならメールフォーム使ったユーザー登録くらい作るよね
python3.4でgaeが書きたい
>>336 ユーザー登録は google account で代用出来る
不正なアクセスあったらそのアカウントを自分の DB でブラックリスト化する
自分のみ利用したいんですが
どこで設定するのでしょうか?
自分のみなら
app.yaml で require: administrator だったかな
344 :
nobodyさん:2014/06/05(木) 08:20:40.58 ID:aC0HWfOe
誰もいない
スパゲティするなら今のうち
PC向けページしか無くてスマホからの利用は不便なので、
中継サーバーでスマホ向けにするような Webアプリとか作ってみたいんだけど。
ちなみに PC向けページはレコーダーのDIGA、
LAN内のサーバーは rep2 動かしてる Win版 XAMPP、
アクセスしたい端末は iPod touch。
作ってみたいから何なんだよ・・・
pythonスレで誘導されてきました。
本文コピペになってしまいますが、以下、ご教示頂けないでしょうか。
宜しくお願い致します。
http://yono.cc/python/gae/ こちらを参考にして、HelloWorldを表示するだけのWebサーバを作りました。
上記ページの「webapp フレームワークで Hello World を書き直してみる。」のところに掲載されているソースコードをまるまる利用しています。
しかし、実際にブラウザでアクセスすると以下の様なエラーが出るのですが、これは何が原因なのでしょうか・・・?
Hello worldすら出来ないとかもうどんだけダメなんだ自分・・・
ERROR    2014-06-17 07:20:34,551 wsgi.py:262]
Traceback (most recent call last):
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/runtime/wsgi.py", line 239, in Handle
    handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/runtime/wsgi.py", line 301, in _LoadHandler
    raise err
ImportError: <module 'test' from '/中略/channelapitesttest/test.py'> has no attribute app
INFO     2014-06-17 07:20:34,555 module.py:639] default: "GET / HTTP/1.1" 500 -
>>348 ソースやyamlの何処かに'test.app'ってのがありそうだな
appって拡張子があるような罠
馬鹿には無理
351 :
336:2014/06/18(水) 12:02:45.87 ID:???
馬鹿の一つ覚え
urlfetchでwait()をコールしないで通信が終わってるか確認する方法ってある?
asyncで並列で通信して早く終わったやつから先にwait()呼びたいのだけど。
353 :
nobodyさん:2014/07/03(木) 17:47:33.19 ID:W/gQtvhf
てっきりGoと住み分けさせるのかと思ってたけど、割と普通に被らせちゃうのね
356 :
nobodyさん:2014/07/09(水) 09:38:06.40 ID:h7vQ9eKP
ここでこちらに誘導されたので
http://peace.2ch.net/test/read.cgi/tech/1400479217/553 covendy を使いGAEにてデプロイして、htmlフォームから入力されたデータを一行ずつテキストファイルに書き込む処理をしているのですが、
処理に時間がかかり、deadlineを起こしてしまいます。
そこで Task Queue を使おうと思うのですが、使い方が分かりません。
なんらかのリンクを作り、そこにpostすることは分かったのですが、formからデータを取得するためにもう
def post(self)は使っていますが、その処理でもTask Queue は使えるのでしょうか?
また取得したデータの受け渡しは、どのように行っていますか?
GAE じゃなくて Google Apps Script 使った方が良いかもね
>>356 今のform受けクラスをtaskqueueに使って、そこにform受けて丸投げの皮をかぶせるのが
一番工数少ないかな
テキストファイルだと壊れる可能性あるけどねー、ホームページのカウンターとか懐かしいな
359 :
nobodyさん:2014/07/18(金) 12:55:29.47 ID:AI2lwKUe
もしかして pytz って GAE で使えない?
360 :
nobodyさん:2014/07/21(月) 22:07:42.21 ID:G+qvyj17
361 :
nobodyさん:2014/09/05(金) 19:29:17.96 ID:u2Ths9qZ
362 :
nobodyさん:2014/09/07(日) 18:09:03.78 ID:JTsyldJT
webapp2のURLルーティングにCoC機能を付けたいんだけど
どういう方法がベストプラクティスかな
myapp/
application/
model/
view/
controller/
app.yaml
main.py
ここのcontroller/フォルダに
foo_handler.py
bar_handler.py
bazz_handler.py
があったとすると
"/foo"はfoo_handerに
”/bar"はbar_handerに
"/bazz"はbazz_handerに
スクリプトに明示的に記述せずとも自動的に設定されるようにしたい
インデックスの数の上限がなくなってますね?
以前200と言われてて
英文の記事で5000と言及してるトピックがあって
今日本家のDatastore Indexesにも明確な数字の言及はなくなってます
A,B,C3つのプロパティのあるエンティティをすべての組み合わせで検索するには
AB,BC,CA,ABCのインデックスが必要だと思ったら違うっぽいね
ABCのインデックスも必要ない
どういう時に必要なんですか?
カスタムインデックスの数の上限と、
1エンティティから発生するインデックスのエントリ数の上限は別物だよ。
あー カスタムは200か
367 :
nobodyさん:2014/10/03(金) 08:36:00.48 ID:L6uW93jV
>>>a = ['ringo','リンゴ']
>>>print a
[{'ringo':'\xe3\x82'}]とか\u73feとかで表示されますが、これを日本語でちゃんと、'りんご'と表示させるにはどうすればいいですか?
また、階層が深いと[<ringo: ringo object>]のようになったりもしますがこれの対処法も教えてもらえないでしょうか?
u'リンゴ'
マルチしね
>>369 これ質問者じゃない別の陰険な奴がわざとが貼りまくってるんだぞ
質問させて
GAEにてDjango使ってWebサイトって公開できるんだよね?
料金はAWSの方が安いとか書かれてたけど
無料でどこまで出来るのかな?
>>372 Django使ってWebサイトって公開できる
無料でやれる範囲一日200万PV程度(データ量なども関係する)
補足:無料枠はページの応答速度が重要でさっきのPVは60ms程度
Django使うと1000msくらいはかかるかも
よって目安は12万PV/日
wordpressがpythonになってくれればなあ
でもどうせAWS行くんだろ?
行けよ
もう来んな
380 :
nobodyさん:2014/10/08(水) 10:16:02.83 ID:L8w+mBMY
382 :
nobodyさん:2014/10/10(金) 00:13:39.94 ID:+hT1ZM7P
>>374 応答速度1秒って遅くね
レスポンスは500msec以内に返さないとサクサク感がないって
誰かが言ってたぞ
誰が言うもクソも、試したら明らかだろ
GAEでDjango-nonrelを動かそうとしています。
Celeryで非同期処理がしたいのですが、RabbitMQは使えるでしょうか?
386 :
384:2014/10/13(月) 03:12:36.39 ID:???
>>385 遅くなりましたがレスありがとうございます。
なかなかうまく行きませんし今回はTaskQeue使います。
387 :
nobodyさん:2014/10/21(火) 18:00:35.22 ID:no1UJMbX
388 :
nobodyさん:2014/11/06(木) 18:55:59.74 ID:Qn627Vua
Docker対応で激変くる?
389 :
nobodyさん:2014/11/06(木) 18:57:56.24 ID:Qn627Vua
あんまり詳しくないので分からんのだが
Datastoreの呪縛から解き放たれると解釈していいのかな
Elasticsearchによる全文検索や、MongoDBとか使えちゃったりする上に
GAEの特徴であるオートスケールはそのまま、ということでいいのかな
松尾さん
そ、そんなGAE認めたくないっ
Docker対応はGAE以外にもAWSもやってるから
結局は安くて使いやすいほうが勝つ、コモディティ商材になったってことかな
392 :
nobodyさん:2015/03/04(水) 17:07:37.38 ID:QUo176Vl
今Google Developers Console重くね?
おれだけかな??
393 :
nobodyさん:2015/03/08(日) 23:20:16.46 ID:cGKFdsF9
今GAEでtweepy使えます?
The Socket API will be enabled for this application once billing has been enabled in the admin console
って言われてこれを解決できないのですが分かる人居ませんか?
GAEをよく知らない通りすがりだけど
管理コンソールでビリング(支払い設定?)を有効にしたらSocket APIが有効になるよって書いてある
うちではTweepy使えてるけど、2年前のバージョンだからなぁ。
今の見たらHTTPリクエストがhttplibからrequestsに変わってるんだね。
ちょっとググってみたけど、requestsの最近のバージョンがGAEでは動かなくて
2.1.0にするといいっぽい。
久しぶりにダッシュボード見たけど、Backendも廃止になるんだな。
いまだに2.5のまま放置してるけど、そろそろ2.7に移行するかなw
うちも未だに2.5のまま
以降準備はほぼ整ってるけど全責任追って移行するのが心理的にめんどくさい
397 :
nobodyさん:2015/03/09(月) 12:28:57.01 ID:5vJeN1rn
とうとうM/S止めるってメール来たね
てか来てた?
If you don’t take any action these applications will be shutdown on July 6, 2015