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
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
0258252
垢版 |
2013/12/03(火) 14:03:55.56ID:???
>>257
デフォルトの404が出ます。
- url: /
static_dir: htdocs
ですでにすべての下位URLに割り当てられているせいだと思います。
0260nobodyさん
垢版 |
2013/12/03(火) 15:20:43.44ID:???
なんか変な方向にいってるけど、webapp2の例外ハンドラを実装するだけの話じゃないの?
ttp://webapp-improved.appspot.com/guide/exceptions.html
0261252
垢版 |
2013/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.
と先頭にダラダラと怒られます。どうすれば良いでしょうか?
0273272
垢版 |
2014/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の起動オプションチェックした?
0275272
垢版 |
2014/01/12(日) 12:11:56.31ID:q2C1gqcI
>>274
ランチャかpydevの起動オプションチェックするってどういうことですか?
(学校の同じ環境で、コマンドでオプション何もつけずに、うまく行ったんですけど)
0276nobodyさん
垢版 |
2014/01/12(日) 13:18:31.27ID:UltINpuS
ルートディレクトリが違ってるのかも
0277272
垢版 |
2014/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バージョンは?
0280272
垢版 |
2014/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版使わないんだろう
0283272
垢版 |
2014/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
やって結果晒して
0285272
垢版 |
2014/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を実行したときのエラーメッセージを全部貼れ
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"をつけて実行してみて
0289272
垢版 |
2014/01/13(月) 20:27:14.38ID:mgMypIex
>>288
いけました! ありがとうございます!
これ、学校の先生に報告したら、喜ばれる!
(でも、何が学校と違ったんでしょうか??)
0290288
垢版 |
2014/01/13(月) 21:22:34.44ID:???
>>289
プロンプトでこれを実行して
>assoc .py
.py=ほにゃらら
みたいなのが出力されるから
>ftype ほにゃらら
を実行
その出力結果を貼って
0291272
垢版 |
2014/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" %*
0292288
垢版 |
2014/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

エラーの原因となっているであろう、参照中のキャンセルされた請求先アカウントを変更しようとしたが
そんなメニューはどこにもなく、請求先アカウントの再有効化のメニューもない。
完全に詰んだ。
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は読み出しのキャッシュなんだし
存続時間に保障がない仕様なんだから
リスク覚悟でやるしかないね
作るのは簡単なんだし
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 &#160; &#160;2014-06-17 07:20:34,551 wsgi.py:262]
Traceback (most recent call last):
&#160; File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/runtime/wsgi.py", line 239, in Handle
&#160; &#160; handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
&#160; File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/runtime/wsgi.py", line 301, in _LoadHandler
&#160; &#160; 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 使った方が良いかもね
■ このスレッドは過去ログ倉庫に格納されています

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