1 名前:nobodyさん mailto:sage [2011/04/12(火) 17:54:29.62 ID:???] Google App Engine code.google.com/appengine/ ■過去スレ Google App Engine pc11.2ch.net/test/read.cgi/php/1207754942/ Google App Engine 2アプ目 pc11.2ch.net/test/read.cgi/php/1243654802/ Google AppEngine 3アプ目 hibari.2ch.net/test/read.cgi/php/1267057923/ ■リンク集 はてなブックマーク b.hatena.ne.jp/t/gae b.hatena.ne.jp/t/Google%20App%20Engine Delicious delicious.com/popular/gae delicious.com/popular/googleappengine ■参考サイト App Engine ギャラリー appgallery.appspot.com/ ドキュメント code.google.com/appengine/docs/python/overview.html
4 名前:nobodyさん mailto:sage [2011/04/12(火) 18:06:20.80 ID:???] 最近の人気エントリ Google APP Engine Python入門(2010年2月版) ttp://d.hatena.ne.jp/kagigotonet/20100209/1265726225 > Google APP Engineについては初期のころのまとめはあるのですが、Pythonですとリリースからそろそろ2年近くになり内容も大きく様変わりしています。 > 最速マスターシリーズでもGoogle APP Engineについてのまとめが無く、そろそろアップデートの必要があると思いまとめてみました。 > 基本的にwindows環境中心です。 Google App Engineを使って無料でサイトを立ち上げる方法 techblog.ecstudio.jp/tech-tips/freewebsite-with-google-app-engine.html > このGoogle App Engine(以下 GAE)、アプリケーション開発だけでしか使えないと思われがちなのですが、実は設定を工夫すれば通常のHTMLによるサイトを作って運用することも可能です。 > 多少初期設定の手順は複雑ですが、このスペックのサーバーを無料で使用出来ることを考えれば試してみる価値はあるのではないかと思います。 > Webサイトを立ち上げるまでの手順をまとめてみましたので、公開したいと思います。 【特集】Google App Engineで開発するためのフレームワーク × 16 + α coolcoding.com/2010/01/frameworks_for_gae/ > いざGAEで開発をはじめるとしても、素のままで書き始める必要はありません。 > すでに多様なフレームワークが提供されており、そうしたフレームワークを活用することでより素早くGAE上での開発ができるようになります。 > 今回はGAEで開発を行う際にチェックしたいフレームワークを紹介したいと思います。 Google App Engineで開発するスケールするアプリケーション(前編) codezine.jp/article/detail/4591 > 本稿の前編では、主にGoogle App Engineの概要と特徴、そしてWebシステムをスケールするための手法、考え方について説明します。 > 中編・後編では、Google App Engine上で動作する、twitterと連携したアプリケーションを紹介し、Google App Engine上でのアプリケーション構築方法について説明します。
5 名前:nobodyさん mailto:sage [2011/04/12(火) 18:08:11.56 ID:???] 続き 約半月で 4,000,000PV を華麗にさばく Google App Engine www.1x1.jp/blog/2010/02/gae_twirate_sppspot_com.html > このサイトはGoogle App Engine(GAE)+Pythonで構築しているのですが、このアクセス数ならではのGAE上で体験できたことをざざっと書いていきます。 第1回 Google App Engine上でLL+RDBアプリを作ろう www.atmarkit.co.jp/fcoding/articles/gaephp/01/gaephp01a.html > Web アプリケーション開発者にとって、魅力的な環境に映るGoogle App Engineだが、データの永続化などで落とし穴が存在する。 > これまでの開発手法を変えずに使えないだろうか(編集部) Life is beautiful: Google App Engine上のベスト・プラクティス、その1: Datastore satoshi.blogs.com/life/2010/02/app_engine.html > Google App Engine上でアプリを作りはじめて約二ヶ月。いろいろと分かって来たこともあるので、自分へのメモも含めてまとめてみる。 > まずは、Datastore の話から。 GoogleAppEngine + JRubyでクリスマスまでに彼女をつくる方法 tech.kayac.com/archive/gae-jruby-twitter-bot.html > というわけで彼女を作ってみました。...まさに僕だけのボット彼女です。 > 今回はこれをGoogleAppEngine+JRubyで実装したので、環境をつくるところか実際に動かすところまで説明します。 Google App Engineで独自ドメインを使う www.1x1.jp/blog/2010/01/google_app_engine_my_domain.html > GAEに設置したアプリケーションはデフォルトでは、[アプリケーションID + .appspot.com]というドメインでアクセスすることができます。 > また、これとは別に独自ドメインをアプリケーションに割り当てることもできます。 > 独自ドメインを割り当てる方法は知っていないと嵌りやすいので手順を書いておきます。
6 名前:nobodyさん mailto:sage [2011/04/12(火) 18:09:57.85 ID:???] このスレッドは天才チンパンジー「アイちゃん」が 言語訓練のために立てたものです。 アイと研究員とのやり取りに利用するスレッドなので、 関係者以外は書きこまないで下さい。 京都大学霊長類研究所
7 名前:nobodyさん [2011/04/12(火) 18:10:59.41 ID:lXmF6dcw] ┌─┐ │●│ └─┤ _ ∩ ( ゚∀゚)彡 ┌─┬⊂彡 │●│ おっぱい!おっぱい! └─┘ おっぱい!おっぱい!
8 名前:nobodyさん mailto:sage [2011/04/12(火) 21:27:49.66 ID:???] その他 Python基礎文法最速マスター d.hatena.ne.jp/dplusplus/20100126#p1 > ↓に便乗してPython版も書いてみました。 appengine ja night #6 atnd.org/events/3228 > Google App Engine (Python/Java)の勉強会です。利用者同士で実践的ノウハウを共有しましょう! Python Hack-a-thon #4 atnd.org/events/2906 > 予定は未定です。日程も未定です。定員も未定です。 Python東海・Ruby東海 合同勉強会 atnd.org/events/3204 > PythonとRuby言語について理解を深めるのと同時にお互いの勉強会の交流のために合同勉強会を開催します。 ■推奨フレームワーク kay 圭 code.google.com/p/kay-framework/ 日本語ドキュメント kay-docs-jp.shehas.net/index.html あとKayにバンドルしているWerkzeugのデバッガはけっこう使いやすいですよ。使い方なんかはこのあたりを見てください kay-docs-jp.shehas.net/debugging.html Google App Engineプログラミング入門 (kay の解説本) www.amazon.co.jp/dp/4048676938
9 名前:nobodyさん mailto:sage [2011/04/12(火) 22:01:38.81 ID:???] kay使ってる人って、どれくらいいるんだろう
10 名前:nobodyさん mailto:sage [2011/04/13(水) 16:00:46.68 ID:???] >>1 乙
11 名前:nobodyさん mailto:sage [2011/04/14(木) 20:24:42.86 ID:???] Kayはfull stackなせいかゴテゴテしてる印象があるな。 あとドキュメントが少なめだから機能が把握しにくい。 シンプルがいい人はFlask + buildoutがオススメ。
12 名前:nobodyさん [2011/04/16(土) 01:07:06.44 ID:IxYnqORC] >>1 乙
13 名前:nobodyさん mailto:sage [2011/04/16(土) 06:59:50.96 ID:???] サーバー側コーディング不要のGoogle App Engine開発環境「jsonengine」(2/2):CodeZine codezine.jp/article/detail/5690?p=2 もうPythonのマイクロフレームワーク「Flask」でもApp EngineのTwitter Botは15行じゃ書けない - d.hatena.ne.jp/ambasa/20110317/p1 FlaskならApp EngineのTwitter Botが15行で書ける ? TRIVIAL TECHNOLOGIES 2.0 coreblog.org/ats/making-app-engine-twitter-bot-in-15-lines-by-using-Flask microneを使ったらApp EngineのTwitter botが14行で書けた |TRIVIAL TECHNOLOGIES on CLOUD coreblog.org/ats/writing-app-engine-twitter-bot-in-14-limes-with-aha-microne
14 名前:nobodyさん mailto:sage [2011/04/17(日) 10:55:32.57 ID:???] >>13 勉強になったわ ありがとう
15 名前:nobodyさん mailto:sage [2011/04/17(日) 12:23:17.93 ID:???] 「〇〇が簡単にできるフレームワーク」は〇〇しか簡単にできない
16 名前:nobodyさん mailto:sage [2011/04/17(日) 17:43:09.98 ID:???] だからこそ簡単なのです
17 名前:nobodyさん mailto:sage [2011/04/18(月) 22:43:42.74 ID:???] gaesynkit - Google App Engine Datastore/Client Storage Synchronization ttp://www.reddit.com/r/AppEngine/comments/gspqf/gaesynkit_google_app_engine_datastoreclient/
18 名前:nobodyさん mailto:sage [2011/04/19(火) 06:32:26.01 ID:???] なんでPython 2.5なんだよぉ 2.6に対応する予定はないの?
19 名前:nobodyさん mailto:sage [2011/04/19(火) 08:08:38.38 ID:???] 2.7なら
20 名前:nobodyさん mailto:sage [2011/04/19(火) 19:07:33.43 ID:???] Android の ASEをインストールし、Pythonの起動、.pyをバックグランドで実行するまでの操作を動画にしました。 Androidのバージョンは 2.2です。 WindowsSDKで実験しましたので、他の実機で動くかは保証できません。 (というより、実機が無いのでエミューレータw) 特に詳しい人じゃないので難しい質問には答えられません(キリッ Android ASE at Python. (from japan) www.youtube.com/watch?v=RHaMv5XfcDE
21 名前:nobodyさん mailto:sage [2011/04/19(火) 19:34:13.02 ID:???] スレチ
22 名前:nobodyさん mailto:sage [2011/04/20(水) 00:54:37.50 ID:???] また落ちてるよ なんだこれ
23 名前:nobodyさん mailto:sage [2011/04/20(水) 21:10:53.99 ID:???] 前スレは落ちたんじゃなくて埋まったよ
24 名前:nobodyさん mailto:sage [2011/04/22(金) 10:23:10.42 ID:???] Phthonはこちらでよろしいでしょうか? datastoreのmodelで質問です。 ユニークキーを提供するクラスメソッドを考えてるんですが put()をオーバーライドしてその仲でmydata.get_or_insert(key_name,ID=ID)で エンティティを作成してみました。 あとは自分自身をこのエンティティにコピーしないといけないと思うのですが、やり方がわかりません。 class mydata(db.Model): def put(self): tmp = self.get_or_sinsert(key_name=self.ID,ID=self.ID) tmp = self #こんなわけない・・・エンティティ要素だけコピー? tmp.put()
25 名前:nobodyさん mailto:sage [2011/04/22(金) 10:26:23.27 ID:???] あ、追加で質問です。上記の方法だとModelのPutが呼ばれないのではないかって気が付きました。 根本から考え直す必要がありますね・・・ヒントをお願いします。
26 名前:nobodyさん [2011/04/23(土) 04:43:47.02 ID:Z9ryHxYt] 質問です。 GAE+BeautifulSoup利用でスクレイピングしようとしています。 html_str = urlfetch.fetch(url).content bs = BeautifulSoup.BeautifulSoup(html_str) でcontent( may.2chan.net/b/res/47764907.htm など、主にふたば関連)を読んでもらう時に以下のエラーが出ます TypeError: expected string or buffer html_str = "<html><head></head><body>foo<b>hogehoge</b>bar</body></html>" のように自前で用意した文字列、別のURL( nekomimi.ws/~zankuro/ )をfetchした場合に正常に動作することを確認しています。 原因はHTMLソースにあるんでしょうか? エラーの説明と、もし分かれば解決策が欲しいです。
27 名前:nobodyさん mailto:sage [2011/04/23(土) 04:44:01.48 ID:???] contentがNoneになってないか? >>> from BeautifulSoup import BeautifulSoup >>> soup = BeautifulSoup(None) Traceback (most recent call last): ... File "Python27\lib\site-packages\BeautifulSoup.py", line 1915, in _detectEncoding '^<\?.*encoding=[\'"](.*?)[\'"].*\?>').match(xml_data) TypeError: expected string or buffer
28 名前:nobodyさん [2011/04/23(土) 04:55:29.58 ID:Z9ryHxYt] >>24 putした際に返されるkeyを自身や誰かが保持するのでは駄目ですか? putした時点で勝手にユニークキーは一つできるし、mydata.key()で自由に参照できますが……
29 名前:nobodyさん [2011/04/23(土) 05:04:00.77 ID:Z9ryHxYt] >>27 contentがNoneかどうかはifで予め判断してます。以下ソース一部。 resultはURLかNoneを格納し、wget()はcontentかNoneを返します。 if result: self.response.headers['Content-Type'] = 'text/plain' html = self.wget(result) if html is None: return else: bs = BeautifulSoup.BeautifulSoup(html) a_tag = bs.find('a') a_tag.extract() self.response.out.write( str(bs) )
30 名前:nobodyさん mailto:sage [2011/04/23(土) 05:43:54.46 ID:???] >>29 ではlogging.info('%r', type(html))とかやって 実際に何が入っているか確認してみれば?
31 名前:nobodyさん mailto:sage [2011/04/23(土) 09:45:37.59 ID:???] >>28 ありがとうございます。 なるほど・・・・ 前処理の考え方を変えればそれでいい感じです。 自前のユニークキーにとらわれすぎていました。 ありがとうございました。
32 名前:nobodyさん mailto:sage [2011/04/23(土) 13:22:53.31 ID:???] 今デプロイできてます?
33 名前:nobodyさん mailto:sage [2011/04/23(土) 13:49:56.08 ID:???] また落ちてる ありえん
34 名前:22 mailto:sage [2011/04/23(土) 13:53:31.27 ID:???] お 治ったか >>23 馬鹿には無理
35 名前:nobodyさん mailto:sage [2011/04/23(土) 14:28:05.85 ID:???] 馬鹿がいるな
36 名前:nobodyさん mailto:sage [2011/04/23(土) 23:06:42.32 ID:???] 馬鹿しかいない
37 名前:nobodyさん mailto:sage [2011/04/24(日) 03:33:24.35 ID:???] >>30 infoにもちゃんと'str'って表示されてたのでやたら困惑しました。 で、結局俺のコードに間違いはない(キリッってことでSOUPのバージョンを変えたところ、なぜかすっきり動いてくれました。BeautifulSoup3.1.0から3.0.8へ。 あとは文字コードで何度かエラー出されたのを修正して今は欲しいテキスト吐いてくれてます。 3.1.0と3.0.8でなにか動作違うところがあって、そこに引っかかってたんだと思うけど…面倒なんで調べないです。
38 名前:nobodyさん mailto:sage [2011/04/24(日) 10:49:14.20 ID:???] インデントが構文に組み込まれている屑言語なんか 使うわけねーだろw
39 名前:nobodyさん mailto:sage [2011/04/24(日) 21:00:16.28 ID:???] Programing Google App Engine のp.99 j.mp/hNgd29 には、 - url: /static/images/.* script: $PYTHON_LIB/google/appengine/ext/zipserve こんな風に書いておくと/script/images.zipから読み込む的なことが書いてあるんだけど、 zipserveのソース code.google.com/p/googleappengine/source/browse/trunk/python/google/appengine/ext/zipserve/__init__.py を見るとサブディレクトリから.zipを読み込むように書いていないっぽいんだけどどうなんでしょうか? エラーログを見ると/script/images/hogeリクエストに対して script.zipを読みに行ってCan't open script.zipっていうエラーで404を返してるみたい。
40 名前:nobodyさん mailto:sage [2011/04/24(日) 21:12:00.23 ID:???] その'/script'はどこから出てきたんだ?'/static'の間違い?
41 名前:nobodyさん mailto:sage [2011/04/24(日) 23:41:21.27 ID:???] >>40 そうだよ/staticの間違いだよ。悪かったな。
42 名前:nobodyさん mailto:sage [2011/04/25(月) 05:47:02.68 ID:???] 切れててワラタ 平身低頭の態度がmemcache並の寿命だな
43 名前:nobodyさん mailto:sage [2011/04/25(月) 18:01:19.48 ID:???] db.Modelのverbose_nameを取得するにはどうしたらいいでしょうか?
44 名前:nobodyさん mailto:sage [2011/04/25(月) 18:10:53.03 ID:???] Model.verbose_name
45 名前:nobodyさん mailto:sage [2011/04/25(月) 18:37:39.33 ID:???] ごめんなさい間違えました。 class A(db.Model) t = db. StringProperty(verbose_name="本文") このようなモデルクラスを定義した場合 a=A(t="これは本文") このようなエンティティから {本文,a.t} という辞書リストを得るのにどうしたらよいかということです。 最終的にJSONで出力したいと思っております。 よろしくお願いします。
46 名前:nobodyさん mailto:sage [2011/04/25(月) 19:59:53.08 ID:???] a.t.verbose_name
47 名前:nobodyさん mailto:sage [2011/04/25(月) 20:05:41.58 ID:???] あ、それでいけるんですか? コードスニペットに出てこないし、他に記述がみつからないので諦めてました。 明日テストしてみます。
48 名前:nobodyさん mailto:sage [2011/04/26(火) 08:14:17.49 ID:???] AttributeError: 'str' object has no attribute 'verbose_name' やはりダメです
49 名前:nobodyさん mailto:sage [2011/04/26(火) 08:24:53.90 ID:???] a.properties()['t'].verbose_name これだと取れるようです。コンソールだと文字化けするのでわかりませんけど。 というわけで、今度はプロパティ名を文字列で取得しなければならないです。 調べてみます。
50 名前:nobodyさん mailto:sage [2011/04/26(火) 10:50:54.12 ID:???] 失礼します。 use_library('django', '1.2')でdjangoを切り替えて使っています。 pydevからは from django.utils import simplejson するとエディタ上エラーになります。 でもコンソールから from django.utils import simplejson すると通ります。 このエディタのエラーが出ないようにする方法を御存知ありませんか?
51 名前:nobodyさん mailto:sage [2011/04/26(火) 14:26:06.58 ID:???] >>50 djangoのとは別にsimplejsonが入っているので import simplejsonでいける
52 名前:nobodyさん mailto:sage [2011/04/26(火) 15:24:09.60 ID:???] >>51 ありがとうございました!
53 名前:nobodyさん mailto:sage [2011/04/27(水) 01:34:31.14 ID:???] 今日から始めた初心者なんですが スタートガイドをコピペしてやったら複数行以上命令を書くと ずらずらっと長いのがでて最後に print "" print "Hello" ^ SyntaxError: invalid syntax ってでるんだけど何がだめなの? 環境がまずい?Mac snow leopard, python2.6.1です。
54 名前:nobodyさん mailto:sage [2011/04/27(水) 04:14:16.76 ID:???] >>53 駄目なのは思いやりが9割とバージョンが1割くらい
55 名前:nobodyさん mailto:sage [2011/04/27(水) 07:57:33.25 ID:???] 何行目が駄目って出てるはずだからそこをチェックする
56 名前:nobodyさん mailto:sage [2011/04/27(水) 08:17:20.98 ID:???] >スタートガイドをコピペしてやったら複数行以上命令を書くと 自分で打ち込め
57 名前:nobodyさん mailto:sage [2011/04/27(水) 11:35:17.04 ID:???] >>53 スタートガイドのどのコードなのかをURLで示してくれ。 じゃないとなんともいわれん
58 名前:nobodyさん [2011/04/27(水) 17:39:18.75 ID:B5LBmMkm] 作者のソースコードが元から間違ってるのかも知れないし 本に印刷するときにミスプリしたのかも知れないし >>53 がコピペするときに変なコード(全角空白とかインデント崩れとか)になったのかも知れないし >>53 が正真正銘の馬鹿かも知れないし ただの釣りかも知れないし
59 名前:53 mailto:sage [2011/04/27(水) 23:35:18.44 ID:???] >>54-58 ありがとうございます。 ソースとエラーログをこっちにあげました。 www1.axfc.net/uploader/Sc/so/228516.zip スタートガイドはgoogle のです。 code.google.com/intl/ja/appengine/docs/python/gettingstarted/helloworld.html ターミナルからpythonを実行させる時は問題なく出力されます。
60 名前:nobodyさん mailto:sage [2011/04/28(木) 00:42:20.55 ID:???] >>59 改行コードだね。¥nではなく¥rになってる。Macの古いエディタでも使ったのだろう。 perl -pi.bak -e 's/¥r/¥n/g' sandbox.py としたら直るかも。
61 名前:53 mailto:sage [2011/04/28(木) 01:18:58.75 ID:???] >60 サンクス! 改行コードがCRってのになってました。 LFに切り替えたら実行できました。
62 名前:nobodyさん mailto:sage [2011/04/28(木) 04:24:22.64 ID:???] しかし、「改行コード腐ってない?」ってサジェストしてくれるインタープリターやコン パイラって無いのかね。あった気もするが。
63 名前:53 mailto:sage [2011/04/28(木) 08:23:26.98 ID:???] 普通に実行する分については改行コードは意識しなくていいのに GAEでは改行コードが問題になるのはなんでですか?
64 名前:nobodyさん mailto:sage [2011/04/28(木) 19:42:06.83 ID:???] >>63 きみの手元でうまくいっているのは、たまたま君のマシンがMacだからじゃね? Googleの環境はLinuxだから、Mac上のPythonでは動いてLinux上のPythonでは動かないとか。 あてずっぽうだけど。
65 名前:nobodyさん mailto:sage [2011/04/28(木) 20:36:08.12 ID:???] GAEのOSってLinuxなの? まあ、他にない気もするが。
66 名前:53 mailto:sage [2011/04/28(木) 22:36:45.13 ID:???] >>64 そうなんすかね? ただGAEの鯖にあげずにローカルでやってたんですけどね。
67 名前:nobodyさん mailto:sage [2011/04/29(金) 10:34:41.20 ID:???] >>66 ローカルで実行するときとGAEでテストするときとで、同じpython使ってる? ローカルで実行する時は/opt/local/bin/pythonで、GAEのときは/usr/bin/pythonってことはない? 違ってたらごめん
68 名前:nobodyさん mailto:sage [2011/04/29(金) 11:25:31.47 ID:???] GAEの設定はブランクで動いてますね。 ターミナルで動かす時は python hoge.py か /usr/bin/python hoge.py でうごきます。 /opt/local/bin/python とか/usr/local/bin/python2.5 とかで叩いても No such file or directory って言われます。 GAEはどこのpython叩いてるんだろ...
69 名前:nobodyさん mailto:sage [2011/04/29(金) 12:03:10.77 ID:???] GAEは/usr/bin/env pythonでしょう
70 名前:nobodyさん mailto:sage [2011/04/29(金) 15:17:29.94 ID:???] results = db.GqlQuery("SELECT * FROM testdata") KindError: No implementation for kind 'testdata' って出ます。しかし、Datastore Viewerにはちゃんとtestdataがあります。 インデックスはindex.ymlで設定したものがまだDatastore Indexesには出てません。 これですかね? IndexErrorだった気がするんですが? 全件取得なのでインデックス関係ないと思うのですが・・・
71 名前:nobodyさん mailto:sage [2011/04/29(金) 16:04:13.61 ID:???] >>70 testdataがあっても、それが正しくモデルクラスとして定義されてなかったらエラーになるんじゃないかな
72 名前:nobodyさん mailto:sage [2011/04/29(金) 17:20:00.19 ID:???] >>71 ありがとうございます。 Datastore Viewerの中では SELECT * FROM testdata を実行することができ、データも表示されます。 db.GqlQueryを実行するクラス内ではクラスtestdataはインポートしていません。 ただし別のモジュールでは class testdata(db.Model): 定義してあります。 これはモデルクラスとしてとして定義されていない状態なのでしょうか?
73 名前:nobodyさん mailto:sage [2011/04/29(金) 21:28:22.52 ID:???] 同じモジュール内でモデルクラスを定義したら動作しました。 db.GqlQueryはモデルクラスと同じモジュール内に書かないとダメってことでしょうか?
74 名前:nobodyさん mailto:sage [2011/04/29(金) 21:54:31.01 ID:???] インポートすればいい。 from xxx import testdata みたいに。
75 名前:nobodyさん mailto:sage [2011/04/29(金) 23:16:53.54 ID:???] うまく行きました。 しかしモデルクラスは引数の文字列の中にしか出てこないのになぜクラス定義が必要なのかいまいちわかりません。 下位モジュールがどのように参照しているのかもわからない・・・。 第一引数がselfだからでしょうか? それにしてもpydevではunused import になるのもなんだかなー
76 名前:nobodyさん mailto:sage [2011/04/29(金) 23:17:52.75 ID:???] あ、ありがとうございました。感謝です。
77 名前:nobodyさん mailto:sage [2011/04/30(土) 18:13:36.18 ID:???] あれー、static_dirとして指定したパスにあるファイルをgetメソッドで取ろうとしたら、 Last-Modifiedヘッダがついてないんだけど、そんなもの? このヘッダがないから、毎回ダウンロードするはめになって、通信量がもったいないんだけど。
78 名前:nobodyさん mailto:sage [2011/04/30(土) 18:22:22.85 ID:???] >>77 これは昔からの仕様みたいだな。 ttp://code.google.com/p/googleappengine/issues/detail?id=368 ここを見る限り、2008年5月にissueが登録されて、2011年4月には「SDK1.4.3でも直ってないぞ」と言われてる。 うわ、GAEいけてねーな。タイムスタンプ考慮してくれないんだったら、static_dirの価値はあんまりないな。
79 名前:nobodyさん mailto:sage [2011/04/30(土) 19:10:21.71 ID:???] ETagは吐いてるっぽい
80 名前:nobodyさん mailto:sage [2011/05/01(日) 04:26:14.86 ID:???] Eclipse/pyでデプロイしてたら静的コンテンツ置いてるディレクトリに対して warning: Not importing directory '\workspace\app_name\src\stat': missing __init__.py なんて出たんだけど、__init__.pyってどんなディレクトリにも置かないといけないものなの?
81 名前:nobodyさん mailto:sage [2011/05/01(日) 06:07:13.84 ID:???] >>80 >warning: Not importing directory '¥workspace¥app_name¥src¥stat': missing __init__.py workspace¥app_name¥src が、Pythonの検索パス sys.path に含まれてて、 かつどっかで import stat とかやってるんだろ。 静的コンテンツを置くフォルダ名を変えてみるか、import statしている箇所を探してなんとかするか。
82 名前:nobodyさん mailto:sage [2011/05/01(日) 13:06:04.95 ID:???] 教えてください。 q = db.GqlQuery( "SELECT * FROM UserAgent Where Carrier='DoCoMo'" ) if q.count() >= 1 これ以外にデータがあるかどうかの判定はできませんか? この方法だとデータを一回ループするのに等しいと書いてあったので if q: これだとオブジェクトは帰ってきてるらしいのでいつでもTrueです。
83 名前:nobodyさん mailto:sage [2011/05/01(日) 13:16:38.10 ID:???] >>82 code.google.com/intl/ja/appengine/docs/python/datastore/gqlqueryclass.html if q.get():
84 名前:nobodyさん mailto:sage [2011/05/01(日) 13:37:20.94 ID:???] >>82 limitをつければいいんじゃないかな。 あとGoogle的には,キャリアごとにデータが存在するかどうかを表したモデルを用意するのが定石じゃないかな。 class CarrierName(Model): name = Property('String') だけのモデルを用意して、UserAgentエンティティを保存する時にCarrierNameも更新する。
85 名前:nobodyさん mailto:sage [2011/05/01(日) 14:06:24.02 ID:???] >>83 あ、なるほど、limi 1 って一個取得したらループ抜けてくれるんですね。なるほど! >>84 ありがとうございます。参考になりました。
86 名前:nobodyさん mailto:sage [2011/05/02(月) 12:30:00.47 ID:???] アプリケーションのルートディレクトリって、どうやって取得するんだっけ? 今は os.path.dirname(__file__) とかしてるんだけど、これだとファイルの位置を 変えるとうごかなくなるから、もっとうまい方法を知りたい。
87 名前:nobodyさん mailto:sage [2011/05/02(月) 15:06:04.49 ID:???] >>81 >静的コンテンツを置くフォルダ名を変えてみるか で対応した。解決したら原因別にどうでもいいや。
88 名前:nobodyさん mailto:sage [2011/05/02(月) 16:27:49.14 ID:???] 疑問をどうでもいいやで放置していく習慣をもったエンジニアは伸びないね。経験上。
89 名前:nobodyさん mailto:sage [2011/05/02(月) 16:44:35.67 ID:???] Pythonを流行らせたかったGoogleさんは出来ればPythonのバージョンの選択肢も増やして欲しかった
90 名前:nobodyさん mailto:sage [2011/05/02(月) 16:56:46.37 ID:???] >>89 増やさなくてもいいけど、最初から2.5じゃなくて2.6にしてほしかった。 AppEngine公開当時ですでに2.6はリリースされてたんだし。
91 名前:nobodyさん mailto:sage [2011/05/02(月) 17:43:03.27 ID:???] 2.xと3.xの選択肢を作ってもらいたい ていうかRubyもPHPも正式に対応してファイルの書き込みも出来るようにしてくれよ azureに負けちゃうよ
92 名前:nobodyさん mailto:sage [2011/05/02(月) 19:52:47.24 ID:???] >>91 azureの利点を詳しく
93 名前:nobodyさん mailto:sage [2011/05/02(月) 20:08:40.35 ID:???] wordpressが動くこと
94 名前:nobodyさん mailto:sage [2011/05/02(月) 20:28:19.55 ID:???] >>93 それはたしかに大きい! でもwordpressならazureじゃないほうがよくね?
95 名前:nobodyさん mailto:sage [2011/05/02(月) 21:47:45.46 ID:???] GAEは無料なのが良いんじゃないの?
96 名前:nobodyさん mailto:sage [2011/05/02(月) 22:43:34.20 ID:???] Visual studioで開発できるのはうらやましい
97 名前:nobodyさん mailto:sage [2011/05/02(月) 22:44:54.48 ID:???] PyDevがあるでしょ
98 名前:nobodyさん mailto:sage [2011/05/03(火) 00:00:12.50 ID:???] いやらしいようないやらしくない響き
99 名前:nobodyさん mailto:sage [2011/05/03(火) 00:08:33.35 ID:???] パイデブ
100 名前:nobodyさん mailto:sage [2011/05/03(火) 00:13:13.92 ID:???] PyPyやpypanはどうなる。とうてい声に出して言いたいとは思わない
101 名前:nobodyさん mailto:sage [2011/05/03(火) 01:46:09.39 ID:???] >98 PyPI!PyPI!!
102 名前:nobodyさん mailto:sage [2011/05/03(火) 01:52:51.88 ID:???] Deployすると動かない。 全く表示されないから手がかりがつかめないや
103 名前:nobodyさん mailto:sage [2011/05/03(火) 05:56:38.40 ID:???] >>102 logging入れまくれ
104 名前:nobodyさん mailto:sage [2011/05/03(火) 11:59:09.47 ID:???] >>102 appengine.google.com/ にログインしてアプリケーションを選ぶと 管理画面になるから、そこからエラーのログを見てみたら?