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

Google App Engine 2アプ目

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2009/05/30(土) 12:40:02ID:tuYY7oEn

Google App Engine
http://code.google.com/appengine/

■過去スレ
Google App Engine
http://pc11.2ch.net/test/read.cgi/php/1207754942/

■参考サイト
App Engine ギャラリー
http://appgallery.appspot.com/
ドキュメント
http://code.google.com/appengine/docs/python/overview.html
0381nobodyさん2009/10/14(水) 12:15:23ID:???
携帯厨大勝利
0382nobodyさん2009/10/14(水) 12:25:19ID:???
>>380
わーい
0383nobodyさん2009/10/14(水) 14:57:38ID:???
全部消した すっきりした
0384nobodyさん2009/10/14(水) 15:12:16ID:UoS3FYpp
>>383
やめないでー>.<
0385nobodyさん2009/10/14(水) 15:14:50ID:???
漏れ禿げだから 後ろ髪ないし
0386nobodyさん2009/10/14(水) 23:21:51ID:???
携帯ちゅうなにが関係あんの
0387nobodyさん2009/10/14(水) 23:55:57ID:???
携帯メールからTwitterにポストするプログラムが書けるとか?
0388nobodyさん2009/10/15(木) 00:56:26ID:???
書ける
0389nobodyさん2009/10/15(木) 05:15:32ID:???
携帯メールで巨大ロボットを動かすプログラムが書けるとか?
0390nobodyさん2009/10/15(木) 17:41:18ID:???
今日はいい天気だったよな。
0391nobodyさん2009/10/15(木) 20:24:10ID:???
昨日削除したアプリの最終確認がやっと届いた
消すのにも時間かかるんだな
0392nobodyさん2009/10/15(木) 20:30:41ID:???
えっ
なんで?
0393nobodyさん2009/10/15(木) 22:10:04ID:???
昨日申し込んで実際に消えるのは明日のよるか明後日だって
0394nobodyさん2009/10/19(月) 00:14:15ID:slCeJxW2
GAEでPHPのコード動かそうと思ってためしたけどダメだった。
0395nobodyさん2009/10/19(月) 01:38:35ID:???
>>394
諦めるのはまだ早いよ
0396nobodyさん2009/10/19(月) 10:49:52ID:???
>>394
「PHPはダメ」と空目した
0397nobodyさん2009/10/19(月) 11:41:15ID:Wql9KY0a
quercus使ってwordpress動かしてるのがあったけど、
デモサイトがkuso重くてダメだと悟った。
0398nobodyさん2009/10/22(木) 21:37:41ID:???
GAE on Pythonで、ライブラリパスを追加する方法を教えてください。
今は
import sys, os
rootdir = os.path.dirname(__file__)
sys.path.insert(0, os.path.join(rootdir, "lib"))
とかしていて、これでも動くんだけど、もっといい方法があるんじゃないかと思い質問しました。
app.yamlとかで設定できるとうれしいんですが。
0399nobodyさん2009/10/23(金) 06:14:03ID:???
GAEってセッション機能がデフォルトでは提供されていないのか。
PHP以下だな。
0400nobodyさん2009/10/23(金) 09:43:59ID:???
>>398
そんな感じでやるしかないはず。
0401nobodyさん2009/10/23(金) 23:39:18ID:???
>>398
sys.path.append(...)
でやってる
ちなみにzipにも出来るから
ディレクトリ造らずに
libhoge.zipだけ置いて
import libhoge
みたいなことが可能だったはず
0402nobodyさん2009/10/24(土) 00:07:53ID:???
PHPの場合、includeで絶対パス使うと最適化されたりするけど、
ttp://framework.zend.com/manual/ja/performance.classloading.html
Python+GAEだと、どうなんだろうね。

まあ、そんなちまいの考える必要ないのかもしれんが。
0403nobodyさん2009/10/27(火) 18:10:26ID:???
GAEで外部サーバに設置してあるPHPを
cronで定期実行する方法が判りません……

import urllib2
req = urllib2.Request('<実行先URL>')
f = urllib2.urlopen(req)
print 'Content-type: text/html; \n\n'
print f.read()
f.close()

では定期実行出来ませんでした。ご教授お願いします。
0404nobodyさん2009/10/27(火) 19:49:00ID:???

cron.yaml にcronの設定を書けば出来るよ。
http://code.google.com/intl/ja-JP/appengine/docs/python/config/cron.html
0405nobodyさん2009/10/27(火) 21:29:16ID:???
>>404

そのページのcron.yamlを使用したCron設定は実施済です。
Cron JobsでのPHP実行用pyファイルが動作した時間も
記録されているのですが、PHPの出力が正常に行われていません……

PHP自体は手動実行で動作確認済です。
0406nobodyさん2009/10/27(火) 22:31:36ID:???
どこにprintしてんだ?
0407nobodyさん2009/10/27(火) 22:56:59ID:???
URL Fetchしてる人いますか?

取って来る先のデータが更新されているのに、GAEのURL Fetchだとすぐに新しいデータを取ってきてくれません。
どこかでキャッシュされてるのか、最新のデータが返ってくるまでに時差があります。
ちなみに、同じソースをローカルサーバやAmazon EC2のサーバで動かすと常に最新データが取得できます。
何か対策をご存知ないですか?

0408nobodyさん2009/10/27(火) 22:58:16ID:???
>>406

ローカルでの動作確認用に使用して居ました。
削除したところ正常に動作出来ました、有難うございます。

凡ミスで恥ずかしいですorz
0409nobodyさん2009/10/27(火) 23:21:55ID:???
>>407
ためしてないけど、URLに無意味なハッシュでもつけてリクエストしたら?
04104072009/10/27(火) 23:36:21ID:???
>>409
あ、それいいかもですね。
今日はPC落としてしまったので、明日の夜に試してみて結果書きます。
ありがとうございました。
0411nobodyさん2009/10/28(水) 00:40:09ID:???
>>401
sys.path.append(...)の方法ってローカルのGAE完了だと
<type 'exceptions.ImportError'>: No module named mymodule
てな感じでインポートエラーにならない?

デプロイして本番環境だと正常にインポートできるんだが。。
0412nobodyさん2009/10/28(水) 01:03:33ID:???
ならない
0413nobodyさん2009/10/28(水) 02:30:39ID:???
つaddsitedir
04144112009/10/28(水) 11:24:06ID:???
>>411のエラーなんとか解決しました。。Mac環境だったんですが
MacPortsで別バージョンのPythonインスコしたりしてたのが原因だったっぽいです。

>>413
pythonはじめて1年ぐらいですがaddsitedir初めて知りました。これは良いですね。


0415nobodyさん2009/10/28(水) 16:59:31ID:???
>Mac環境だったんですが

しね
0416nobodyさん2009/10/28(水) 19:42:24ID:???
>>415
逮捕までいかなくても事情聴取までいけるように全力で通報しときました( ^ω^)
0417nobodyさん2009/10/28(水) 20:48:41ID:rFL/HL8M
なんてくさいレスなんだ
04184072009/10/28(水) 22:12:10ID:???
>>409
URLの後ろに「"?" + hhmmss(時分秒)」を付けてリクエストするようにしたら、
常に最新データを取得出来るようになりました。
やっぱりGoogleはキャッシュしてるようですね。

ナイスなアイデアありがとうございました。
自分で思いつかなかったのが悔しいですが、結果オーライです。
0419nobodyさん2009/10/28(水) 23:59:41ID:???
>>416
そういうことあるらしーね?
0420nobodyさん2009/10/30(金) 09:50:29ID:???
IDみえてるよ
0421nobodyさん2009/10/30(金) 11:42:03ID:???
Togetter(トゥギャッター) - まとめ「100万PV/日のmixiアプリモバイルをGoogle App Engineで実装した@gclue_akira氏に直撃インタビュー」
http://togetter.com/li/494


月間3000万PVの超スケーラブルなサイトの運用コストが月額5万円で運営できるというGoogle App Engineの国内事例がついに来ましたよ、おまえら
これからは、Google App Engineの時代ですよ
0422nobodyさん2009/10/30(金) 14:39:10ID:???
でもなぁ。GQLががががが。
0423nobodyさん2009/10/30(金) 21:08:11ID:???
100万PVで月額5万ってそんなに安くなくね?
でもスケールすると考えるとありか・・
0424nobodyさん2009/10/30(金) 21:14:10ID:???
直撃インタビューはどこにあるのこれ
0425nobodyさん2009/10/30(金) 23:46:25ID:???
Twitterwwwwwwwww
0426nobodyさん2009/10/30(金) 23:56:20ID:???
月5万払ってどこで収益あげてるん?
0427nobodyさん2009/10/31(土) 11:05:52ID:???
>>421
インタビューつーか、twitterのまとめサイトだなw

>>426
mixiアプリの収益原は主に以下

・PVx約0.05円
・課金方法(公式の決済はまだ用意されてなす)
(mixiアプリの一番人気のサンシャイン牧場は独自決済)
・自サイトへ誘導してほげほげ

なので、
PVで最低限 月3000万*0.05円=150マソの計算
1ヶ月続けばだけどね
0428nobodyさん2009/10/31(土) 11:41:07ID:???
すげーな。
0429nobodyさん2009/11/01(日) 00:56:46ID:???
>>427
へーmixiがアプリ側に金払ってるんだ
そうじゃなきゃ誰も作らないか
0430nobodyさん2009/11/01(日) 17:41:03ID:???
GQLって何て発音するの?ごくり?
0431nobodyさん2009/11/01(日) 19:59:44ID:???
GQLを使った時点で設計失敗だろ。
0432nobodyさん2009/11/01(日) 21:31:42ID:???
>>431
じゃぁどうするの?
0433nobodyさん2009/11/01(日) 23:03:58ID:???
>>430
ジーコー
0434nobodyさん2009/11/01(日) 23:23:03ID:???
>>430
おまえはSQLを何と発音するんだ?あーん?
0435nobodyさん2009/11/02(月) 01:30:53ID:???
シャックリ
0436nobodyさん2009/11/02(月) 08:37:23ID:???
シャクレ
0437nobodyさん2009/11/02(月) 12:58:27ID:???
>>432
ゆとり乙。
0438nobodyさん2009/11/02(月) 14:00:20ID:???
>>437
40手前のおっさんにむかって、生意気な口きくんじゃねー
0439nobodyさん2009/11/02(月) 14:31:27ID:???
>>438
ゴメン(ww
でもご愁傷様(wwwww
0440nobodyさん2009/11/02(月) 14:43:20ID:???
>>439
っていうか、教えてよ、教えて下さいよ。
0441nobodyさん2009/11/02(月) 20:29:20ID:???
騙されるな
GQL使ってJOINみたいなことしまくるのがGAE的に正しい設計
0442nobodyさん2009/11/02(月) 21:04:20ID:???
JOINは良いんだけど
refferenceの先の項目で検索したりソートしたり出来ないよなw
それしようと思ったら参照元テーブルに項目のコピー入れとけときたもんだ
一次性器化すら出来ないんだぜ?
0443nobodyさん2009/11/02(月) 21:06:44ID:???
だよな
パフォーマンスを最優先に強制されられて、素直な記述がさっぱりできん
0444nobodyさん2009/11/02(月) 21:12:20ID:???
その素直はRDBMS的な素直なんだぜ。
RDBMS脳を捨てようぜ。
0445nobodyさん2009/11/02(月) 21:40:45ID:???
BigTableの最大利用のための原則と指針
ttp://www.infoq.com/jp/news/2008/06/principles-to-big-table
これだけみてもちんぷんかんぷんだぜ。
0446nobodyさん2009/11/02(月) 21:53:03ID:???
コレクションフィールドで、GAEjでもJOIN検索をカバー
ttp://www.atmarkit.co.jp/fjava/rensai4/gaej04/gaej04_2.html
これはなんだね。
0447nobodyさん2009/11/02(月) 21:53:19ID:???
>>445
読むなら原文(英文)のほうがよくね?
0448nobodyさん2009/11/02(月) 23:05:42ID:???
抽出できたデータ件数も全部数えるまで判らないなんてw
0449nobodyさん2009/11/02(月) 23:07:13ID:???
>>446
ほう
Javaなら出来るのか
0450nobodyさん2009/11/02(月) 23:09:22ID:???
>>444
貧弱なDBをソフトのレガシーテクニックでカバーしろということですねわかります
0451nobodyさん2009/11/02(月) 23:30:47ID:???
世の中の常としてダサい部分は洗練されていくから
バッドノウハウ的苦肉の策があっという間に陳腐化していきそうでイヤーンな感じ
0452nobodyさん2009/11/02(月) 23:32:50ID:???
BigTableじゃなくてBigちんぽだったら良かったのに・・
0453nobodyさん2009/11/03(火) 00:34:11ID:???
>>449
Pythonのdb.ListPropertyにあたる機能じゃないの?
0454nobodyさん2009/11/03(火) 01:46:37ID:???
RDBのパフォーマンスチューニングテクニックのうち99%は
すぐ陳腐化するしシステム依存度が高くて応用も利かないバッドノウハウですけど何か?
0455nobodyさん2009/11/03(火) 11:15:15ID:???
GAEのデータストアってiTunesみたいだな

元データ=曲ファイルでアルバム名、アーティスト名、ジャンルで勝手に
インデックスが作られる。

アルバム名、アーティスト名、ジャンルはオブジェクトじゃない。
実体はない単なるインデックス。


これ、わかりやすくね?俺良く気がついた。えらい。
0456nobodyさん2009/11/03(火) 11:43:10ID:???
そういえば今日はいい天気だな。
0457nobodyさん2009/11/03(火) 11:51:38ID:???
GAEのデータストアってエクセルのシートみたいだな。
以下略。
0458nobodyさん2009/11/03(火) 15:38:42ID:???
Googl App Engineでwebサービス作りたいんですが、
お前ら何かフレームワーク使ってますか?
素のSDKままだと足りなさ過ぎる悪寒。
django SDKあるけど、みんなdjango使ってるの?
App Engine Oilとかどう?


Rubyは慣れてるから、JRuby on Railsでも使おうと思ったんだけど、
フレームワーク標準マッパのActiveRecordつかえねーし、
JRuby + Sinatra使ってる方がPythonよりCPUタイム10倍食うから、金も10倍かかるとかいいだして、
萎えてるところです。
0459nobodyさん2009/11/03(火) 15:42:23ID:???
上から下までグーグルに依存しなくてもいいんじゃない
0460nobodyさん2009/11/03(火) 15:51:26ID:???
は?10倍かよ。

ソースきぼん
0461nobodyさん2009/11/03(火) 16:31:27ID:???
>>458
これどうですかね
http://code.google.com/p/kay-framework/
日本語ドキュメント
http://kay-docs-jp.shehas.net/index.html
0462nobodyさん2009/11/03(火) 21:05:33ID:???
亀気味ですがすいません >411
自分の場合も、sys.path.append ってやってもエラーになるんすが(ちなみにうちもmac)
こんなふう↓↓↓にやって出来てるんすが
(GAEのドキュメントにはそうしろと書いてあるように見えたんで)
---------
1. 自分のプロジェクト配下にサブディレクトリ(たとえば mylib)を作成。
2. そこに、ライブラリ(たとえばhoge.py)を置く。
3. 同じ場所に、__init__.py を作成。(中身は空っぽでおk)

で、import mylib.hoge でインポートできる。
---------

まだ本番環境にデプロイしてみてないんすが、問題ないでしょうかね??
BeautifulSoupとか使ってて、その方法でimportしてるんだけど。

まだPythonもGAEも初めたばっかりだから、とんちんかんな事言ってたらごめんなさい。
0463nobodyさん2009/11/03(火) 22:55:25ID:qB2JrodB
>>458
Oil は便利 django いらなくなった
0464nobodyさん2009/11/04(水) 09:31:26ID:???
oilで十分じゃね?
crudフォーム自動生成ない時点でDjango使う意味なし。
0465nobodyさん2009/11/04(水) 14:41:27ID:???
>>463-464
thanx
0466nobodyさん2009/11/04(水) 15:02:19ID:???
んで、GAEOは何て読めばいいんだぜ?
0467nobodyさん2009/11/04(水) 16:31:56ID:???
>>466
gaeoに決まってるやないか。
0468nobodyさん2009/11/04(水) 17:59:26ID:???
油
0469nobodyさん2009/11/04(水) 22:22:12ID:???
ぎょ
0470nobodyさん2009/11/04(水) 22:39:03ID:???
だってプログラミングしてるときはいつもフル勃起してるもんw
0471nobodyさん2009/11/04(水) 23:15:58ID:???
日本人のオッサンが作ってるフレームワークはスルーですか?
0472nobodyさん2009/11/05(木) 21:19:30ID:???
何?
0473nobodyさん2009/11/05(木) 21:39:25ID:???
>>471
kwsk
0474nobodyさん2009/11/06(金) 00:29:45ID:???
>>473

>>461 の事じゃないかしらん
0475nobodyさん2009/11/06(金) 10:17:26ID:???
djangoのラッパーを作って息子の名前をつけてフレームワークと言い張ってみました
0476nobodyさん2009/11/06(金) 16:40:33ID:???
djangoのラッパーじゃなくね?
0477nobodyさん2009/11/06(金) 17:33:51ID:???
ソレモソウカモネ
ウッウー!
0478nobodyさん2009/11/06(金) 18:38:55ID:???
YO!YO! お前、ラッパー、俺、VIPPER, YO!

0479nobodyさん2009/11/06(金) 22:03:32ID:???
>>475
あ、django の事は強く意識してますが、ラッパーでは無いです。
django を appengine 上で動かすと重いしデバッグしづらいので
appengine 専用に django を書き直したようなのを作ってます。

いちおうパフォーマンスのために色々工夫をしています。

例えばテンプレートエンジンに Jinja2 というのを使っているんですが、デプロイ前にパースして Python コードにしたものをサーバーにアップロードするようにしています。

また、誰もが使う訳では無いようなモジュールは積極的に遅延ロードするようにしています。

あとKayにバンドルしているWerkzeugのデバッガはけっこう使いやすいですよ。使い方なんかはこのあたりを見てください
http://kay-docs-jp.shehas.net/debugging.html
0480nobodyさん2009/11/07(土) 13:27:03ID:???
Djangoから乗り換えるとなるとプラグイン周りとかいろいろ面倒だよね。
0481nobodyさん2009/11/07(土) 17:13:42ID:???
お前らドジャンゴていえよ、ドジャンゴ
■ このスレッドは過去ログ倉庫に格納されています