トップページ⇒php
351コメント127KB

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
0237nobodyさん2013/10/29(火) 00:51:54.97ID:???
Datastore writeキツイなぁ
0238nobodyさん2013/10/29(火) 10:40:18.27ID:y+BQMiVe
>>236
課金のほとんどがフロントエンドインスタンスだったので
長くなる処理をフロントエンドで待たせるとインスタンスが必要になるので
jsonでページに結果を渡す仕様に変更して
時間のかかる処理をバックエンドにやらせて結果を通知してからダウンロードさせた
あとはDatastoreの結果を30秒キャッシュしたくらい
バックエンドでやらせた結果をblobでURL渡しにできたらもっと課金減らせると思う
0239nobodyさん2013/10/29(火) 15:34:29.30ID:???
最近、 Deadline exceededが増えてる気がする。
エビデンスはない。
0240nobodyさん2013/10/31(木) 08:04:00.27ID:gzKHVm+h
昔見たロードマップでPython3に対応するっていってた気がしたんですが
その後何か変化あったでしょうか?
0241nobodyさん2013/10/31(木) 10:42:33.03ID:???
>>240
>>222
0242nobodyさん2013/11/01(金) 06:52:03.38ID:???
apiproxyが死にがちな気がする
0243nobodyさん2013/11/20(水) 20:13:46.56ID:???
え?エロおkなの?まじで?
0244nobodyさん2013/11/27(水) 23:09:45.71ID:???
何か知らないうちに新機能実装(テスト)されてたりするな

あの鬱陶しい、直リンもしないアップデート通知になんか情報乗っけとけよとは思う
0245nobodyさん2013/11/28(木) 11:25:57.99ID:???
webapp2、シンプルで好きなんだが、みんな認証どうやってんの?
AuthKitとか使えばいいのか?
0246nobodyさん2013/11/28(木) 12:41:20.82ID:???
これ使ってる
http://webapp-improved.appspot.com/api/webapp2_extras/auth.html
sessionの実装は
http://webapp-improved.appspot.com/api/webapp2_extras/sessions.html
こっちベースで、デフォがCookieをストレージにする
気になる場合はsession_backendからDatastoreかmemcacheを

自前のAuthorizedHandlerとか作って使うのが楽
0247nobodyさん2013/11/28(木) 12:44:19.94ID:???
Cookieベースのセッションは、Railsと似た方式ね
特に困った経験は無い
0248nobodyさん2013/11/28(木) 15:04:51.40ID:???
おお、これでやってみます。
ありがとう!
0249nobodyさん2013/11/29(金) 06:42:32.14ID:???
ちなみにBASIC認証はどうしてる?
公式リリース前に関係者にレビューしてもらいたいだけなんだが•••
0250nobodyさん2013/11/29(金) 11:55:25.38ID:???
ttp://d.hatena.ne.jp/nullpobug/20110528/1306516902
webapp2だとこことかみたいに自前で書くしかないかな

関係者の規模や性質にもよるけど自分だったら
app.yamlで一時的に全体をlogin: adminにして
それを staging.***.appspot.com とかにアップ
アプリケーションのコンソールで相手のアカウント追加
こんな感じで済ませると思う
0251nobodyさん2013/11/29(金) 13:01:02.55ID:???
情報サンクスです!
0252nobodyさん2013/12/01(日) 05:31:06.02ID:???
GAEでホームページを作っているのですが
404ページをカスタマイズするにはどうしたら良いですか?
具体的には存在しないURLにアクセスしたらトップページにリダイレクトするだけでいいのですが。
0253nobodyさん2013/12/01(日) 11:36:51.11ID:2jNrRIHk
gaepなら
https://developers.google.com/appengine/docs/python/config/appconfig?hl=ja&;csw=1#Custom_Error_Responses
02542522013/12/02(月) 00:20:22.53ID:???
>>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
0255nobodyさん2013/12/02(月) 10:00:10.51ID:lpvRac5e
>>254
htdocs/index.html
では?
02562522013/12/02(月) 20:52:47.15ID:???
>>255
Deploy時に
Error 400: --- begin server output ---

Client Error (400)
The request is invalid for an unspecified reason.
--- end server output ---
がでてDeploy出来ません。
0257nobodyさん2013/12/03(火) 10:44:02.83ID:+YtsDmGG
あ、ごめんそもそもover_quota dos_api_denial timeoutしかハンドルされてないみたいね
404はハンドラの最後にそれ以外のすべてのURLを対象にして
- url: /.*
static_files: htdocs/index.htm
upload: htdocs/index.htm
02582522013/12/03(火) 14:03:55.56ID:???
>>257
デフォルトの404が出ます。
- url: /
static_dir: htdocs
ですでにすべての下位URLに割り当てられているせいだと思います。
0259nobodyさん2013/12/03(火) 14:43:21.25ID:+YtsDmGG
http://memo.imomushi.com/google-apps-engine---python/404peji-wo-youi-shi-te-miru
このサンプルはたぶん動くと思うよ
何が違うか考えてみよう
0260nobodyさん2013/12/03(火) 15:20:43.44ID:???
なんか変な方向にいってるけど、webapp2の例外ハンドラを実装するだけの話じゃないの?
ttp://webapp-improved.appspot.com/guide/exceptions.html
02612522013/12/03(火) 17:55:02.74ID:???
>>259
動きました。ありがとうございます。
0262nobodyさん2013/12/03(火) 18:18:31.16ID:+YtsDmGG
>>260
おお 便利だー
0263nobodyさん2013/12/15(日) 23:45:35.51ID:???
Blobstore使う時に、同じ画面で「画像ファイル指定」と「文字入力」を同時にさせたいことが良くあるじゃないですか。
で、「文字入力」欄に日本語が入力されると、文字化けしませんか?
ローカル開発環境だと日本語が入力されても問題なく処理できるんですけど、本番環境だと文字化けするような・・・どうしよこれ。
0264nobodyさん2013/12/16(月) 10:33:26.68ID:ohWcrgQx
LINEに数年前にデートしたデパガが現れたから声かけたら

気がついたら食事に行く話になってた
細かい日程まで決めてないからこのままフェードアウトしよっと
0265nobodyさん2013/12/16(月) 10:34:09.17ID:ohWcrgQx
あ、ごばーく
0266nobodyさん2013/12/20(金) 00:43:32.73ID:???
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)
0267nobodyさん2013/12/20(金) 01:01:51.69ID:???
なお環境は WinXP 32bit, Python 2.7.6, GAE SDK 1.8.8 です
0268nobodyさん2013/12/20(金) 03:34:50.06ID:???
>>266
ググればすぐに情報が見つかるよ。

レジストリのHKEY_CLASSES_ROOT\MIME\Database\Content Typeに
ASCII以外の文字を含むタイプ名が登録されていると例外が発生する。
QuickTimeがロシア語の名前を登録するのが原因らしい。
0269nobodyさん2013/12/20(金) 19:51:47.04ID:???
>>268
詳細な情報ありがとうございます。
Windows環境で発生するというのは見かけましたがそういうことだったんですね
一応Pythonのバージョンを2.7.5にすると動くことを確認しました。
レジストリの掃除はちょっとホネが折れそうなのでこれでしのぎます
0270nobodyさん2014/01/01(水) 11:00:58.52ID:???
基本的なことだと思うんだけどunique制約がないから
重複登録の防止ってどうやってる?
いちいち全データを取得して被ってないかチェックしか思いつかない・・
0271nobodyさん2014/01/06(月) 09:39:23.59ID:JOlxiE+j
結果をkeyで取得すれば高速だし重複処理もできるからそうしてる
0272nobodyさん2014/01/12(日) 01:31:59.89ID: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.
と先頭にダラダラと怒られます。どうすれば良いでしょうか?
02732722014/01/12(日) 01:35:30.43ID:q2C1gqcI
pythonのバージョンは2.7.2
GAEのは1.7.5
OSはWindows7
一応、この環境で学校のは動いたのですが、自分のが動かないです。
困ってるの教えてください。
0274nobodyさん2014/01/12(日) 09:47:32.02ID:UltINpuS
dev_appserver.pyの起動オプションが間違ってるって書いてあるじゃん
ランチャかpydevの起動オプションチェックした?
02752722014/01/12(日) 12:11:56.31ID:q2C1gqcI
>>274
ランチャかpydevの起動オプションチェックするってどういうことですか?
(学校の同じ環境で、コマンドでオプション何もつけずに、うまく行ったんですけど)
0276nobodyさん2014/01/12(日) 13:18:31.27ID:UltINpuS
ルートディレクトリが違ってるのかも
02772722014/01/12(日) 13:46:00.63ID:q2C1gqcI
>>276
ルートディレクトリが違うってどういう意味ですか?
0278nobodyさん2014/01/12(日) 16:19:09.09ID:???
素直に先生に相談してみたら.
何のために学費払ってんの
0279nobodyさん2014/01/12(日) 16:31:49.98ID:???
>>277
app.yamlがあるフォルダへ移動して
dev_appserver.py .
(半角ピリオド)
としてみたらどうだ?
あと、家のGAEバージョンは?
02802722014/01/12(日) 18:39:33.85ID: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
こんな感じでコマンド打ってます。
半角とピリオドつける場所、わかりません。。。
0281nobodyさん2014/01/12(日) 20:08:03.28ID:???
>>280
デスクトップのGAEフォルダの下に、
ae-00-testing というフォルダがあって、
そのフォルダ内にapp.yamlがあるの?
cd ae-00-testing してから
dev_appserver を叩いたらどう?
0282nobodyさん2014/01/13(月) 01:04:26.66ID:???
なんでGUI版使わないんだろう
02832722014/01/13(月) 01:15:42.70ID:mgMypIex
>>281
一つ目の質問は、そういうことです。
それだと、上手くいかないですね。
0284nobodyさん2014/01/13(月) 10:19:55.25ID:3FBly2eI
コマンドプロンプトで
dir C:\Users\Y.Sato\Desktop\GAE
dir C:\Users\Y.Sato\Desktop\GAE\ae-00-testing
やって結果晒して
02852722014/01/13(月) 19:11:01.95ID: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 バイトの空き領域
0286nobodyさん2014/01/13(月) 19:16:55.30ID:???
pastebin.comにdev_appserver.pyを実行したときのエラーメッセージを全部貼れ
02872722014/01/13(月) 19:30:30.88ID:mgMypIex
エラー画面, app.yaml, index.py
http://pastebin.com/ATwkAw3j
http://pastebin.com/1rCLz07B
http://pastebin.com/zh8Nh6ca
こんな便利なものがあるんですね(てか、一個目の有効期限neverにしてしまった)。
0288nobodyさん2014/01/13(月) 19:40:17.19ID:???
>>287
..\GAE>python "C:\Program Files (x86)\Google\google_appengine\dev_appserver.py" ae-00-testing
先頭に"python"をつけて実行してみて
02892722014/01/13(月) 20:27:14.38ID:mgMypIex
>>288
いけました! ありがとうございます!
これ、学校の先生に報告したら、喜ばれる!
(でも、何が学校と違ったんでしょうか??)
02902882014/01/13(月) 21:22:34.44ID:???
>>289
プロンプトでこれを実行して
>assoc .py
.py=ほにゃらら
みたいなのが出力されるから
>ftype ほにゃらら
を実行
その出力結果を貼って
02912722014/01/13(月) 21:40:03.16ID: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" %*
02922882014/01/13(月) 22:48:18.72ID:???
関連付けが間違ってるのかと思ったらそうではないようだ
原因は分からん
エラーメッセージから何らかの原因で引数がうまく渡っていないことが
想像できた。こういう場合はOSがやらかしている可能性が高いので
直接python.exeを呼んだら出来たというわけ
0293nobodyさん2014/01/16(木) 16:04:59.53ID:n0982M2h
終わってみたらくだスレネタだった
0294nobodyさん2014/01/16(木) 17:46:14.11ID:???
https://cloud.google.com/console/project
この左側メニューの課金>請求先アカウントの一部が勝手にキャンセルされてしまった。
テスト段階だから課金は当然$0の延滞なしなので理由不明。(課金を無効にしたまま暫く放置すると強制キャンセルされる?)

>この請求先アカウントはご利用いただけなくなりました。
>残りの請求書や料金、払い戻し(該当する場合)の詳細はこちらをご覧ください。

プロジェクトのほうから課金を有効にしようとするとエラーになる(=課金設定が必要なAPIが使えないという状態)

>サーバー エラー
>申し訳ございません。
>もう一度お試しください。問題が解決しない場合は、以下の [フィードバックを送信] を使ってお知らせください。
>下記の追跡番号をコピーしてフィードバックにご記入ください。よろしくお願いいたします。
>追跡番号: undefined

エラーの原因となっているであろう、参照中のキャンセルされた請求先アカウントを変更しようとしたが
そんなメニューはどこにもなく、請求先アカウントの再有効化のメニューもない。
完全に詰んだ。
0295nobodyさん2014/01/17(金) 00:57:26.60ID:???
age
0296nobodyさん2014/01/17(金) 11:33:47.32ID:+BA0LYJJ
>>294
まったく同じ現象でした
アカウントは別に使えるので
プロジェクトを作ってみたら作れました
古いプロジェクトは様子見て削除
0297nobodyさん2014/01/17(金) 11:57:34.48ID:???
今みたら課金有効化のエラーメッセージが変わってた
>サーバー エラー
>申し訳ございません。
>もう一度お試しください。問題が解決しない場合は、以下の [フィードバックを送信] を使ってお知らせください。
>下記の追跡番号をコピーしてフィードバックにご記入ください。よろしくお願いいたします。
>追跡番号: undefined

↓↓↓↓↓↓↓↓

>サーバー エラー
>undefined

Googleさんよ、頑張ってなおしてくれ
このままだとAWSに揺らぐ気持ちを抑えられない
0298nobodyさん2014/01/17(金) 12:01:12.06ID:???
請求先アカウント名 ステータス
 Billing Account for XXXX       閉鎖
 Billing Account for XXXX       閉鎖
 Billing Account for XXXX       閉鎖
 Billing Account for XXXX       閉鎖

この請求先アカウント一覧リストにも削除メニュー必要じゃねって毎回思ってる
閉鎖して関連付けられなくなったアカウントが残り続けているのは見た目、心象ともに悪し
コメント欄追記でバージョン管理している会社のソースコードの手直しを任された感じといえば分かるだろうか
頑張って直してくれ
0299nobodyさん2014/01/17(金) 12:08:56.49ID:+BA0LYJJ
>>294
あとapp engine のbilling settingsで決済カードを編集したり削除して改めて登録することもできます
0300nobodyさん2014/01/30(木) 15:53:46.86ID: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/から再インストールしてみました
何卒お助けください
0301nobodyさん2014/01/31(金) 14:46:14.26ID: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をダウングレードする方法はないでしょうか?
よろしくおねがいします
0302nobodyさん2014/02/01(土) 12:37:47.93ID:2KFQvVu0
pydevをダウングレードしたら直りました
お騒がせしました
0303nobodyさん2014/02/06(木) 19:05:33.42ID:wcYz7Wuz
DataStoreへのアクセスを減らすためにmemcacheを使おうと思ってるのですが、
これってアクセスされないデータから順に削除される見たいな記述があるんですが、
必ず消されないデータみたいなものって定義できます?
やりたいこととしては、頻繁に書き換えられるエンティティがあるんで、
それをキャッシュしておいて、
書き換えが発生した場合、キャッシュのみを更新していって、
30分とか1時間とか決まった時間経過するとバッチで、
DataStoreに書き込んで最新化するようにしたいんです。
0304nobodyさん2014/02/16(日) 11:14:42.24ID:x7he8HhJ
>>303
NDBは?
0305nobodyさん2014/02/16(日) 18:26:42.92ID:???
NDBは書き込みにキャッシュ無いよ
読み込みのキャッシングにmemcache使ったり
コンテキスト内でのキャッシュがあるぐらい

消されないデータってのはmemcacheじゃ無理
そもそも永続化の仕組みじゃないんだから
いつ消えるか分からないし保証はない
何を扱ってるか見えないからこれ以上言いようが無いけど
途中の更新が喪失しても問題ないものなら
memcacheに通常書き込んで
ただtaskqueで30分おきとかで永続化したら?
0306nobodyさん2014/02/17(月) 16:41:13.43ID:XebsJzK2
memcacheは読み出しのキャッシュなんだし
存続時間に保障がない仕様なんだから
リスク覚悟でやるしかないね
作るのは簡単なんだし
0307nobodyさん2014/03/01(土) 17:57:00.64ID:???
>>1
オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。
http://toro.2ch.net/test/read.cgi/tech/1393660194/31
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 個にアプリケーション枠増えてるのね
0317nobodyさん2014/05/29(木) 08:38:37.82ID:???
マジか
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ってどうなの?使える?
0330nobodyさん2014/05/31(土) 15:18:47.38ID:???
使える
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側で同じ生成アルゴリズムを用いて正当性を検証する。

というような事を考えています。
きっとまだ抜け穴はありそうなので引き続きデータ保護を検討してみます。
■ このスレッドは過去ログ倉庫に格納されています