Google App Engine
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/04/10(木) 00:29:02ID:???http://code.google.com/appengine/
0552nobodyさん
2009/01/10(土) 10:58:54ID:???query = db.GqlQuery('select * from * where user_id=:1', user_id)
for e in query:
ここで e に対して何が操作出来るかどうやって区別するんだ
0553nobodyさん
2009/01/10(土) 11:00:13ID:???0555nobodyさん
2009/01/10(土) 11:37:33ID:???0556nobodyさん
2009/01/10(土) 14:15:13ID:???それだとKindが増えた時にコストがどんどん増えるので、
最初から一つのインデックスにできたらと思ったのです
>>553
そうですね
>>554
杞憂の言葉の意味分かってますか?
>>555
ありかとうございます。見てみます。
0557nobodyさん
2009/01/10(土) 16:33:33ID:???ttp://s03.megalodon.jp/2008-0928-1610-28/www.death-note.biz/up/img/25253.html
ttp://s02.megalodon.jp/2008-0930-1956-35/yutori.2ch.net/test/read.cgi/news4vip/1222517791/53-305
0558nobodyさん
2009/01/11(日) 18:08:07ID:???http://www.moongift.jp/2008/06/skynet/
http://techon.nikkeibp.co.jp/article/NEWS/20080627/154025/
http://morii3.cocolog-nifty.com/sanpo/2008/09/080909-1218.html
http://diaspar.jp/node?page=2
http://jp.youtube.com/watch?v=-vD6PUdf3Js
http://code.google.com/p/httpmr/
http://www.virtual-tech.net/blog/2008/07/mapreduce-httpmrgroovyflash.html
http://markmail.org/message/pzyqapveerwgu2ki
0559nobodyさん
2009/01/12(月) 17:38:30ID:j7rSo5dOメールアドレスじゃなくても通るっていうか、
mail.is_email_valid('hoge')でもTrueが返ってくるよ
0560nobodyさん
2009/01/12(月) 17:51:48ID:???でググっても8件しか見つからない・・
gaeってあんま使われてないんの?
0561nobodyさん
2009/01/12(月) 18:56:45ID:???0562nobodyさん
2009/01/12(月) 19:05:52ID:???Email address validation is a quixotic affair that's sure to end with you
sporting a false sense of achievement and your users in tears.
Many "better mousetrap" regular-expression-based validation system
on the web today are overly strict and reject perfectly valid email addresses.
Beyond regular expressions and other string-based techniques,
your options are to check the DNS server
(but DNS lookups can fail on occasion) and vrfy the SMTP server
(but many SMTP servers turn this off to stop email harvesters).
Ultimately, you can actually send an email to the address
and see if there are any bounces.
Or, we could just not bother.
That, at least, is the approach that the Google App Engine SDK currently takes.
Both the google.appengine.ext.db.EmailPropery()
and the google.appengine.api.mail.is_email_valid() functions
only check that a non-empty string instance is passed.
The problem with that is that you really don't want your good friends
asdfhdsjkj and asdfghdsj to make regular camio appearances in your lovely database.
0563nobodyさん
2009/01/12(月) 19:08:21ID:???It feels to me that the best approach is to accept
that we can't truly validate email addresses
and instead perform some light validation
that doesn't provide false positives while blocking
the most obviously non-validating addresses.
This seems to be the approach taken by the validation regular expression in Django
(email_re in django.core.validators).
Phil Haack has a good article about all this from last year
this titled I Knew How To Validate An Email Address
Until I Read The RFC in which he quotes several
unlikely-looking yet valid email addresses from RFC 3696
(Application Techniques for Checking and Transformation of Names)
including such gems like !def!xyz%abc@example.com.
I ran the whole list through Django's validator and they all passed.
All this to say that I'm using the Django email validator
in my Google App Engine apps and it appears to be working well.
0564nobodyさん
2009/01/12(月) 22:51:05ID:???まとめると「イマイチ使えない関数」ってことっすか?
0565nobodyさん
2009/01/12(月) 23:06:58ID:???確かに、!とか%とか""とかスペースとか<> [] ()あたりを全部駆使すれば
相当に訳のわからないValidなアドレスは作れるが、所詮BNFで記述できる
範囲だから実装するのは簡単だし、もしくはふつーの形式以外は
拒否すりゃいい話。
なんか入ってればOKなんて結論になる理由になってない。
0566nobodyさん
2009/01/13(火) 02:17:52ID:???pythonerがphpのプロダクト参考にしてるなんて・・プークスクス
0567nobodyさん
2009/01/13(火) 03:12:53ID:???0568nobodyさん
2009/01/13(火) 03:20:19ID:???0569nobodyさん
2009/01/13(火) 03:38:07ID:???0570nobodyさん
2009/01/13(火) 12:39:27ID:???0571nobodyさん
2009/01/13(火) 13:06:29ID:???0572nobodyさん
2009/01/13(火) 14:27:42ID:???0573nobodyさん
2009/01/14(水) 18:43:31ID:BrrRMqDHサポートはまだですか?
0574nobodyさん
2009/01/14(水) 20:57:41ID:???pure pythonなら大抵動くでしょ
0575nobodyさん
2009/01/15(木) 02:53:40ID:sFuWbZ6t同じKindのエンティティーを同時に作成した時、
それはエラーなしで実行されるのでしょうか?
自動で割り振られるidがほぼ連番なので、
id生成はアトミックに行われているような気もするし、
それだとマズいので、バッティングしないid生成を使っているような気もします
0576nobodyさん
2009/01/15(木) 03:56:11ID:???0577nobodyさん
2009/01/15(木) 04:07:27ID:???1から始まる連番と200から始まる連番が混在してますね
ノードレベルでアトミックなのかなぁ
連番の間隔もっと離れてた方がいいような気も・・
0578nobodyさん
2009/01/15(木) 06:11:06ID:???自前のカウンタを持たせた場合
カウンタをインクリメントするときに
アトミックでないと当然同じ番号になるケースが起こる
カウンタに対してはアトミックなアクセスが必要
0579nobodyさん
2009/01/15(木) 08:12:32ID:???0580nobodyさん
2009/01/15(木) 22:55:14ID:???Google、Google VideoのアップロードやJaikuなど6サービスを終了
gaeで構築してgaeがいきなり終わったら目も当てられないね
0581nobodyさん
2009/01/16(金) 05:58:22ID:JXr+7Aanたとえば、incrementなどです
0582nobodyさん
2009/01/16(金) 08:14:03ID:???0583nobodyさん
2009/01/16(金) 12:12:53ID:???Gets memcache statistics for this application.
All of these statistics may reset due to various transient conditions.
They provide the best information available at the time of being called.
The return value is a dictionary mapping statistic names to associated values.
Statistics and their associated meanings:
hits: Number of cache get requests resulting in a cache hit.
misses: Number of cache get requests resulting in a cache miss.
byte_hits: Sum of bytes transferred on get requests. Rolls over to zero on overflow.
items: Number of key/value pairs in the cache.
bytes: Total size of all items in the cache.
oldest_item_age: How long in seconds since the oldest item in the cache was accessed.
Effectively, this indicates how long a new item will survive in the cache without being accessed.
This is _not_ the amount of time that has elapsed since the item was created.
0584nobodyさん
2009/01/16(金) 15:53:33ID:???たしかにそれで自分で作ればいいけども
datastoreビューアを用意するならmemcacheビューアがあってもいいじゃん
0585nobodyさん
2009/01/16(金) 21:00:05ID:???0586nobodyさん
2009/01/16(金) 22:51:39ID:???日本時間にする方法あれば教えて下さい
0587nobodyさん
2009/01/16(金) 23:13:28ID:???Avg CPUがどんどん上がって赤くなっていくんだけど
1リクエスト中で許されるput数はたった2つ程度?
それでいったい何をしろと・・
0590nobodyさん
2009/01/17(土) 18:56:07ID:???all().fetch()してイテレータで回して一つずつ削除するしかないの?
0592590
2009/01/17(土) 20:09:31ID:???0593nobodyさん
2009/01/18(日) 03:00:28ID:qAy4grM0winからcoLinuxに接続出来ません
サイトは、coLinuxのlynxでは見えます。
lsof -i:8080
で確認すると、
localhost:webcache (LISTEN)
と表示されます。このlocalhostが気になります。
dev_appserverは、ローカル以外にはサイトを公開しないのでしょうか?
0594nobodyさん
2009/01/18(日) 03:10:24ID:???0595nobodyさん
2009/01/18(日) 05:13:32ID:???0596nobodyさん
2009/01/20(火) 22:55:39ID:???App Engine向けのDjango
http://code.google.com/p/app-engine-patch/
色々なものが動くようになってきたので、cronとか要望の高いものをどんどん拡張していってほしい所だな。
0597nobodyさん
2009/01/21(水) 00:16:28ID:???0599nobodyさん
2009/01/24(土) 16:19:59ID:???同じ問題で検索してカスタムフィルタで一部分は解決出来ました
ありがとうございました
ただ django の template はなんとも貧弱なのと
{% ifequal hoge fuga|customfilter:param %}
みたいなことしようとしても ifequal の中ではカスタムフィルタが
ちゃんと動いていないみたいなので目的は完全には達成出来ませんでした
{{fuga|customfilter:param}}の結果は期待通り出てるのになぁ
0600nobodyさん
2009/01/24(土) 17:59:26ID:v7FoOqq8ってか今登録できるのは、無料アカウントだけですか?
0601nobodyさん
2009/01/25(日) 05:58:05ID:7yBqIDHT言語は Python のみ。
登録は無料アカウントのみ。
ストレージは500MBのみ。
制限厳しすぎだな。 > Google
これじゃ流行らないよ。
0602nobodyさん
2009/01/25(日) 08:11:11ID:???0603nobodyさん
2009/01/25(日) 08:16:25ID:7yBqIDHT今だと、外部のDB/APIサーバー作ってそことコミュニケーションさせるしか道がない。
0604nobodyさん
2009/01/25(日) 14:14:22ID:???どうなんだろ。
無料の範囲でいい人にはいいだろうし、
そうでない人はVPSとか専用鯖借りるだろうし
Pythonのみというのは確かに致命的だが
0605600
2009/01/25(日) 22:14:13ID:l1F13FTZあざす!
0606nobodyさん
2009/01/26(月) 11:38:31ID:xM4CpIxr0607nobodyさん
2009/01/26(月) 18:38:36ID:aFYLHCo/0608nobodyさん
2009/02/01(日) 00:08:18ID:???こういうことがあると、gaeで全面的に依存するのもどうなのかと思う
0609nobodyさん
2009/02/01(日) 00:45:36ID:???0610nobodyさん
2009/02/01(日) 00:58:16ID:???0611!omikuji
2009/02/01(日) 02:12:22ID:???0612nobodyさん
2009/02/01(日) 07:00:43ID:???0613nobodyさん
2009/02/01(日) 07:18:16ID:???big tableがぶっ壊れたのかと思った
0614nobodyさん
2009/02/01(日) 07:49:01ID:rg7gZ0Rw段々アホの子になってきたな。
0615nobodyさん
2009/02/01(日) 08:50:11ID:???最近のgoogleは何か変だ
0616nobodyさん
2009/02/01(日) 09:08:45ID:???会社は大きくなればなるほど、非効率的で、コミュニケーションが停滞しがちで、
プロダクト間の連携も難しくなり、しまいにはバグが増え、会社自体がアホになってく。
Googleも他と同様、アホの退化への道を辿っているし、
この先ずっとそうなっていくことだろう。
だが心配なかれ。
また別の会社がでてくるから。
こうした創造的破壊は経済の必然プロセスなんだ。
0617nobodyさん
2009/02/01(日) 12:53:17ID:jgCOwxDC>こうした創造的破壊は経済の必然プロセスなんだ。
Cloudのようなシステムを本格化するためには、こういう事では
ためだ。安定・長期のシステム稼働が無かったら使いものにならない。
0618nobodyさん
2009/02/01(日) 13:24:31ID:???安定かどうかは知らん
0619nobodyさん
2009/02/02(月) 02:00:32ID:enCDFoM0http://www.hoge.com/ → hoge.appspot.com/hoge/
http://www.hoge1.com/ → hoge.appspot.com/hoge1/
みたいな感じに。
10個しか作れないので、単機能的なミニアプリ作るともったいないです
0620nobodyさん
2009/02/02(月) 06:25:12ID:???0621nobodyさん
2009/02/02(月) 06:28:12ID:???複数のドメインを一つのアプリに割り当ては出来るから
そのアプリの各URLのところに
どのドメインでアクセスされているかを調べて
それぞれの処理を行うディスパッチャを作れば実現可能
0623nobodyさん
2009/02/05(木) 16:54:27ID:???reference先のmodel(B)のproperty(b)の値を条件に
検索を行いたいのですがどうすれば出来ますか?
db.GqlQuery('SELECT * FROM A WHERE a.b=:1', hoge)
みたいな感じで書くとエラーになるようです><
0624nobodyさん
2009/02/05(木) 17:16:42ID:865tdHLittp://groups.google.co.jp/group/google-app-engine-japan/browse_thread/thread/13dce425a5063bd0#
0625nobodyさん
2009/02/05(木) 17:23:03ID:???">" などの条件は2つ以上記述できない。 (1つしかだめ)
', '.join(self.INEQUALITY_OPERATORS))
BadFilterError: BadFilterError: invalid filter: Only one property per query may
have inequality filters (<=, >=, <, >)..
0626nobodyさん
2009/02/05(木) 17:27:40ID:???w が unicode のとき
q = db.GqlQuery("SELECT * FROM Hoge WHERE fuga>=:1 and fuga<:2", w, w + u"\uFFFD")
w が utf-8 のとき
q = db.GqlQuery(("SELECT * FROM Hoge WHERE fuga>=:1 and fuga<:2", w, w + "\xEF\xBF\xBD").decode("utf-8"))
自動でデコードされるみたいなので
q = db.GqlQuery("SELECT * FROM Hoge WHERE fuga>=:1 and fuga<:2", w, w + "\xEF\xBF\xBD")
でもいいみたい
0627nobodyさん
2009/02/05(木) 17:36:32ID:???0628nobodyさん
2009/02/06(金) 23:57:51ID:???わかります
0629nobodyさん
2009/02/07(土) 04:07:10ID:???全然わかってないですね
0630nobodyさん
2009/02/07(土) 07:00:42ID:???ありがとうございました
0631nobodyさん
2009/02/07(土) 07:23:13ID:+a2UfnZmなんでアホはあるもの全部使わなきゃ気がすまねーの?
0632nobodyさん
2009/02/07(土) 18:47:59ID:???心の平安を得る為に「相手を見下せるキャラ設定を相手にかぶせる」という
手短な方法を選ぶ人も多いね。>>628-631とか。
0633nobodyさん
2009/02/07(土) 19:01:16ID:???0636nobodyさん
2009/02/07(土) 22:30:53ID:???逆にそういうキャラと想定しないと、意見をスルーできずに心の平安を
得られないのもまあおっしゃる通りで、むしろ当然のことだと思ってるぞ。
0637nobodyさん
2009/02/07(土) 22:34:12ID:???メール受信処理とかタスク処理とかなかなか使えそう
0638nobodyさん
2009/02/08(日) 11:20:51ID:???http://codezine.jp/article/detail/3233
それによると、今後2四半期(2009年3月まで)で次のような機能追加が行われるという。
* 大容量ファイルのサポート
* 大規模データのインポート・エクスポート
* 有料プランの開始
* 新しい言語サポート
* Uptimeモニタ用サイト
有料サポートは間に合うのか?
新しい言語サポートは無理そうだな・・
0639nobodyさん
2009/02/08(日) 23:42:00ID:???馬鹿じゃないんだったら馬鹿にされてもいいじゃん
ひとちがいなんだから
0640nobodyさん
2009/02/09(月) 13:47:41ID:???ImportError: No module named xxxx
というエラーが出るんだけど、モジュールの置く場所って
何か知らせないとダメなの?
hoge/test.py
/xxxx.py ←今回作ったモジュール
test.pyの中でimport xxxxとやっても読み込めません
0641nobodyさん
2009/02/09(月) 16:12:08ID:???|
∩___∩ |
| ノ _, ,_ ヽ (( | プラプラ
/ ● ● | (=)
| ( _●_) ミ _ (⌒) J ))
彡、 |∪| ノ
⊂⌒ヽ / ヽノ ヽ /⌒つ
\ ヽ / ヽ /
\_,,ノ |、_ノ
0642nobodyさん
2009/02/09(月) 16:14:52ID:???sys.path.append(os.path.dirname(__file__))
0643640
2009/02/10(火) 10:45:05ID:???__init__.py作って、中にその2行足したらできました!!
ありがとうございました
>>641
クマさん かわぃぃ^^
0644nobodyさん
2009/02/11(水) 03:33:41ID:???>Google App Engine Blog: SDK version 1.1.9 Released
>You can now use the Python standard libraries urllib, urllib2 or httplib to make HTTP requests.
>This has been a frequent request on our issue tracker.
>We've been working on a set of tools that will make the process of uploading and downloading data from App Engine applications easier.
>Today we're excited to announce an early release of our new bulk uploading client.
>You can try it out here. Let us know what you think in our Google Group!
>Several updates to our datastore, including the automatic generation of single property indexes and the addition of IN and != operators to db.Query.
>See the Datastore API docs for more details.
>A bunch of additional bugfixes and enhancements, listed in our Release Notes.
> ttp://googleappengine.blogspot.com/2009/02/sdk-version-119-released.html
0645nobodyさん
2009/02/11(水) 04:35:54ID:???ダウンロードへいくと勝手に日本語サイトに飛ばされて
1.1.0しかダウンロードリストに出てきません
本当にありがとうございました
0646nobodyさん
2009/02/11(水) 22:21:42ID:???datetime.datetime.today().strftime("%Y/%m/%d %H:%M")
ってやるととんでもない時間が返ってくるんだけど、
日本の時間に設定できないの?
0647nobodyさん
2009/02/12(木) 00:45:35ID:???そのうちTZに対応してくれるのかも知れないけど
timedeltaで+9するアプリばっかりになると
勝手にTZ対応されるとまた困ったことになりそうだね
0648nobodyさん
2009/02/12(木) 01:34:22ID:LTV8fqHEやっぱりそうなんだ。
ありがとう
today = datetime.datetime.today() + datetime.timedelta(hours=+9)
print today.strftime("%Y/%m/%d %H:%M")
0649nobodyさん
2009/02/12(木) 02:48:51ID:???カスタムフィルタ作ってそこで変換した方がよさそうです
ttp://webdba.blogspot.com/2008/04/google-app-engine-django-template.html
ttp://d.hatena.ne.jp/gonsuzuki/20080831/1220161557
ttp://reiare.net/blog/2008/04/17/utc-to-jtc/
ttp://w00kie.com/2008/06/19/custom-django-filters-in-google-app-engine/
0650nobodyさん
2009/02/12(木) 04:53:54ID:0dYkTFC0動いているかたはいらっしゃいますか?
0651nobodyさん
2009/02/13(金) 17:51:25ID:???・No more "High CPU Requests"!
・Response deadline raised to 30 seconds.
・Size limits on code files, static files, and requests/responses raised to 10MB!
有料プランも早く頼むぜ!
0652nobodyさん
2009/02/13(金) 17:53:21ID:???普通に使えるよ
memcachedといっても通常のmemcachedが動いてるわけじゃなくて
memcachedをエミュレートしてるだけだけど
■ このスレッドは過去ログ倉庫に格納されています