トップページ⇒php
1001コメント283KB

Google App Engine for Python 4アプ目

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2011/04/12(火) 17:54:29.62ID:???
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/

■リンク集
はてなブックマーク
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
0708nobodyさん2012/03/29(木) 13:07:20.25ID:???
Over Quota

This application is temporarily over its serving quota. Please try again later.
0709nobodyさん2012/03/29(木) 17:25:38.84ID:???
ちゃんと設定したら0になった よかった
0710nobodyさん2012/04/01(日) 12:08:16.13ID:???
https://groups.google.com/group/google-app-engine-japan/browse_thread/thread/e2580d6d409caa45?hl=ja
>SELECT __key__ FROM Hoge WHERE ...." というクエリで 2500 件ぐらいの key を 取り出したりしていました

これを参考にkeyだけを取り出すコードを書いてましたが1000件以上のデータが取り出せません。
取り出したあとはまるまるmemcacheに放り込んでます。
cacheddata=listcount":listcount,"done":0,"list":list,"sddb":sddb,"chanksize":chanksize,"corp_name":cls.corp_name,"msgkey":msgkey,"tasks":0}
memcache.set(id,cacheddata ,3600)

ひょっとしてガセでしたか?
0711nobodyさん2012/04/01(日) 12:17:12.15ID:???
cacheddata={
括弧が消えてました すみません
0712nobodyさん2012/04/01(日) 12:22:33.37ID:???
日付を見ろ
あと、ソースを出せ
0713nobodyさん2012/04/01(日) 12:30:38.71ID:???
お手数かけます

def getdata(sqlstr)
list = db.GqlQuery("SELECT __key__ FROM data " + sqlstr )
return list

def setdata();
list = getdata(" WHERE e1 = 'e1' AND ....... ")
listcount = list.count()
cacheddata={listcount":listcount,"done":0,"list":list,"sddb":sddb,"chanksize":chanksize,"corp_name":cls.corp_name,"msgkey":msgkey,"tasks":0}
memcache.set(id,cacheddata ,3600)

こんな感じです。よろしくおねがいします。
0714nobodyさん2012/04/01(日) 12:36:23.97ID:???
WHERE句の中では>も使ってます。
0715nobodyさん2012/04/01(日) 12:58:30.76ID:???
2000件ぐらいあるデータでWHERE指定でcountは問題なく取れた
countが取れてないの?データが取れないのかどっちだ?
0716nobodyさん2012/04/01(日) 13:24:47.44ID:???
countも1000で止まりますし、keyも1000までしか取れません。
countは規制なくなったって書いてあったし、keyだけなら1000件以上取れると思ってました。
0717nobodyさん2012/04/01(日) 13:26:18.83ID:???
ちなみにHRDには移行してません
0718nobodyさん2012/04/01(日) 13:35:19.61ID:???
count(10000)とかでもだめ?
こちらの環境はPython 2.7+HRD+ndbです
0719nobodyさん2012/04/01(日) 14:05:43.34ID:???
できました!
countに引数与えないと1000になるんですね。
なにげにその後その数字を当てにしてgetしてたのでkeyも1000しかないように見えてました。
無事にすべて取り出すことができました。

ありがとうございました。
0720nobodyさん2012/04/05(木) 09:58:08.40ID:???
M/S廃止か
Google App Engine Blog: Master/Slave Datastore, thanks for all your hard work
http://googleappengine.blogspot.jp/2012/04/masterslave-datastore-thanks-for-all.html
0721nobodyさん2012/04/05(木) 10:06:07.82ID:???
なに?!
0722nobodyさん2012/04/06(金) 09:31:08.45ID:???
そのうちやんなきゃと思ってたけど
blobストアのデータが自動で移転できないから躊躇してた
ツールはあるらしいけど

半年くらい猶予あるのかな?
0723nobodyさん2012/04/06(金) 17:13:44.16ID:???
よくこんなの使っていられるな、おまえらw
0724nobodyさん2012/04/06(金) 17:24:12.99ID:???
最近アメロードだかなんだかのサービスを作った人が
調子に乗ってgoogle各種サービスをディスったら、
各方面からボコられて
「google信者様の言うとおりです」と発狂したふりをして幕を閉じるという
なんとも無残な散りざまを見せていたな
0725nobodyさん2012/04/07(土) 12:59:39.04ID:BeoWQwVe
スクリプト の import と テンプレートの extends とがそれぞれよくわかっておらず、ファイルの置き場所がごちゃごちゃになってしまいます。整理するにはどうすればよいでしょうか。

問題点
● テンプレートの多重継承がうまくできない
operation1.html で {% extends "../master.html" %}
master.html で {% extends "../base.html" %}
とすると base.html が見つからなくなります。どうやら孫にあたる operation1.html からの相対パス ../base.html を探しているようです。
・ テンプレート内の記述を変えずに問題を解決する方法があれば教えてください。
・ django は 最初のバージョンのみでよいので、右記ページのような問題はありません。 http://stackoverflow.com/questions/5263623/templatedoesnotexist-on-python-app-engine-django-1-2-while-template-rendering-re

● import の書き方がわからない
大雑把にいって handler の中身が Controller, libs の中身が Model にあたります。
main.py で handlers1.py を、handler1.py で user_auth.py を、それぞれ import したいです。
・ import 文の書き方を教えてください。__init__.py が必要になるのであれば、内容も教えてください。

次のレスが希望するファイル構成の内容です。著しく不適切であれば指摘してください。
07267252012/04/07(土) 13:00:07.32ID:???
ファイル構成:
- app.yaml
- main.py
- handlers
- - handler1.py
- - handler2.py
- libs
- - user_auth.py
- - main_datastore.py
- template
- - base.html
- - master
- - - master.html
- - - operation1
- - - - operation1.html
...
0727nobodyさん2012/04/07(土) 13:06:30.36ID:???
AppEngine固有の問題ではないので他のスレで聞いた方がいいよ
07287252012/04/07(土) 13:14:25.12ID:???
問題点の追加です。
● template.render に渡すパスの取得方法がわからない
多くのサンプルに
self.response.out.write(
 template.render(
  os.path.join(
   os.path.dirname(__file__), 'hoge.html'
  ), result
 )
)
のようなコードがありますが、__file__ は handlers/handler1.py や handlers/handler1/handler1.py を指しており、
hoge.html は template/master/operation/hoge.html などにあります。
このような離れた場所のファイルは、その都度 os.path.join にドットを渡してやることによってしか取得できないのでしょうか。
アプリケーションのメインからの相対パスで指定する方法がありましたら教えてください。
07297252012/04/07(土) 13:47:31.08ID:???
>>727
すみませんが他でしたらどのスレッドが適切かわかりません。
0730nobodyさん2012/04/07(土) 15:06:12.58ID:???
http://lmgtfy.com/?q=django+site%3A2ch.net
0731nobodyさん2012/04/07(土) 15:15:43.48ID:???
>>728
アプリのrootにhoge.pyでも作って
import os
APPLICATION_BASE_DIR = os.path.dirname(__file__)

で使いたいところで
from hoge import APPLICATION_BASE_DIR
os.path.join(APPLICATION_BASE_DIR, 'template/master/operation/hoge.html')
とでもすれば?関数にするとか好きにしてね
07327252012/04/07(土) 16:32:47.80ID:???
>>730
こちらで訊きます: http://kohada.2ch.net/test/read.cgi/php/1323960422/

>>731
ありがとうございます。この部分は解決したと思います (他の部分がまだなのでテストしていません)。
0733nobodyさん2012/04/15(日) 14:43:22.57ID:???
タスクキュー設定して毎時でcronから起動してるんですが
毎時ぴったりに2つのタスクが登録されるせいでインスタンスが増えてしまいます


設定でどうにかできませんでしょうか?

queue.yaml
queue:
- name: default
rate: 1/s
0734nobodyさん2012/04/15(日) 16:29:35.85ID:???
片方のタスクの開始時間をずらせばいいだろ
App Engine の cronフォーマットのまとめ - やさしいデスマーチ
ttp://d.hatena.ne.jp/shuji_w6e/20110403/1301840010
0735nobodyさん2012/04/15(日) 16:31:43.95ID:???
あとは、max_concurrent_requestsを使ってタスクの同時実行数を制限するか
詳しくはググれ
0736nobodyさん2012/04/15(日) 18:50:52.09ID:???
おお ありがとう ありがとう
0737nobodyさん2012/04/18(水) 09:16:11.39ID:???
pydevでプロジェクトをコピーしたり移動したりしているうちにsrc右クリックからpeydev(google app run)が消えました
デバッグの構成から起動はできましたが、直し方をご存知のかたよかったら教えてください。
プロジェクトをコピーしたり、プロジェクトがバグったとき
パッケージエクスプローラーから一度削除してもう一度空の新規プロジェクトを同一のディレクトリで作成すると
うまく行ってたと思うのですが間違ってますか?
0738nobodyさん2012/04/18(水) 20:00:22.44ID:hrAUVqet
>>737
.pydevprojectの中身確認してみると良いです。

<pydev_pathproperty name="org.python.pydev.PROJECT_SOURCE_PATH">
<path>/project</path>

上のソースパス合ってないとか?

新しくGAEプロジェクト作って照らしあわせてみるとわかるかも
0739nobodyさん2012/04/19(木) 09:12:09.14ID:???
.pydevprojectのライブラリのパスを絶対パスにしたらうまくいきました!
0740nobodyさん2012/04/20(金) 01:09:11.05ID:???
Memcacheがどんどん消えちゃうんですが、つっこみすぎ?

Memcache Viewer
Statistics
Hit count: 10724
Miss count: 907
Hit ratio: 92%
Item count: 468 item(s)
Total cache size: 1607620 byte(s)
Oldest item age: 6 min(s) 6 second(s)

0741nobodyさん2012/04/20(金) 19:32:23.28ID:IHyQVpyC
eclipseのPyDevはまだwebapp2のアプリに未対応でしょうか?
app.yamlの一部を書き換えれば一応動作してるようですが、
自動的に生成されるコードなどは以前のwebappのものです。
どこかで切り替える必要があるのかなあ?
0742nobodyさん2012/04/21(土) 04:11:46.80ID:???
>>741
app.yamlでpython2.7設定するとgoogle.appengine.ext.webappの中でwebapp2使ようになる
threadsafeしないならhello webapp worldのままで対応できてる
0743nobodyさん2012/04/21(土) 12:16:08.96ID:902Nv7Ux
巨大なデータに順次処理をかける場合、
巨大なデータをまるごとメモリにおくとメモリ上限に引っかかるから
少し読みだして処理してセーブしてメモリから破棄、
ということの繰り返しでやろうと思ってるんだけど
不要になったメモリはちゃんと開放されるんだろうか?
0744nobodyさん2012/04/21(土) 12:30:07.50ID:???
コンソールのInstancesでみればいいんじゃねぇの?
0745nobodyさん2012/04/21(土) 17:53:59.35ID:???
>>743
python的には参照がなくなれば即時GCされるはずだけど
07467412012/04/22(日) 01:01:25.19ID:???
>>742
ありがとうございます。そういうことでしたか。
だんだん変更されていくでしょうし、様子見ながら使っていこうと思います。
0747nobodyさん2012/04/22(日) 17:50:29.80ID:aA4PJf7d
GoogleはGAEにアップロードされたプログラムまたはソースコードを
解析したり参考にしたりする権利はあるの?
0748nobodyさん2012/04/23(月) 22:52:28.36ID:???
deferredってpython2.7+threadsafeじゃ動かないんですか?
0749nobodyさん2012/04/23(月) 23:07:58.61ID:???
動くらしいけど
Python 2.7, threadsafe: true, and deferred.defer - Google Groups
https://groups.google.com/forum/?fromgroups#!topic/google-appengine/YxdORLqGEDQ
0750nobodyさん2012/04/24(火) 04:18:37.99ID:???
1.5.5でfixされたみたいですね。ありがとうございます。
0751nobodyさん2012/04/27(金) 14:50:08.02ID:93VuBEM9
ログインユーザーのリクエストを処理する時に
ユーザーのOpenIDを取得するにはどうしたらいいの?
User#getNickName()?
07527512012/04/27(金) 14:53:05.77ID:93VuBEM9
事故解決
たぶんそうみたいだ
開発環境だとOpenIDじゃなくメルアドが入ってるけど
0753nobodyさん2012/04/28(土) 22:15:01.31ID:deK//TLp
俺がやってるのはJavaで多分Pythonも同じだと思うけど、
datastoreのkeyにシステムが自動的に採番するIDの代わりにアプリ側で名前を設定できるけど
一意な名前を付けたい場合どうすればいいと思う?
Datastore.allocateId()で作ったキーのIDを取得して名前に付加するとかでいいんだろうか?
0754nobodyさん2012/04/28(土) 22:39:38.96ID:deK//TLp
リストの要素をdatastoreに入れる場合、名前は一意にすべきなんだろうか、同じにすべきなんだろうか
(そもそも同じ名前のエンティティを作れるのか)
一意にするとクエリで前方一致検索をしなければいけない
同じにするとアップデートをかけたい場合めんどくさそう
0755nobodyさん2012/04/28(土) 23:17:16.74ID:???
>>753
インクリメントを管理する別のデータを用意してトランザクション内で1足してる
使い捨てのmemcacheIDはnow()とrand()で作ってる

>>754
エンティティを同じ名前にする意味がわからない
0756nobodyさん2012/04/28(土) 23:57:32.67ID:deK//TLp
>>755
勘違いしていたかも。
キーの名前で検索しようと思ってたんだけど、
そういう場合は別途フィールドを用意して検索用文字列を持つべきなのかな。
0757nobodyさん2012/04/29(日) 19:19:44.05ID:???
1分ぐらいの処理を1時間に1回ずつ1週間ずっとやりたいんですが、そういう処理はGAEで出来ますか?

ほかのクラウドサービスを探すのが良いんでしょうか?
0758nobodyさん2012/04/29(日) 23:47:00.36ID:???
>>757
cronで出来るよ。何をやらせたいかの方が問題だ
0759nobodyさん2012/04/30(月) 11:15:23.60ID:???
>>756
自前のsessionで辞書を管理してるけどExpandoで動的にエンティティを作ってるよ。
javaにはないのかな?
コレクションが使えるみたいだしこれでいけないか?
0760nobodyさん2012/05/02(水) 00:32:33.27ID:XvVmSkzn
標準のwebappフレームワークでしばらくいじってるんですが、
実際そこそこのアプリケーション作るとしたときはDjangoなど他のフレームワークで始めた方がいいですか?
例えばセッションとか、リクエストハンドラの前後に共通の処理を加えるとか、
比較的ありふれた内容でも、webappでは意外と手間がかかるかなと感じたんですが・・・。
逆に使い込めばシンプルな分、自由度高い気もしたり。

フレームワークの話はあまり出てないようですが、
やはり外部のフレームワーク選んでますか?
0761nobodyさん2012/05/02(水) 18:53:31.90ID:???
twitterのほうで
使っているらしき人の発言はたまにみられる
#gaeja
0762nobodyさん2012/05/02(水) 22:53:55.45ID:7IfG5hXX
Key#getName()は同じkindの中でユニークですか?
0763nobodyさん2012/05/03(木) 19:25:09.91ID:???
>>762
java?
keyname返すんならユニークじゃね?
0764nobodyさん2012/05/03(木) 20:42:54.96ID:DuxvjcV4
GAEでGoogleの他サービスの利益を損ねるサービスを作ったら
BANされちゃうのかな?
07657642012/05/03(木) 20:44:22.89ID:DuxvjcV4
例えばGmailと競合するメーラーとか作れちゃいそうじゃない?
独禁法も関わってきそう
0766nobodyさん2012/05/03(木) 20:45:33.72ID:???
出来たら教えてね
0767nobodyさん2012/05/04(金) 23:01:10.23ID:???
独禁法ってどういう法律か知っててそれ書き込んでるの?
学生さんならしょうがないけど25過ぎてそんな幼稚な発想してるんならもう総てを棄てて山で生活した方がいい
現代社会は向いてない
0768nobodyさん2012/05/05(土) 02:07:23.27ID:???
作ってみればいい。出来が良ければ買い取ってもらえるかもよー
0769nobodyさん2012/05/05(土) 02:28:29.95ID:/M1BVZkG
いや独禁法関わってくるでしょう
0770nobodyさん2012/05/05(土) 12:30:26.73ID:???
GAEって静的なWEBサイトなら制限あるリソース消費しないまま使い続けられるんだな
0771nobodyさん2012/05/05(土) 16:38:05.64ID:???
ただし結構表示は遅い
0772nobodyさん2012/05/05(土) 21:16:50.31ID:???
out転送量は引っかかるぞ
0773nobodyさん2012/05/06(日) 10:40:53.31ID:p1xwNEYE
もしかしてmemcacheとurl fetchは転送量制限を共有してる?
0774nobodyさん2012/05/06(日) 12:23:03.86ID:???
Quota Details見ろ
0775nobodyさん2012/05/06(日) 14:57:25.32ID:???
GAE<>クライアント間の転送量が下り1GB制限だから100KB程度のJSなりflashなりホストするだけでも最大1万UUが限界
有料化して月9$払うくらいならさくらVPS借りてnginxでホストした方が早いし安上がりっていう
0776nobodyさん2012/05/06(日) 15:05:01.93ID:???
でました
自分の技術料手数料その他もろもろコストゼロ円君
0777nobodyさん2012/05/06(日) 15:27:12.46ID:???
制限ってサービス類のAPI上限か
使わなきゃ引っかからないのは当たり前だな
0778nobodyさん2012/05/06(日) 15:46:24.32ID:???
いつもの自分安売り君は
実際は技術力のギの字も持たない学生か何かなんだから
そっとしておいておやり

0779nobodyさん2012/05/06(日) 16:08:17.67ID:???
何このアスペ常駐スレwwww
0780nobodyさん2012/05/07(月) 15:18:36.31ID:???
>>760
webapp2使ってみろ
0781nobodyさん2012/05/09(水) 07:07:56.20ID:/5skeFJc
self.requestでremote_addrがとれるけど
remote_addrがdnsと対応付けられていた場合、
それを取得する事は出来ますか?
接続者のIPでドメイン(FQDN)を逆引きしたいって事です。
0782nobodyさん2012/05/09(水) 21:31:15.47ID:???
>>781
http://code.google.com/p/googleappengine/issues/detail?id=354

できなさそう
0783nobodyさん2012/05/10(木) 01:24:10.01ID:XTWtcKra
GAEアプリ同士でChannel APIで接続する事は可能ですか?
07847832012/05/10(木) 01:27:27.86ID:XTWtcKra
2つのGAEアプリがサーバーサイドで接続するという事です
Python to PythonまたはJava to Javaで
07857832012/05/10(木) 01:32:23.75ID:XTWtcKra
公式のドキュメントではクライアント側はJSを前提にしていますが
サーバから送出されるトークンをMemcacheに入れておく事で
複数リクエストにわたってチャンネルを共有できないでしょうか
目的は認証つきの高性能なWEBアプリ連携です
「このアプリからしか接続を認めない」というアプリがあったとして、
毎回HTTPSでパスワードを送信させるのは性能が悪くなるので、
1度HTTPS+パスワードで接続させChannel APIのトークンを与えて
それ以降はチャンネルで通信をする、という事を考えています
0786nobodyさん2012/05/10(木) 01:48:03.14ID:???
高性能な連帯が必要なら同じ鯖で動かせばいいと言われそう
0787nobodyさん2012/05/10(木) 01:59:40.50ID:XTWtcKra
>>786
同じ鯖というのは、同じアプリでって事ですか?
それも有力ではあるんですが、SaaSみたいな感じで
他人のWEBアプリに組み込んでもらえるような形で提供できないかなと思ったので
アカウント作成済みな人のサーバーに限定できないかと考えてるんです
0788nobodyさん2012/05/10(木) 04:08:41.38ID:???
一応、こんなの見つけたがurlfetchじゃLong Pollingは無理だろう
Schibum Blog: Using Google Appengine Channel API with a Python Client
http://schibum.blogspot.jp/2011/06/using-google-appengine-channel-api-with.html

XMPPにすれば?
0789nobodyさん2012/05/10(木) 06:10:19.16ID:XTWtcKra
情報ありがとうございます。
XMPPでも実現できそうです。

あと考えたのは、
app engine url fetch cookie
で検索したところcookieを使えるらしいので、
URL FetchのHTTPSでログインして、
返って来たcookie(ログイン状態)をMemcacheでセーブして複数リクエスト間で使い回せば
通信の大部分はHTTPでいけるんじゃないか、と思うんですが、どうですかね?
0790nobodyさん2012/05/10(木) 08:08:42.47ID:???
よ!おまえら久しぶり〜!
今日からニートになったからこのスレも活気が戻りそうだな
0791nobodyさん2012/05/10(木) 13:00:00.44ID:???
jinja2で

import jinja2

templates_path = os.path.join(os.path.dirname(__file__), 'templates')
jinja_environment = jinja2.Environment(loader=jinja2.FileSystemLoader(templates_path))
0792nobodyさん2012/05/10(木) 13:14:37.31ID:???
jinja2でアプリのルートフォルダ直下にあるtemplatesフォルダのテンプレートを使いたくて

http://snipt.org/ujaq8

のように書きましたが

http://snipt.org/ujas0
>>28. IOError: [Errno 13] file not accessible: '/Users/noa/Developer/GoogleAppsEngine/account/[email protected]/examplewebsite/static/index.html'

のようにアクセルできません的なエラーがでました。
ちなみに、templatesフォルダでなく、アプリのルートにあるテンプレートは問題なく表示できました。
templatesフォルダ内のテンプレートを使用するにはどうすればいいんでしょう??
0793nobodyさん2012/05/10(木) 14:41:35.72ID:???
>>792
webapp2でjinja2使う場合はwebapp2_extras.jinja2を使うのが良い

app = webapp.WSGIApplication(
[
(r'.*', MainHandler),
],
debug=False,
config={
'webapp2_extras.jinja2': {
'template_path': [テンプレートフォルダパス,],
},}})
こんな感じにパスを渡せる

使い方は\Google\google_appengine\lib\webapp2\webapp2_extras\jinja2.pyに書いてある
0794nobodyさん2012/05/10(木) 14:59:31.75ID:???
全文検索来たね
0795nobodyさん2012/05/10(木) 15:13:48.36ID:XTWtcKra
金満企業なのにこういうのがすぐ日本語文書が作成されたり
Java版の文書が作成されたりしないのが意外

ちなみに>>786のMemcacheでセッションを使いまわすというのは成功しました。
0796nobodyさん2012/05/10(木) 15:18:04.66ID:???
ひがやすをさん、slim3のアップデートまだですか…
せめて最新のgae sdkでも動くかどうかのテストだけでも…
0797nobodyさん2012/05/11(金) 09:17:17.48ID:tjNJlBi3
URL Fetchで外部サイトにアクセスする際の自分のグローバルIPはどれくらいの頻度で変わるのだろうか
リクエスト毎に違うのか1日1回変わるのか数週間に1回か
わかる人いませんか?
0798nobodyさん2012/05/11(金) 12:42:26.93ID:???
>>797
リクエスト毎に変わる可能性があるとしか…
厳密に知りたければ中の人に聞けば?
0799nobodyさん2012/05/14(月) 07:34:41.37ID:???
>>761
GAE関連のハッシュタグが#gaejaってどうやって知ったの?
どっかに効率よく調べられるサイトあります?
0800nobodyさん2012/05/14(月) 07:46:01.00ID:???
761じゃないけど以前は#gaeを使っていたんだが、どこぞのフットボールチームと
かぶるので#gaejaに変えようってことになった。日本以外では#appengineが使われている
0801nobodyさん2012/05/14(月) 08:25:17.64ID:???
>>800
なるほど、そんな経緯があったんですね。
使用するハッシュタグの情報はどうやって知ったんですか?
0802nobodyさん2012/05/14(月) 09:22:56.58ID:???
"app engine"でtwitter検索
0803nobodyさん2012/05/14(月) 09:49:58.84ID:???
ちょっと上に名前挙がってるけど
GAE関連のフレームワーク作っている人が、
今度から日本人用GAEのハッシュタグに「#gaeja」を使いましょう、と提案し
皆がそれに続いた感じ
0804nobodyさん2012/05/14(月) 12:45:48.03ID:???
デプロイ 問題ない?

連続して失敗するんだけど・・・
0805nobodyさん2012/05/14(月) 13:12:51.64ID:???
ロールバックしたら直った ごめん
0806nobodyさん2012/05/14(月) 17:52:13.95ID:G5bpTIUz
GAEの、Google側が守るポリシーってどこに書いてありますか?
Googleがアップされたコードをリバースエンジニアリングしてパクる事があるのかどうかが知りたい。

そういう気が無いなら普通はポリシーに書くと思う。
最近のGoogleのポリシーに関する流れからして不安です。

恐らく、フェアユースの4つの判断基準からして、
リバースエンジニアリングしてパクったら米国でも違法なんだけど、
それでもポリシーに書いて欲しい。
0807nobodyさん2012/05/14(月) 18:08:19.39ID:???
自分で探せ
0808nobodyさん2012/05/15(火) 04:12:18.25ID:???
パクられるから使わないほうがいいよwwww
■ このスレッドは過去ログ倉庫に格納されています