Google App Engine
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/04/10(木) 00:29:02ID:???http://code.google.com/appengine/
0487nobodyさん
2009/01/03(土) 00:17:32ID:???Tempitaは生pythonも書けるから、PHP的に使えるかしらん
0490nobodyさん
2009/01/03(土) 05:06:24ID:???もしさーgoogleがそのサイトにトラフィックを生み出すようなことしたらどうなる?
自作自演で(゚Д゚)ウマー
0491nobodyさん
2009/01/03(土) 09:00:50ID:???0492nobodyさん
2009/01/03(土) 13:00:19ID:???まんこみたいで抵抗あるけど生python使えるし速いらしい
0493nobodyさん
2009/01/03(土) 13:04:59ID:???ただ,生Python使ったら使ったで別の意味で大変になるけどね。
テンプレートにロジックを書いてはいけないよ。
0494nobodyさん
2009/01/03(土) 13:06:31ID:???ttp://labs.unoh.net/2007/05/python_1.html
ttp://jkl.lomo.jp/archive/2008/09/121156.php
ttp://d.hatena.ne.jp/karaki/20080811/1218433794
ttp://d.hatena.ne.jp/shrkw/20070813/1187011774
0495nobodyさん
2009/01/03(土) 14:23:12ID:4Qze7k9y俺は主な <div> 毎に python で関数を作って、それで
""" %(var1)s ... %(var2)s ... %(var3)s """ % locals()
ってな感じでレンダーしてる。
これが一番メンテがしやすくて、直感的。 下手に template エンジンを使うと逆に
構造が複雑になる。
0496nobodyさん
2009/01/03(土) 14:25:40ID:???0498nobodyさん
2009/01/03(土) 14:28:30ID:???1000件くらいレコード表示(するなよ)してみたら
あたりまえだけど遅くて10秒制限で引っかかる
同じことをpython側でやって1000件表示すると
一瞬で出てきた
gaeについて言えば常に10秒制限気にしないといけないから
割り切ってテンプレ使わない方が良いのかも知れない
0499nobodyさん
2009/01/03(土) 14:47:56ID:???「主な <div> 毎に」 って言ってんじゃん。
マイナーな div は全部 template ファイルに入れてるよ。
base html も定義してあるし、他のテンプレートエンジンの機能も使いこなしてる。
pyhtonコードが密になる部分は python で関数を作ってやった方がいいってことだよ。
ハイブリッド形式が一番だよ。
0500nobodyさん
2009/01/03(土) 15:11:22ID:???テンプレートがいったんpython化されずに逐次解釈されてるってこと?
そんな恐ろしい処理を行ってたのか
そんなの使えねー
0501nobodyさん
2009/01/03(土) 15:14:20ID:???0502nobodyさん
2009/01/03(土) 15:19:58ID:???だから速いんじゃない?
コンパイル済みコードのキャッシュは、
gaeではファイルへの書き込みができないから出来ないけど。
自分でmemcacheへのキャッシュ部分を書けばできるかも。
0503nobodyさん
2009/01/03(土) 15:44:14ID:???普通に Django 標準のエンジン使うわ。
他も全て乗り換えれるほどのbenefitがないものばかり。
わざわざ冒険しなくてもいいんじゃないか?
0505nobodyさん
2009/01/03(土) 17:09:25ID:???/_ノ ' ヽ_\
/(≡) (≡)\
/::::::⌒(__人__)⌒::::: \ mankoいいお…
| |r┬-| |
\ `ー'´ / 生関数をヘルパとして使えてPHPみたいだお…
0507nobodyさん
2009/01/03(土) 17:22:19ID:???/ ─ ─ \
/ (●) (●) \. 速度は問題じゃないよ
| (__人__) | 面倒くさいカスタムタグ書かないでいいのが重要なんだよ
\ ` ⌒´ /
/ \
0508nobodyさん
2009/01/03(土) 17:26:37ID:???function decorator の仕組みを知らないから面倒だとか言うんじゃない?
で、お前誰だよw
0509nobodyさん
2009/01/04(日) 00:14:22ID:???ドキュメントディレクトリに.pycというファイルが勝手に作られてウザいのですが
何とかなりませんか?
0510nobodyさん
2009/01/04(日) 01:21:21ID:???環境変数に
PYTHONDONTWRITEBYTECODEに適当な値を入れるとか
コマンドラインに-B付ければ作らない…かもしれない
そもそもプロジェクトのディレクトリにファイルが増えたところで・・・って感じがするが
バイトコンパイルした結果をおいて置くディレクトリを選べると便利な気はするが
0511nobodyさん
2009/01/04(日) 15:19:17ID:???一切提供してないよね?
自分でゴリゴリ書くしかないのかな
0512nobodyさん
2009/01/04(日) 15:23:17ID:???正直webappほど低機能なフレームワークは見たことないです(><)
0513nobodyさん
2009/01/04(日) 15:41:10ID:???0514nobodyさん
2009/01/04(日) 15:47:39ID:???GAE では django のを使うことになっているらしい
ttp://code.google.com/intl/ja/appengine/articles/djangoforms.html
結局自分でゴリってるけど
0515nobodyさん
2009/01/04(日) 15:50:27ID:???http://groups.google.co.jp/group/pylons-ja/msg/ce1daf74f7439083
http://www.python.jp/doc/nightly/lib/module-wsgiref.validate.html
0516nobodyさん
2009/01/05(月) 00:40:19ID:???Requestクラス中でパラメータをUTF-8決めうちでunicode化してるから、
SJISだとパラメータがぶっこわれちゃう
0517nobodyさん
2009/01/05(月) 00:52:53ID:???レスポンスヘッダたる'CONTENT_TYPE'を調べてるんだが
これはどういう意味なんだ?
グーグラーのくせにリクエストヘッダとレスポンスヘッダ混同してんじゃね?
それとも俺があほなのか…?
0518nobodyさん
2009/01/05(月) 01:26:08ID:???PUTだとContent-Typeを含むリクエストがあると思う。
ttp://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.6 だと
「The recipient of the entity MUST NOT ignore any Content-* (e.g. Content-Range) headers...」とある。
でも、POSTの方には、このことが書かれていないので、よくわからん。
ttp://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.5
0519nobodyさん
2009/01/05(月) 01:41:06ID:???俺があほでした・・
0520nobodyさん
2009/01/05(月) 01:54:03ID:???0521nobodyさん
2009/01/05(月) 04:46:14ID:???google mobileだってsjisなのに。
しかもわざわざwebobに付け加えたみたいだし
変なおせっかいならないほうが余程マシ。
0522nobodyさん
2009/01/05(月) 07:53:05ID:???0523nobodyさん
2009/01/06(火) 17:25:51ID:kNeyVv+20524nobodyさん
2009/01/06(火) 17:45:42ID:???0525nobodyさん
2009/01/06(火) 19:03:17ID:???0526nobodyさん
2009/01/06(火) 20:01:45ID:???メッセージはappserverのコンソールに出力されています。
これってgaeのサーバにアップする時も残しておいていいのでしょうか?
0527nobodyさん
2009/01/06(火) 20:24:11ID:???0528nobodyさん
2009/01/06(火) 22:17:48ID:???ありがとうございました
0529nobodyさん
2009/01/07(水) 18:13:56ID:Htk0QDsxhttp://code.google.com/appengine/articles/domains.html
ここを見て、appsのアカウント作成、gaeとappsのマッピングは済ませたのですが、
dnsをそのサイトにマップする方法が分かりません
どのように書けばいいのでしょうか?
0530nobodyさん
2009/01/07(水) 19:12:01ID:???だけでした
naked domainはappsで対応してないようでちょっと不便ですね(-_-)
今時www付けるなんて冗長だ・・・
0531nobodyさん
2009/01/07(水) 19:32:11ID:???0532nobodyさん
2009/01/07(水) 20:44:25ID:Htk0QDsxDue to recent changes, Google App Engine no longer supports mapping your app to a naked domain.
と書いてありますが、できるのですか?
DNS付属のURL転送を使わないといけないのでは?
0533nobodyさん
2009/01/08(木) 02:22:37ID:???ドメインの転送なんて使わないだろうと思っていたのですが、
たかだか10円違いでこんなことになるとは・・
0534nobodyさん
2009/01/08(木) 05:53:28ID:BLsuqMxo0536nobodyさん
2009/01/08(木) 15:24:40ID:???そんな差別化紛らわしいだけで一利なし
value domainは馬鹿
0538nobodyさん
2009/01/08(木) 16:07:06ID:Bg88FJOl0539nobodyさん
2009/01/08(木) 16:15:09ID:???0540nobodyさん
2009/01/08(木) 16:42:03ID:???0541nobodyさん
2009/01/08(木) 17:52:26ID:???www.google.co.jpにリダイレクトされるようになってるな
google的にはホストがないurlなんて糞ってことか。
0542nobodyさん
2009/01/08(木) 17:55:35ID:???0544nobodyさん
2009/01/09(金) 00:22:51ID:PbQMr6cRどういうアプローチをしたらいいですか?
0545nobodyさん
2009/01/09(金) 02:45:41ID:???0546nobodyさん
2009/01/09(金) 03:49:16ID:???有料版ではこの制限も取れるんだろうか?
0547nobodyさん
2009/01/09(金) 06:22:01ID:???できますね。ただ一回のクエリでツリーを取得するのは難しいかと
同じような疑問がグーグルグループにありました
http://groups.google.co.jp/group/google-appengine/browse_thread/thread/879cfff68bf9ab3f/e2a87aaf4cfe29e6?lnk=gst&q=tree#
これから読んでみます
0548nobodyさん
2009/01/10(土) 06:26:14ID:luavPm0jsqlの疑似コードで言うと、
select * from * where user_id=1
みたいな
0549nobodyさん
2009/01/10(土) 06:51:27ID:???0550nobodyさん
2009/01/10(土) 06:58:10ID:???横断的なselectの可不可は、また別問題では?
SQLでは、from * なんて書き方は絶対できませんが、
データストアはスキーマレスなので、
できないこともないような気もします・・
0551nobodyさん
2009/01/10(土) 09:21:18ID:pVr1yf0c自分で
for table in tables:
... 'select * from %(table)s' ...
みたいにすれば?
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つ程度?
それでいったい何をしろと・・
■ このスレッドは過去ログ倉庫に格納されています