トップページ⇒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
0002nobodyさん2011/04/12(火) 17:55:49.34ID:???
日本語書籍

Google App Engine for Java [実践]クラウドシステム構築 (WEB+DB PRESS plus) (WEB+DB PRESSプラスシリーズ) (WEB+DB PRESS plusシリーズ)
http://www.amazon.co.jp/dp/4774139858/

Google App Engineプログラミング入門
http://www.amazon.co.jp/dp/4048676938/

Google App Engine 実践リファレンス
http://www.amazon.co.jp/dp/4774141275/

入門 Google App Engine for Java
http://www.amazon.co.jpdp/479802452X/

新人プログラマのためのGoogle App Engineクラウド・アプリケーション開発講座―JAVA PYTHON対応
http://www.amazon.co.jp/dp/4899772483/
0003nobodyさん2011/04/12(火) 17:58:04.38ID:???
http://ow.ly/user/aoKaeru
http://www.ustream.tv/channel/東京浅草放射線値-asakusa-tokyo
http://twitter.com/aoKaeru/statuses/57484274865152000

http://www.houshasen-pref-ibaraki.jp/present/result01.html
http://www.ustream.tv/channel/geiger-counter-tokyo
http://www.ustream.tv/channel/ガイガーカウンタ 
http://www.ustream.tv/channel/放射線レベル
http://park18.wakwak.com/~weather/geiger_index.html
http://www.atom.pref.kanagawa.jp/cgi-bin2/telemeter_map.cgi?Area=all&Type=WL
http://geiger.maido3.com/
0004nobodyさん2011/04/12(火) 18:06:20.80ID:???
最近の人気エントリ


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を使って無料でサイトを立ち上げる方法
http://techblog.ecstudio.jp/tech-tips/freewebsite-with-google-app-engine.html
> このGoogle App Engine(以下 GAE)、アプリケーション開発だけでしか使えないと思われがちなのですが、実は設定を工夫すれば通常のHTMLによるサイトを作って運用することも可能です。
> 多少初期設定の手順は複雑ですが、このスペックのサーバーを無料で使用出来ることを考えれば試してみる価値はあるのではないかと思います。
> Webサイトを立ち上げるまでの手順をまとめてみましたので、公開したいと思います。


【特集】Google App Engineで開発するためのフレームワーク × 16 + α
http://coolcoding.com/2010/01/frameworks_for_gae/
> いざGAEで開発をはじめるとしても、素のままで書き始める必要はありません。
> すでに多様なフレームワークが提供されており、そうしたフレームワークを活用することでより素早くGAE上での開発ができるようになります。
> 今回はGAEで開発を行う際にチェックしたいフレームワークを紹介したいと思います。


Google App Engineで開発するスケールするアプリケーション(前編)
http://codezine.jp/article/detail/4591
> 本稿の前編では、主にGoogle App Engineの概要と特徴、そしてWebシステムをスケールするための手法、考え方について説明します。
> 中編・後編では、Google App Engine上で動作する、twitterと連携したアプリケーションを紹介し、Google App Engine上でのアプリケーション構築方法について説明します。
0005nobodyさん2011/04/12(火) 18:08:11.56ID:???
続き


約半月で 4,000,000PV を華麗にさばく Google App Engine
http://www.1x1.jp/blog/2010/02/gae_twirate_sppspot_com.html
> このサイトはGoogle App Engine(GAE)+Pythonで構築しているのですが、このアクセス数ならではのGAE上で体験できたことをざざっと書いていきます。


第1回 Google App Engine上でLL+RDBアプリを作ろう
http://www.atmarkit.co.jp/fcoding/articles/gaephp/01/gaephp01a.html
> Web アプリケーション開発者にとって、魅力的な環境に映るGoogle App Engineだが、データの永続化などで落とし穴が存在する。
> これまでの開発手法を変えずに使えないだろうか(編集部)


Life is beautiful: Google App Engine上のベスト・プラクティス、その1: Datastore
http://satoshi.blogs.com/life/2010/02/app_engine.html
> Google App Engine上でアプリを作りはじめて約二ヶ月。いろいろと分かって来たこともあるので、自分へのメモも含めてまとめてみる。
> まずは、Datastore の話から。


GoogleAppEngine + JRubyでクリスマスまでに彼女をつくる方法
http://tech.kayac.com/archive/gae-jruby-twitter-bot.html
> というわけで彼女を作ってみました。...まさに僕だけのボット彼女です。
> 今回はこれをGoogleAppEngine+JRubyで実装したので、環境をつくるところか実際に動かすところまで説明します。


Google App Engineで独自ドメインを使う
http://www.1x1.jp/blog/2010/01/google_app_engine_my_domain.html
> GAEに設置したアプリケーションはデフォルトでは、[アプリケーションID + .appspot.com]というドメインでアクセスすることができます。
> また、これとは別に独自ドメインをアプリケーションに割り当てることもできます。
> 独自ドメインを割り当てる方法は知っていないと嵌りやすいので手順を書いておきます。
0006nobodyさん2011/04/12(火) 18:09:57.85ID:???
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所
0007nobodyさん2011/04/12(火) 18:10:59.41ID:lXmF6dcw
   ┌─┐
   │●│
   └─┤
   _   ∩
  ( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘      おっぱい!おっぱい!
0008nobodyさん2011/04/12(火) 21:27:49.66ID:???
その他

Python基礎文法最速マスター
http://d.hatena.ne.jp/dplusplus/20100126#p1
> ↓に便乗してPython版も書いてみました。

appengine ja night #6
http://atnd.org/events/3228
> Google App Engine (Python/Java)の勉強会です。利用者同士で実践的ノウハウを共有しましょう!

Python Hack-a-thon #4
http://atnd.org/events/2906
> 予定は未定です。日程も未定です。定員も未定です。

Python東海・Ruby東海 合同勉強会
http://atnd.org/events/3204
> PythonとRuby言語について理解を深めるのと同時にお互いの勉強会の交流のために合同勉強会を開催します。


■推奨フレームワーク
kay 圭
http://code.google.com/p/kay-framework/
日本語ドキュメント
http://kay-docs-jp.shehas.net/index.html
あとKayにバンドルしているWerkzeugのデバッガはけっこう使いやすいですよ。使い方なんかはこのあたりを見てください
http://kay-docs-jp.shehas.net/debugging.html
Google App Engineプログラミング入門 (kay の解説本)
http://www.amazon.co.jp/dp/4048676938
0009nobodyさん2011/04/12(火) 22:01:38.81ID:???
kay使ってる人って、どれくらいいるんだろう
0010nobodyさん2011/04/13(水) 16:00:46.68ID:???
>>1乙
0011nobodyさん2011/04/14(木) 20:24:42.86ID:???
Kayはfull stackなせいかゴテゴテしてる印象があるな。
あとドキュメントが少なめだから機能が把握しにくい。
シンプルがいい人はFlask + buildoutがオススメ。
0012nobodyさん2011/04/16(土) 01:07:06.44ID:IxYnqORC
>>1
乙
0013nobodyさん2011/04/16(土) 06:59:50.96ID:???
サーバー側コーディング不要のGoogle App Engine開発環境「jsonengine」(2/2):CodeZine
http://codezine.jp/article/detail/5690?p=2

もうPythonのマイクロフレームワーク「Flask」でもApp EngineのTwitter Botは15行じゃ書けない -
http://d.hatena.ne.jp/ambasa/20110317/p1

FlaskならApp EngineのTwitter Botが15行で書ける ? TRIVIAL TECHNOLOGIES 2.0
http://coreblog.org/ats/making-app-engine-twitter-bot-in-15-lines-by-using-Flask

microneを使ったらApp EngineのTwitter botが14行で書けた |TRIVIAL TECHNOLOGIES on CLOUD
http://coreblog.org/ats/writing-app-engine-twitter-bot-in-14-limes-with-aha-microne
0014nobodyさん2011/04/17(日) 10:55:32.57ID:???
>>13
勉強になったわ
ありがとう
0015nobodyさん2011/04/17(日) 12:23:17.93ID:???
「〇〇が簡単にできるフレームワーク」は〇〇しか簡単にできない
0016nobodyさん2011/04/17(日) 17:43:09.98ID:???
だからこそ簡単なのです
0017nobodyさん2011/04/18(月) 22:43:42.74ID:???
gaesynkit - Google App Engine Datastore/Client Storage Synchronization
ttp://www.reddit.com/r/AppEngine/comments/gspqf/gaesynkit_google_app_engine_datastoreclient/
0018nobodyさん2011/04/19(火) 06:32:26.01ID:???
なんでPython 2.5なんだよぉ
2.6に対応する予定はないの?
0019nobodyさん2011/04/19(火) 08:08:38.38ID:???
2.7なら
0020nobodyさん2011/04/19(火) 19:07:33.43ID:???
Android の ASEをインストールし、Pythonの起動、.pyをバックグランドで実行するまでの操作を動画にしました。

Androidのバージョンは 2.2です。

WindowsSDKで実験しましたので、他の実機で動くかは保証できません。
(というより、実機が無いのでエミューレータw)

特に詳しい人じゃないので難しい質問には答えられません(キリッ


Android ASE at Python. (from japan)
http://www.youtube.com/watch?v=RHaMv5XfcDE
0021nobodyさん2011/04/19(火) 19:34:13.02ID:???
スレチ
0022nobodyさん2011/04/20(水) 00:54:37.50ID:???
また落ちてるよ
なんだこれ
0023nobodyさん2011/04/20(水) 21:10:53.99ID:???
前スレは落ちたんじゃなくて埋まったよ
0024nobodyさん2011/04/22(金) 10:23:10.42ID:???
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()
0025nobodyさん2011/04/22(金) 10:26:23.27ID:???
あ、追加で質問です。上記の方法だとModelのPutが呼ばれないのではないかって気が付きました。
根本から考え直す必要がありますね・・・ヒントをお願いします。
0026nobodyさん2011/04/23(土) 04:43:47.02ID:Z9ryHxYt
質問です。
GAE+BeautifulSoup利用でスクレイピングしようとしています。
html_str = urlfetch.fetch(url).content
bs = BeautifulSoup.BeautifulSoup(html_str)
でcontent( http://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( http://nekomimi.ws/~zankuro/ )をfetchした場合に正常に動作することを確認しています。
原因はHTMLソースにあるんでしょうか?
エラーの説明と、もし分かれば解決策が欲しいです。
0027nobodyさん2011/04/23(土) 04:44:01.48ID:???
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
0028nobodyさん2011/04/23(土) 04:55:29.58ID:Z9ryHxYt
>>24
putした際に返されるkeyを自身や誰かが保持するのでは駄目ですか?
putした時点で勝手にユニークキーは一つできるし、mydata.key()で自由に参照できますが……
0029nobodyさん2011/04/23(土) 05:04:00.77ID: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) )
0030nobodyさん2011/04/23(土) 05:43:54.46ID:???
>>29
ではlogging.info('%r', type(html))とかやって
実際に何が入っているか確認してみれば?
0031nobodyさん2011/04/23(土) 09:45:37.59ID:???
>>28
ありがとうございます。
なるほど・・・・
前処理の考え方を変えればそれでいい感じです。
自前のユニークキーにとらわれすぎていました。
ありがとうございました。
0032nobodyさん2011/04/23(土) 13:22:53.31ID:???
今デプロイできてます?
0033nobodyさん2011/04/23(土) 13:49:56.08ID:???
また落ちてる
ありえん
0034222011/04/23(土) 13:53:31.27ID:???
お
治ったか

>>23
馬鹿には無理
0035nobodyさん2011/04/23(土) 14:28:05.85ID:???
馬鹿がいるな
0036nobodyさん2011/04/23(土) 23:06:42.32ID:???
馬鹿しかいない
0037nobodyさん2011/04/24(日) 03:33:24.35ID:???
>>30
infoにもちゃんと'str'って表示されてたのでやたら困惑しました。
で、結局俺のコードに間違いはない(キリッってことでSOUPのバージョンを変えたところ、なぜかすっきり動いてくれました。BeautifulSoup3.1.0から3.0.8へ。
あとは文字コードで何度かエラー出されたのを修正して今は欲しいテキスト吐いてくれてます。
3.1.0と3.0.8でなにか動作違うところがあって、そこに引っかかってたんだと思うけど…面倒なんで調べないです。
0038nobodyさん2011/04/24(日) 10:49:14.20ID:???
インデントが構文に組み込まれている屑言語なんか
使うわけねーだろw
0039nobodyさん2011/04/24(日) 21:00:16.28ID:???
Programing Google App Engine のp.99 http://j.mp/hNgd29 には、

- url: /static/images/.*
 script: $PYTHON_LIB/google/appengine/ext/zipserve

こんな風に書いておくと/script/images.zipから読み込む的なことが書いてあるんだけど、
zipserveのソース
http://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を返してるみたい。
0040nobodyさん2011/04/24(日) 21:12:00.23ID:???
その'/script'はどこから出てきたんだ?'/static'の間違い?
0041nobodyさん2011/04/24(日) 23:41:21.27ID:???
>>40
そうだよ/staticの間違いだよ。悪かったな。
0042nobodyさん2011/04/25(月) 05:47:02.68ID:???
切れててワラタ

平身低頭の態度がmemcache並の寿命だな
0043nobodyさん2011/04/25(月) 18:01:19.48ID:???
db.Modelのverbose_nameを取得するにはどうしたらいいでしょうか?
0044nobodyさん2011/04/25(月) 18:10:53.03ID:???
Model.verbose_name
0045nobodyさん2011/04/25(月) 18:37:39.33ID:???
ごめんなさい間違えました。
class A(db.Model)
  t = db. StringProperty(verbose_name="本文")
このようなモデルクラスを定義した場合
a=A(t="これは本文")
このようなエンティティから
{本文,a.t}
という辞書リストを得るのにどうしたらよいかということです。
最終的にJSONで出力したいと思っております。
よろしくお願いします。
0046nobodyさん2011/04/25(月) 19:59:53.08ID:???
a.t.verbose_name
0047nobodyさん2011/04/25(月) 20:05:41.58ID:???
あ、それでいけるんですか?
コードスニペットに出てこないし、他に記述がみつからないので諦めてました。
明日テストしてみます。
0048nobodyさん2011/04/26(火) 08:14:17.49ID:???
AttributeError: 'str' object has no attribute 'verbose_name'
やはりダメです
0049nobodyさん2011/04/26(火) 08:24:53.90ID:???
a.properties()['t'].verbose_name
これだと取れるようです。コンソールだと文字化けするのでわかりませんけど。
というわけで、今度はプロパティ名を文字列で取得しなければならないです。
調べてみます。
0050nobodyさん2011/04/26(火) 10:50:54.12ID:???
失礼します。
use_library('django', '1.2')でdjangoを切り替えて使っています。
pydevからは
from django.utils import simplejson
するとエディタ上エラーになります。
でもコンソールから
from django.utils import simplejson
すると通ります。
このエディタのエラーが出ないようにする方法を御存知ありませんか?
0051nobodyさん2011/04/26(火) 14:26:06.58ID:???
>>50
djangoのとは別にsimplejsonが入っているので
import simplejsonでいける
0052nobodyさん2011/04/26(火) 15:24:09.60ID:???
>>51
ありがとうございました!
0053nobodyさん2011/04/27(水) 01:34:31.14ID:???
今日から始めた初心者なんですが
スタートガイドをコピペしてやったら複数行以上命令を書くと
ずらずらっと長いのがでて最後に
print ""
print "Hello"

^
SyntaxError: invalid syntax
ってでるんだけど何がだめなの?
環境がまずい?Mac snow leopard, python2.6.1です。
■ このスレッドは過去ログ倉庫に格納されています