X



Google App Engine for Python 6アプ目

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
垢版 |
2013/01/19(土) 13:49:13.57ID:???
Google App Engine
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/
Google AppEngine 3アプ目
http://hibari.2ch.net/test/read.cgi/php/1267057923/
Google App Engine 3アプ目 (実質4)
http://kohada.2ch.net/test/read.cgi/php/1267094290/
Google App Engine for Python 4アプ目 (実質5)
http://kohada.2ch.net/test/read.cgi/php/1302598469/

■リンク集
はてなブックマーク
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
0305nobodyさん
垢版 |
2014/02/16(日) 18:26:42.92ID:???
NDBは書き込みにキャッシュ無いよ
読み込みのキャッシングにmemcache使ったり
コンテキスト内でのキャッシュがあるぐらい

消されないデータってのはmemcacheじゃ無理
そもそも永続化の仕組みじゃないんだから
いつ消えるか分からないし保証はない
何を扱ってるか見えないからこれ以上言いようが無いけど
途中の更新が喪失しても問題ないものなら
memcacheに通常書き込んで
ただtaskqueで30分おきとかで永続化したら?
0306nobodyさん
垢版 |
2014/02/17(月) 16:41:13.43ID:XebsJzK2
memcacheは読み出しのキャッシュなんだし
存続時間に保障がない仕様なんだから
リスク覚悟でやるしかないね
作るのは簡単なんだし
0308nobodyさん
垢版 |
2014/03/05(水) 11:07:24.06ID:???
Discounted Instanceみたいなbackend用の割引サービスほしいのお
0309nobodyさん
垢版 |
2014/04/03(木) 15:14:38.24ID:???
GAEで静的サイトアプリ作った場合
こんな感じでindex.html置いて
http://www.hogehoge.com/oppai/index.html

後ろの/が無いとアクセス出来ないんだけど
X http://www.hogehoge.com/oppai
○ http://www.hogehoge.com/oppai/

上が表示出来て下が出来ないのはapp.yamlの書き方間違ってる?

app.yamlはこんな↓

application: アプリ名
version: 1
runtime: python
api_version: 1

handlers:
- url: (.*)/
static_files: htdocs\1/index.html
upload: htdocs(.*)/index.html

- url: /(.*)
static_files: htdocs/\1
upload: htdocs/(.*)
0310nobodyさん
垢版 |
2014/04/23(水) 17:50:18.58ID:SqpWaV/m
過疎ってるからレスあるのか不安だけど質問していい?

many-to-many(多対多)が必須なアプリケーション
(Twitterならuser-timeline)ってGAEじゃ作れないよね?

timelineにListProperty付ける方法だと
数万人のフォロワーにtimeline配信(Fanout)するの無理だし
(仕様です、で押し通すのはちょっと…)

UserTimelineの結合テーブル用意する場合だとパフォーマンス的に問題あるよね
特にFanout書き込み処理時
(書き込みあるごとにフォロワー数万人分の参照用データを書き込み…)
(TaskQueueに投げて処理するとコスト高くないかい?)
0311nobodyさん
垢版 |
2014/04/29(火) 17:43:40.42ID:F2pgXBlu
>>310
そういうのこそ Google App Engine が大好きな分野だろう
パフォーマンス的にも、100% 問題ない。
0312nobodyさん
垢版 |
2014/04/30(水) 02:44:11.33ID:???
対多だったらCloud SQLかと思ってたけどそうでもないの?作り方次第?
0313nobodyさん
垢版 |
2014/05/03(土) 16:56:58.45ID:???
なんでここpython限定なの?
0314nobodyさん
垢版 |
2014/05/03(土) 17:13:48.54ID:???
GAE Javaスレは過疎って消滅したはず
0315nobodyさん
垢版 |
2014/05/03(土) 19:18:04.52ID:dwgN+kay
app = webapp2.WSGIApplication( [('/',OpenPage), ('/result',PostPage) ], debug=True )
という形で作ったんだけど
index.htmlみたいな物は無いのでしょうか?
0316nobodyさん
垢版 |
2014/05/28(水) 20:13:20.59ID:???
すごく久しぶりに弄ろうとしたら
いつのまにか 10 個から 25 個にアプリケーション枠増えてるのね
0318nobodyさん
垢版 |
2014/05/29(木) 08:39:19.03ID:kYNnKCf7
ネイティブスマホアプリのバックエンドに使ってみようかな
0319nobodyさん
垢版 |
2014/05/29(木) 09:18:18.43ID:???
>>141
試しにアプリ増やしてみたけど Python 2.5 でもまだいけてる

>>131
どんどん使いやすくなるね

ユーザー少なすぎてサービス終了にならないかどうか心配
0320nobodyさん
垢版 |
2014/05/29(木) 12:40:53.17ID:???
>>316
マジ!?
>>319
Amazonの方に人が流れてそうだから心配。Googleには頑張って欲しい。
0321nobodyさん
垢版 |
2014/05/29(木) 13:08:15.48ID:Tmn0U92g
>>131
めちゃめちゃ使いやすくなった
0322nobodyさん
垢版 |
2014/05/30(金) 04:10:24.03ID:???
まじかー、結構グラフ赤になること多かったから1ドル運用してみっかな
0323nobodyさん
垢版 |
2014/05/30(金) 15:18:06.54ID:???
俺は使わんが、PHPに対応したのはいいと思う
次はRubyだな
Herokuの客層を取り込めれば大きい
0324nobodyさん
垢版 |
2014/05/30(金) 15:20:37.54ID:???
>>319
ロックイン上等のシステム作っておいて
勝手に終了されたら潰れちゃう会社出てくるだろ

AWS向けに移植するにしても金かかるんやぞw
フロントエンド(HTML&JavaScript)部分は流用できるとしても
データストア関連のコードは全部書き直しだわ
0325nobodyさん
垢版 |
2014/05/31(土) 02:34:05.70ID:???
だから心配してるんだよ

簡単に引っ越せたり
そもそもどうでもいいサービスなら
客減ろうが潰れようが
どうなろうと知ったこっちゃない
0326nobodyさん
垢版 |
2014/05/31(土) 05:29:13.90ID:???
データストア関連のコードを抽象化するレイヤーでwrapすれば良いNONI
0327nobodyさん
垢版 |
2014/05/31(土) 09:12:28.43ID:???
AWS の SQL で Master/Slave とか HRD の
Datasore をエミュレーションする python ラッパー作ったら需要あるかな
それなら最初から AWS で造った方が良いか
0328nobodyさん
垢版 |
2014/05/31(土) 09:32:45.30ID:???
>>325
そんな大事なサービスをGAEで作っちゃったんですか!?
て話になる。
0329nobodyさん
垢版 |
2014/05/31(土) 14:39:49.16ID:???
GAEってどうなの?使える?
0331nobodyさん
垢版 |
2014/06/01(日) 04:04:02.09ID:qDHk7um9
初心者質問ですみません。サービスを作って公開したところへスクリプトか何かでアタックされたら一気に課金枠内上限までいってサーバーが停止してしまうのでしょうか。Googleが感知してIPを弾いてくれたり、何らかのガードはGAEにデフォルトで付いてるのでしょうか。
もしそういった仕組みが無ければみなさんその辺りは自分で対策されているのでしょうか。
0332nobodyさん
垢版 |
2014/06/01(日) 10:14:04.61ID:iT9OtQtU
>>324
データストア関連コードの書き換えなんてそんなに面倒かな?
0333nobodyさん
垢版 |
2014/06/01(日) 10:19:09.18ID:iT9OtQtU
>>331
一日単位で課金の上限に行くとサービス停止する
IP弾く機能はあるけどIPの登録は自分でする必要がある
自分は月間の予算を3倍取っておいてサービス継続を優先してる
異常があったらすぐIP弾いたりする
いままで一番多いのはBINGBOTだったけどね
なくなったページにいつまでもアクセスしてくるからログがそればっかりになる
302返さない自分も悪いんだけどさ
0334nobodyさん
垢版 |
2014/06/01(日) 10:43:57.71ID:???
へんなアクセスの IP はプログラム自信で見つけることは可能なので自動化したいけど
IP の登録はダッシュボードからしか出来ないのかな?
アク禁 IP 登録用の API とかある?
0335nobodyさん
垢版 |
2014/06/01(日) 14:29:50.46ID:iT9OtQtU
>>334
ないよ
IPの登録はdos.yamlとかdos.xmlをアップロードすることで可能だから
ファイルアップロードをapp engine内で行えば可能かも
0336nobodyさん
垢版 |
2014/06/01(日) 23:44:43.59ID:???
>>333
レスありがとうございます。IPは手動登録なんですね。
ロボット向けにきちんと正しいステータスコードを返すべきというのも参考になりました。
>>335の方法も興味深いです。

ユーザー投稿有りでデータベースを増やしていく形のサービスの依頼(仕事レベルでは無い)を受けていて、アクセス過多以外にデータベースのデータ(イコールこのケースでは資産)をどうスクレイピングから保護するか、という事も気になっていました。

ベストはユーザー登録。
ユーザー未登録で投稿可能にするのであればIP監視も必要。
ユーザーエージェントもチェック。
IPやユーザーエージェントは偽装可能なので、他にクッキーかURLのquery経由で一時的なIDを渡してやってGAE側でvalidateする。
適当なIDを渡してもvalidateを通らないようにしておいて、一時IDはクライアントとGAE側で同じ生成アルゴリズムを用いて正当性を検証する。

というような事を考えています。
きっとまだ抜け穴はありそうなので引き続きデータ保護を検討してみます。
0337336
垢版 |
2014/06/01(日) 23:51:20.56ID:???
少し前にSimejiの騒動があったので、どう不正なアクセスからコンテンツのデータを保護するかという事が気になりました。
普段はクライアント側を書いていてサーバー側は初心者なのですが、万一参考になればと思って先の独り言の様な文章も投稿させて頂いた次第です。
スレ汚し失礼しました。
0338nobodyさん
垢版 |
2014/06/02(月) 02:57:47.45ID:???
いいぞ
スレ過疎ってるから何でもこいだ
0339nobodyさん
垢版 |
2014/06/02(月) 09:35:56.51ID:pUDft4ul
>>336
javascriptを使って認証cookei与えればjavascriptが走らない汎用Botは弾けるよ
ただ、そのサイト狙い撃ちでスクレイピングしてくるやつなら当然ソースハックして
対策はしてくるだろうけどそれもちょっと難読化して暗号化ロジック隠せば
半分くらいのBot作者の手には負えないかも
でも検索エンジン弾いちゃっていいのかってのはユーザビリティ考えるとどうなの?って感じ
ユーザーがそこまで望むならメールフォーム使ったユーザー登録くらい作るよね
0340nobodyさん
垢版 |
2014/06/02(月) 12:14:42.15ID:???
python3.4でgaeが書きたい
0341nobodyさん
垢版 |
2014/06/02(月) 17:10:26.83ID:???
>>336
ユーザー登録は google account で代用出来る
不正なアクセスあったらそのアカウントを自分の DB でブラックリスト化する
0342nobodyさん
垢版 |
2014/06/02(月) 17:26:05.70ID:???
自分のみ利用したいんですが
どこで設定するのでしょうか?
0343nobodyさん
垢版 |
2014/06/02(月) 19:43:42.07ID:???
自分のみなら
app.yaml で require: administrator だったかな
0344nobodyさん
垢版 |
2014/06/05(木) 08:20:40.58ID:aC0HWfOe
誰もいない
0345nobodyさん
垢版 |
2014/06/05(木) 11:06:56.01ID:???
スパゲティするなら今のうち
0346nobodyさん
垢版 |
2014/06/08(日) 07:31:00.85ID:???
PC向けページしか無くてスマホからの利用は不便なので、
中継サーバーでスマホ向けにするような Webアプリとか作ってみたいんだけど。

ちなみに PC向けページはレコーダーのDIGA、
LAN内のサーバーは rep2 動かしてる Win版 XAMPP、
アクセスしたい端末は iPod touch。
0347nobodyさん
垢版 |
2014/06/08(日) 15:20:19.32ID:???
作ってみたいから何なんだよ・・・
0348nobodyさん
垢版 |
2014/06/17(火) 18:27:43.53ID:???
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 &#160; &#160; 2014-06-17 07:20:34,555 module.py:639] default: "GET / HTTP/1.1" 500 -
0349nobodyさん
垢版 |
2014/06/17(火) 20:29:29.44ID:???
>>348
ソースやyamlの何処かに'test.app'ってのがありそうだな
appって拡張子があるような罠
0351336
垢版 |
2014/06/18(水) 12:02:45.87ID:???
馬鹿の一つ覚え
0352nobodyさん
垢版 |
2014/07/03(木) 00:14:37.04ID:???
urlfetchでwait()をコールしないで通信が終わってるか確認する方法ってある?
asyncで並列で通信して早く終わったやつから先にwait()呼びたいのだけど。
0353nobodyさん
垢版 |
2014/07/03(木) 17:47:33.19ID:W/gQtvhf
168 デフォルトの名無しさん [sage] 2014/07/03(木) 17:10:36.81 ID:/QLPOJJ3 Be:
Dartプログラミング言語をGoogleのApp Engineがサポート…ついにサーバ言語としても位置づけ
http://m.jp.techcrunch.com/2014/07/01/20140629googles-dart-programming-language-is-coming-to-the-server/

これでW3Cは無理が有る様に思うが、きっかけにはなりそう。

あまり使いたいと思わせる要素は少ないな。あるのは数の力かな。
多分この辺りの言語戦争がWebKit内で有って分裂したんじゃ無いだろうか。表面は違うが。
0354nobodyさん
垢版 |
2014/07/03(木) 18:26:26.88ID:???
てっきりGoと住み分けさせるのかと思ってたけど、割と普通に被らせちゃうのね
0356nobodyさん
垢版 |
2014/07/09(水) 09:38:06.40ID:h7vQ9eKP
ここでこちらに誘導されたので
http://peace.2ch.net/test/read.cgi/tech/1400479217/553

covendy を使いGAEにてデプロイして、htmlフォームから入力されたデータを一行ずつテキストファイルに書き込む処理をしているのですが、
処理に時間がかかり、deadlineを起こしてしまいます。
そこで Task Queue を使おうと思うのですが、使い方が分かりません。
なんらかのリンクを作り、そこにpostすることは分かったのですが、formからデータを取得するためにもう
def post(self)は使っていますが、その処理でもTask Queue は使えるのでしょうか?
また取得したデータの受け渡しは、どのように行っていますか?
0357nobodyさん
垢版 |
2014/07/09(水) 14:33:20.22ID:???
GAE じゃなくて Google Apps Script 使った方が良いかもね
0358nobodyさん
垢版 |
2014/07/10(木) 01:09:39.10ID:???
>>356
今のform受けクラスをtaskqueueに使って、そこにform受けて丸投げの皮をかぶせるのが
一番工数少ないかな

テキストファイルだと壊れる可能性あるけどねー、ホームページのカウンターとか懐かしいな
0359nobodyさん
垢版 |
2014/07/18(金) 12:55:29.47ID:AI2lwKUe
もしかして pytz って GAE で使えない?
0362nobodyさん
垢版 |
2014/09/07(日) 18:09:03.78ID: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に
スクリプトに明示的に記述せずとも自動的に設定されるようにしたい
0363nobodyさん
垢版 |
2014/09/08(月) 10:00:53.63ID:???
インデックスの数の上限がなくなってますね?
以前200と言われてて
英文の記事で5000と言及してるトピックがあって
今日本家のDatastore Indexesにも明確な数字の言及はなくなってます
0364nobodyさん
垢版 |
2014/09/08(月) 12:24:02.95ID:???
A,B,C3つのプロパティのあるエンティティをすべての組み合わせで検索するには
AB,BC,CA,ABCのインデックスが必要だと思ったら違うっぽいね
ABCのインデックスも必要ない

どういう時に必要なんですか?
0365nobodyさん
垢版 |
2014/09/08(月) 13:46:39.80ID:???
カスタムインデックスの数の上限と、
1エンティティから発生するインデックスのエントリ数の上限は別物だよ。
0366nobodyさん
垢版 |
2014/09/15(月) 17:58:40.92ID:???
あー カスタムは200か
0367nobodyさん
垢版 |
2014/10/03(金) 08:36:00.48ID:L6uW93jV
>>>a = ['ringo','リンゴ']
>>>print a
[{'ringo':'\xe3\x82'}]とか\u73feとかで表示されますが、これを日本語でちゃんと、'りんご'と表示させるにはどうすればいいですか?


また、階層が深いと[<ringo: ringo object>]のようになったりもしますがこれの対処法も教えてもらえないでしょうか?
0371nobodyさん
垢版 |
2014/10/05(日) 23:04:56.41ID:???
>>369
これ質問者じゃない別の陰険な奴がわざとが貼りまくってるんだぞ
0372nobodyさん
垢版 |
2014/10/06(月) 01:25:41.30ID:???
質問させて
GAEにてDjango使ってWebサイトって公開できるんだよね?
料金はAWSの方が安いとか書かれてたけど
無料でどこまで出来るのかな?
0373nobodyさん
垢版 |
2014/10/06(月) 09:36:31.22ID:???
>>372
Django使ってWebサイトって公開できる
無料でやれる範囲一日200万PV程度(データ量なども関係する)
0374nobodyさん
垢版 |
2014/10/06(月) 09:43:26.04ID:???
補足:無料枠はページの応答速度が重要でさっきのPVは60ms程度
Django使うと1000msくらいはかかるかも
よって目安は12万PV/日
0375nobodyさん
垢版 |
2014/10/06(月) 10:05:54.00ID:???
wordpressがpythonになってくれればなあ
0377nobodyさん
垢版 |
2014/10/06(月) 15:11:38.53ID:???
でもどうせAWS行くんだろ?
行けよ
もう来んな
0382nobodyさん
垢版 |
2014/10/10(金) 00:13:39.94ID:+hT1ZM7P
>>374
応答速度1秒って遅くね
レスポンスは500msec以内に返さないとサクサク感がないって
誰かが言ってたぞ
0383nobodyさん
垢版 |
2014/10/10(金) 00:34:16.47ID:???
誰が言うもクソも、試したら明らかだろ
0384nobodyさん
垢版 |
2014/10/10(金) 02:07:35.36ID:???
GAEでDjango-nonrelを動かそうとしています。
Celeryで非同期処理がしたいのですが、RabbitMQは使えるでしょうか?
0386384
垢版 |
2014/10/13(月) 03:12:36.39ID:???
>>385
遅くなりましたがレスありがとうございます。
なかなかうまく行きませんし今回はTaskQeue使います。
0388nobodyさん
垢版 |
2014/11/06(木) 18:55:59.74ID:Qn627Vua
Docker対応で激変くる?
0389nobodyさん
垢版 |
2014/11/06(木) 18:57:56.24ID:Qn627Vua
あんまり詳しくないので分からんのだが
Datastoreの呪縛から解き放たれると解釈していいのかな
Elasticsearchによる全文検索や、MongoDBとか使えちゃったりする上に
GAEの特徴であるオートスケールはそのまま、ということでいいのかな
松尾さん
0390nobodyさん
垢版 |
2014/11/07(金) 11:05:33.97ID:???
そ、そんなGAE認めたくないっ
0391nobodyさん
垢版 |
2014/11/07(金) 11:59:17.02ID:???
Docker対応はGAE以外にもAWSもやってるから
結局は安くて使いやすいほうが勝つ、コモディティ商材になったってことかな
0392nobodyさん
垢版 |
2015/03/04(水) 17:07:37.38ID:QUo176Vl
今Google Developers Console重くね?
おれだけかな??
0393nobodyさん
垢版 |
2015/03/08(日) 23:20:16.46ID:cGKFdsF9
今GAEでtweepy使えます?
The Socket API will be enabled for this application once billing has been enabled in the admin console
って言われてこれを解決できないのですが分かる人居ませんか?
0394nobodyさん
垢版 |
2015/03/08(日) 23:39:21.45ID:???
GAEをよく知らない通りすがりだけど
管理コンソールでビリング(支払い設定?)を有効にしたらSocket APIが有効になるよって書いてある
0395nobodyさん
垢版 |
2015/03/09(月) 07:54:41.94ID:???
うちではTweepy使えてるけど、2年前のバージョンだからなぁ。
今の見たらHTTPリクエストがhttplibからrequestsに変わってるんだね。

ちょっとググってみたけど、requestsの最近のバージョンがGAEでは動かなくて
2.1.0にするといいっぽい。

久しぶりにダッシュボード見たけど、Backendも廃止になるんだな。
いまだに2.5のまま放置してるけど、そろそろ2.7に移行するかなw
0396nobodyさん
垢版 |
2015/03/09(月) 12:04:47.20ID:???
うちも未だに2.5のまま
以降準備はほぼ整ってるけど全責任追って移行するのが心理的にめんどくさい
0397nobodyさん
垢版 |
2015/03/09(月) 12:28:57.01ID:5vJeN1rn
>>393
オレオレ改造で使ってる
0398nobodyさん
垢版 |
2015/03/10(火) 11:03:23.23ID:???
とうとうM/S止めるってメール来たね
てか来てた?
If you don’t take any action these applications will be shutdown on July 6, 2015
0401nobodyさん
垢版 |
2015/03/12(木) 19:51:29.31ID:???
Master Slaveとか何年前の話だよw
0402nobodyさん
垢版 |
2015/03/13(金) 09:43:26.96ID:???
めんどくさいけどやるか
0403nobodyさん
垢版 |
2015/03/18(水) 20:46:04.30ID:???
うっわ めんどくせえええ なんだこれ
0404nobodyさん
垢版 |
2015/03/19(木) 20:29:50.74ID:???
ホムペ作ったけどここ重くないか??
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況