最近の人気エントリ Google APP Engine Python入門(2010年2月版) http://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上でのアプリケーション構築方法について説明します。 サービス開始から結構時間経ってて 古い情報を元に始めると損する場合が結構あるから まずこの記事ぐらいはざっと眺めた方が良い 01.Google App Engine 最近の動向|CA Beat エンジニアのブログ http://ameblo.jp/cabeat-e/entry-11394475313.html 無料で使える!ってだけで群がった当初の情報だと Hello World程度の浅い紹介とかしか無いけど アプリケーションやサービスにどう適用するのかが本題 色々揃ってきてようやくライブラリやノウハウも出てきた HRDの理解とDatastoreのバックアップ・リストア Warmup等含めたインスタンスの管理 極力Queryを減らすKey志向の設計 memcache, Frontend Cacheによるキャッシュコントロール 辺りは押さえとくべき NDBは使いやすいし自然とキー志向になるし 自動キャッシュがとてもありがたく DBで微妙だったプロパティとか整理されてるんでおすすめ NDBは辞めちゃったけどGvR謹製だし StructuredProperty, JsonProperty, PicklePropertyとか 楽できるプロパティが嬉しい Searchは今後Appengineで欠かせないサービスになる 早めにインデックスやドキュメントの管理と 使いどころを把握しとくと良い まだ価格が公開されてない上日本語対応は微妙だけど DatastoreのQueryで困るケースが色々解決できる Geo検索もできるし
モバイルAdSenseをどうにかPythonに埋め込む方法は無いですかね?
その問題クリティカルすぎないか? mobile adsense使えないとマネタイズ成り立たないサービスには使えないじゃないか…
色々ググったら英語の資料に 「独自ドメインじゃないとカウントされない」 とあったが本当かね? appspot.comはgoogle管理だからカウント除外されるのか (売上に含めちゃったら面倒だから?)
誰か独自ドメインでmobile adsenseを正常動作出来てる人いる?
前スレのスレッドセーフの件は誰も触れてないけど このスレには分かる人いないのか
言いだしっぺの法則 君が全力で調べてその調査結果を是非世に公表してくれたまえ
いや俺も全然わかんなくて気になってるのよ スレッドセーフなプログラムになってないと 事故が起こるかもよ?っぽいんだけど どうやったらスレッドセーフにできるのかとか どういう時どういう書き方したらいいのかとか 探したんだけどさっぱりわからん
日本語の情報が無いってことは 調べている人自体が少ないのだろう ◯◯を調べたけど◯◯がわからない、的な情報でもいいから 誰かがどこかにblogか何かで書いていくしかないね
日進月歩でグーグル側が更新しちゃうから追いつかないんだよな linux関係でググるといまだに古い資料が出てきちゃう現象
俺の調べたThreadsafeに関係ありそうなこと ・マルチスレッドプログラミングでの最大の問題点は スレッド間で誤って同じデータを触ってしまうこと ・Pythonはそもそもグローバルインタープリタロック(GIL)という仕組みで インタプリタでは同時に複数のスレッドが動かない ・GAEのThreadsafeはインスタンスを有効活用するためのもの (単一のインスタンスで複数のリクエストを捌ける?) ・わけがわからん GILがあるから原則スレッドセーフというかマルチスレッドできない?? 2.7環境だとGILが無くなった?? それともThreadingモジュールを使う場合だけ関係ある話?? たすけて
プログラミング初心者ですが質問です Pythonを利用してWebサイトを作りたいと思っています 必要なツールや知識は何がありますか? Python、GAE、HTML←この3つの知識があれば作れますか? 足りない知識やツールなどがあれば教えて下さい
フロントエンド向けキーワード: HTML5 CSS3 SassとCompass(Scout) jQuery CofeeScript バックエンド向けキーワード: python2.7 webapp2 flask その他(バージョン管理): Mercurial または Git
普通にサーバー向け クライアント向けって書いても良かったんじゃないかと
フロントエンド向けキーワード: 追加 TypeScript WebGL backbone.js node.js バックエンド向けキーワード: 追加 node.js wsgi django werkzeug
SearchのGeoPoint試してるやついない?
MapReduceの価格表が見当たらないんだけどどこにある?
今のGAEで可能なMapReduceは似非で Quotaとかも用意されてない力技じゃなかったっけ?
普通のfrontend instancesとして課金されるのかな。 それともbackendsとして?
Frontendじゃなかったっけ? それ以外に当然Datastoreやその他の割り当ても使う
始めたばっかりなんだが 上げようとしたらアプリ固有のパスワード入れろって怒られて、そんなん設定したっけ?と思ったが、二段階認証のほうのアレねw 紛らわしい名前w あ、もし公式以外で良さげなサンプル集サイト知ってたら教えて下さい。
>>44 ああ、なるほど!そこでのgithubなのか 名前は見かけるけど、プログラミング自体初心でgithub使ったこともなく、頭がそこまで回りませんでした gae sampleとかで検索しても良いの出ないんで、普通はどうしてるのだろうと思ったら、そういうサイトを活用してるんですね! 仕様も結構変わってるみたいですもんねえ 色々と為になる助言ありがとうございます。 GAEのmapreduceはmapperで登録するkey value pairが datastoreに記録されるの・・・・?
Datastoreのindexedってどうしてる? インデックスのみでクエリ行けるようにすべきなのか なるべくインデックス作らずkey -> memcacheにすべきなのか 答えは無いだろうけど方針とかある?
俺は後者だな ndb使ってるとkeyonlyからget_multi()で引っ張れば キャッシュが自動で効いて手軽だし
さすがにHRDに移行しようと思うんですが リハーサルとかできますか? ツールを使うと問答無用で移行してしまいますか? ツールで移行したデータを削除して 最初からやり直すことはできますか?
いつまでたってもApple Push Notoficaton 送れないし、Google Compute Engine使えないしマジなんなのこの糞サーバー
この間Socketのクローズテスト募集してたから Notificatonなり任意の接続もその内できそうだけどね
GAEjaのフォーラムに痛いおっさんが赤っ恥な投稿してんな ろくに英語も読めないのにクレーム風の物言いとか凄い感覚だわ
すごく基本的なこと質問します 課金は1週間ごとですよね? メールの100通制限は最初の支払いが終われば解除されるとあるけど 1. 最初の支払いって課金有効にしてから一週間目? 2. もしその1週間の間に無料枠超過しなかったら支払い発生しないからずっと100通制限? という二点がきになってます というのもサービスを公開すると絶対に100通でおさまるわけがないし メール配信以外では負荷がすくないのでテスト段階では無料枠に収まってるので 毎月最低$9は取られるはずだけどこれは月末まで待たないとダメ→メールの制限は月末までとれないだとマジ困るし なにがなんだかもう
1.は多分そう 2.は超過云々じゃなく課金有効後一定時間経過だったはず > Note: it may take 15-20 minutes for resource allocation changes to take effect. そもそも毎月$9じゃなく毎週$2.1だよ 課金有効にした時点で毎週取られる あくまで全部多分の話 金が絡むことをこんな場所できいちゃだめ 公式フォーラム行きなさいな
そう言えば3月から月払い対応するって連絡もきてたな
最近GAE始めたばかりなので offsetの事とか全然知らなかった 危ない危ない その他の事はちょっと難しすぎて手に負えない感じだなあ
GAEのページングは地味に苦労する cursor使うと |< |<< [1][2][3][4][5]…..[20][21][22] >>| >| こういう飛ばし飛ばしページング出来ないのがね まぁ自分の経験上、ページングみるときに飛ばしながら見ることはないので 「次へ」と「戻る」だけでナビゲーションは事足りるんだけどね
なんだ、調べてみると cursor はそういう仕様なのか・・・ アンチパターンだの書いてあったが限定的すぎるわ
ああ、でも cursor 使わないと今度は 大量のデータのページングが行えないのか どっちつかずだ
単純なトレードオフだと思うけどな 件数やページ指定必須のページングしたいなら offsetでコスト高 TwitterやFacebookみたいに順次次のページが得られれば良いなら cursor使ってコスト低 cursorがまだ無い頃に紹介されてた独自のcursor的設計とか offsetとcursorを上手く組み合わせれば もうちょっとバランスよくなるかも知れんが 結局使える範囲が狭くなるな
>>66 自分で実装すればいいじゃん 適当な形態素解析ライブラリで検索対象の文章を分かち書きして それをリストプロパティにぶっ込んでデータストアに保存(Create) 検索時(Read)は検索クエリを同様に形態素解析ライブラリで分かち書き 複数個の単語が帰ってくるから、それを元にリストプロパティから等価クエリ(=)で引っ張ってきてKeyリストを取得 得られたKeyリスト(複数)をAnd集合演算、最終結果のKeyリストをもとに データストアから実態を取得でおk Javaのほうだと実際にこれをやってる人何人かいる Google Cloud Endpointというのを使うと サーバ側でコードをあまり書かずに クライアント側で結構完結できてしまう ということなのかな?
>>67 全文検索の独自実装なんてとっくにやっとるのよ それが高コストすぎるからSearch APIに期待してるわけで Datastoreでアホみたいな高コスト要因になるクエリも Searchなら多分そんなややこしいもんじゃない筈だしね >>68 Endpointsはスマホアプリとかのバックエンドを 最低限のコードで実現できる仕組みだな テスト版がJavaしかなくて残念だったけど Pythonも対応したのでその内評価してみるわ どなたかアイデアいただけませんか。 以下の様な MyModel があったとします。 class MyModel(ndb.Model): message = StringProperty() date = ndb.DateTimeProperty(auto_now_add=True) MyModel.message には None 状態のデータが入る事があり、 message 内文字列が存在する MyModel を取得するために 以下の様な記述を行なっています。 q = Model.query(Model.message > None) ここで、更に MyModel にデータが登録された日付で検索を行う条件を加えたい所ですが 不等号による検索を行なっているため date での order は不可状態。 よって、message を登録する際は文頭に 日付の時間を必ず追加するようにしています。 これで解決できてはいるのですが、もっとスマートな方法はないでしょうか。
>>70 booleanのnone_flagを新設 文字列がNoneだったらCreateやUpdate時にTrueを入れる デフォルトはFalse None以外のエンティティを取得したい時は none_flag=Falseと日付orderを使う おれも質問 ずっとPHPでCakePHP使ってきたんだけど PythonというかGAEではコマンドでひながた作ったり モデルデータを自動で作ってくれるフレームワークってないの?
公式からダウンロードできるGAEランチャーの左下の+を押せばひな形出来る(GUI) デプロイもワンクリック ぶっちゃけCUIでダラダラコマンド入力するよりこっちのほうが楽でしょ モデルデータは知らん
web2py使ってたけどやめたわ。 全然標準でいける。
スレッドセーフで悩んでたやつは何でなやんでたんだ。 前スレみれないからわからんわ。
>>75 標準ってwebappのほう? 生産性的にはどうなんかね >>77 webappだな。 生産性はビューまわりは悪いな、やっぱ。 作るものによっては、ビューエンジンだけ、Djangoのとか使ったほうがいいかもな。 他は変なストレスがなくてよい。 データストアとかは、変にラップされたもの使うより、自分で実装したほうが精神衛生上よいし、 認証周りも、フレームワークで用意してくれてるごっついもの使うより、自分で1から実装したほうが、 フレームワーク独特の仕様でイライラするようなことはないな。 まぁGAEにかぎったことじゃないがな。webappはシンプルでいいよ。 >>76 どうやったらスレッドセーフなものが書けるの? みたいな話だったと思う 俺の理解はこのスレの >>32 と変わんないから もし知ってるならなんかヒントだけでもほしいよ >>78 俺も同意 素直だけどGAE前提だから扱いやすいね webappは2の方がいろいろ楽になってるから 英語しかないけど2使ったほうがいいな k = db.Key('Entity', 'test') db.delete(k) みたいにフェッチしないで削除したほうが、よけいなREAD発生せずにすむのかね?
date型って、○月○日とか3日以内とかの条件で使えるのか? 年月日時間、別々で持った方がいいかなぁ。まぁじっくり設計して考えろって話だが。
試してみて結果報告を頼む できない場合 dateを数値に変換したものを別に持たせとけば良さそう
>>85 両方できる ただ比較演算子を温存するために定点からの日数や年数を持たせておくといいと思う >>86 あぁ別で持つって手もあるのか。 なんか気づいたら報告する。 >>87 d ほぅ。例えば日数だけで検索したい場合は、stringとかで持ってたほうが早いってことかな。 >>598 これを安全というか危険というか 今の放射能の議論は扱ってる数字は同じなので解釈問題になってしまってる dat2 = address2. all() dat2.filter( "shikutyosonmei =",u '名古屋市千種区' ) dat2.order( "todofukenmei ") dat2.order( "shikutyosonmei ") dat2.order( "ooazatyotyome ") ローカルではエラーが出ないがサーバーではエラー dat2.get("ooazatyotyome","") dat2.get("ooazatyotyome") 正解 dat2.ooazatyotyome まえからそうだっけ?
あ、ちがう ローカルではエラーが出ないがサーバーではエラー dat2[0].get("ooazatyotyome","") dat2[0].get("ooazatyotyome") 正解 dat2[0].ooazatyotyome
あれ 何が起こってるんだろ 今度はローカルで AttributeError: 'dict' object has no attribute 'ooazatyotyome'
あ、わかった データが取れない所でDict入れてた スレ汚しすみません
ReferenceProperty持ってるエンティティ取得した時点で、 親エンティティの検索も発生しちゃうのか? もしそうだとしたら、とりあえずキーだけ欲しくて条件によっては親エンティティも 取得したい場合は、ReferenceProperty使わないほうがいいのかね。
Appstatsなるものがあるのか。自分で調べるわ。
特定のGoogleアカウントにだけアクセスを許可するページってどうやって作るんですか? 以下のコードでそれっぽいことできたんですが、もっと良い方法ないですかね。 if users.user_id() == 'アクセスを許可したいGoogleアカウントのID': <ページを表示> else: <403ページヘリダイレクト>
>>99 どういう意図の制限か知らんが それが一般にオープンなものじゃなくて 身内だけで使うものなら そのアプリケーション単位のアカウント設定使いなよ それだと administrator になりませんか?
Viewer Roleも渡せない相手なら そりゃある程度手間かけないと 自分でやってる形が一番手軽だけどメンテしにくい Accountモデル作ってキーをGoogleAccountのIDにして key.get()で判定が一番早いかな Datastore ViewerでCRUDできるし ndbだとkeyで取ったらキャッシュするんで メンテ時はキャッシュのフラッシュ忘れずに
前回散々叩かれたのに また村上が懲りずにデマばらまいてる そのうちこのスレにもやってくるぞ
GAEアプリから2chかbbsへ投稿したいですが 写真の通り逆引、グーグルIPで投稿できません。解決方法があれば教えていただければ幸いです。 クライアントのJavaScript上から投稿すれば?
モデルエンティティにある名前のプロパティを操作すると 時々プロパティがなかったりしてエラーがでるんだけど どうやってチェックするかど忘れした
日本で成功事例出てこないとむずかしいな いまんとこゲームのバックエンドばっかりだし
Python2.7とndb時代に対応した参考書ってないのかな Webドキュメントだけだと分散しすぎて体系的なノウハウ得にくいから 誰か出版してよ こういうサービス使って電子書籍で売ってくれ http://p.booklog.jp Paypalでもいいし 執筆してる間に新しくなったりするからなかなか難しいねえ 自分で分かる範囲なら細かいのでも答えるよ 中の人が言うように日本の利用者が増えないと アジアでの運用もはじまんないし
初心者向けの入門サイト作るか HelloWorldから始まり フレームワーク(Webapp2ベース)を使った 分業しやすいフォルダ構成(MVCに分ける) Datastoreと連携したTwitterライクなアプリケーション開発 ・ユーザ登録(メール送信でアドレスが実在するか確認) ・投稿一覧表示、ページング(カーソル) ・画像ファイルアップロード(Blobstore) ・発言をフォロワーへFAN OUTする処理にTask Queueを使う等 こんな感じで実務向けに使えるものを懇切丁寧にコード添えて解説 Python GAEのサンプルは基本的なものはあるが 実用的なものが少ないのでそれを補ったほうがいいと思う (だから習作以上のものが中々出てこない)
ところで質問です 思い立って使ってスレッドセーフのコードに変更しているんですが webapp.RequestHandlerをwebapp2.RequestHandler に書き換える必要はあるでしょうか? webapp2.WSGIApplicatioについてはいろいろ言及があるんですが RequestHandlerについてはあんまりありません。 教えていただけるとありがたいです。
webapp2_extras.localってi18nじゃなくて Threadローカルで扱えるコンテナでしょ? 122のは前半はともかく localについては嘘っぱちだから信じちゃいかん
なるほどとりあえずwebapp2にしとけってことですね。 おふたりともありがとうございました。
GAEPに興味はあるんだが中々腰が上がらない これってAWSと比べてコスト安いの? 最初無料で使えるのはいいんだが 転送量とかCPU課金とか諸々の要素含めて 1000PVあたりのコストがどのくらい掛かりそうなのか データがなくて導入できぬ 画面面積に占める割合が文字データ80% 画像データ20%の典型的なWebアプリケーション マネタイズはAdsenseなどの広告のみ(CPMは50円程度)とした場合 黒字に出来るんかね 作りました!赤字です、じゃやる気にならない かといってそこらへんの具体的なデータを出してる人がいない
そういうちまちましたのには向いてないと思うな もっと遠大でないとわざわざ選ぶメリット薄い
そういうコストに関してどれくらいかかるかは GAEのサイトに書いてあるよ
画面に占める割合とかじゃなくて、 ファイルサイズとか、 計算できる材料はあるでしょ? ちゃんと計算してみなよ
◆じゃあのさん劇場◆ 21時 開演予定(開演時間は遅れる場合があります) 892 名前:以下、名無しにかわりましてVIPがお送りします[] 投稿日:2013/04/17(水) 00:36:28.53 ID:3UTZp96G0 おうwwww俺だwww なんか、保守デモ関連できな臭い話聞いたんだがよおwww まだ情報の整理と、関係者からの裏とりはできてねえから公開は今日の21時以降になるwww ミンスのクソどもも関わったカルト団体に関する情報だwww楽しみになwww じゃあのwww --- 以下スレ情報 --- 高岡さんがフジ韓流ゴリ押し批判したら干されたのでウジテレビ凸 http://hayabusa.2ch.net/test/read.cgi/news4vip/1366132575/ さくらインターネットでjpドメインとったんだけど、 www.ドメインのcnameに「ghs.googlehosted.com」セットして24時間以上たっても解決できないんだけど、 何かやり方知ってる人いませぬか?
>>133 appとgaeの関連付けちゃんとやってある? app側でもgaeを関連付けないといかんけど >>134 関連付けやってるよ 以前にも何度も独自ドメインでやった経験あるんだけど、なぜか今回はできない。 その時はお名前.comで、今回初めてさくらインターネットでドメインとったから、 たぶんさくらインターネットのドメイン設定に原因があると思うのだけれど。。。 DNSかも知れないしもうちょっと時間がかかるだけかもしんないね
ありがとう 自己解決した ghs.googlehosted.comという値の最後にドットを付けないといけなかったらしい www CNAME ghs.googlehosted.com.
PHPをサポート言語に追加とか言ってるぞ マジやめて
貴様の頭脳よりGoogleデベロッパー様の頭脳のほうが格段に上だ 貴様がNoと言うのなら、Googleデベロッパー様の考えが正しいのだろう
なんか朝からサーバーエラーだわ M/Sほんとダメってる さっさとHRD化しちまおう
google.appengine.ext.db ってまだ使える?使わない方がいい?
developmentサーバってCPUを結構くうんだな。ノートPCのバッテリーがもりもり減ったわ。どうしてくれる。
GAEは HTTP_RANGE って取得できる???
今更dbは使うメリットないよ せいぜい、サンプルがndbより少し多いってだけ
わざわざコード書き換えてまでndbにする価値あるかな?
Keyでのgetにキャッシュが自動で効くから 作りによっては課金を大きく減らせるかも dbで手厚くその辺カバー済みの人は効果薄いけど Googleのサンプルとかでもndb主体になってるから メンテし続けるならndbに置き換えといた方が良いよ このスレの上の方に移行用にGvRの書いたドキュメントのリンクあるし
どんどんmemcacheに放り込んでいったら 最終的に課金が激減したわ ところでpydevでmemcacheのメソッドの 未定義って警告が消えないんだけど これ何か問題あんの?
pydev って eclipse のプラグイン? たしかそのプラグインは不安定で エラーや警告が出まくる事はあったかな
そう、Eclipseのやつ 結構アップデート入ってるみたいなのに いつまでも解消されないんだよね 今のところEclipse上の警告だけっぽくて 本番でも開発用でもエラーとかは出ない pydevだけの問題なのかな
Blobstoreに登録した画像を外部に投げたいんですがsend_blobとget_serving_urlではダメでした TwitterモジュールはTweepyを使っています どちらの関数もos.path.getsize(filename)でos.errorを吐いているので画像として取得できてない?感じです
ありがとうございます 外部=Twitterにです、すみません 具体的に言うとTweepyのupdate_profile_imageでプロフィール画像として登録したいのです >>157 REST API 1.1だと思います(勘違いしていたらすいません) >>158 ファイルを送りつけるっぽいsend_blob(save_as=True)でもダメでした >>159 モジュール内でfp.read()をしていたのでこれをBlobReaderにしたら動くかな? 試してみます うーむ2, 3ヶ月ぶりに Google App Engine Launcher を起動して1.8にアップデートしたら ndb.Model に設定したプロパティが存在しないとか言われて AttributeError で値が取得できなくなってしまった Console で確認してみるとデータストア値は正常に格納されているし 何かアップデートで変更がかかったのかな 簡単なプログラム作って1から検証や…!
Gitはバージョン管理ソフトだよね? Gitが使えると何がうれしいの?
最近はGitに公開してるソースを就活時にアピールするんだ
どうせ大抵git使ってるだろうし 多少規模が出てきたらpushでデプロイしたくなるよ 1人開発だとそこまででもないかも
if 馬鹿には無理: if 馬鹿には無理: if 馬鹿には無理:       pass
Dashboard見てたらこんな表示が Looks like you're using Backends. We suggest that you make the switch to App Engine Modules. See the Modules documentation to learn more about converting: Python | Java.
modulesはまだいまいち移行する気にならんよなあ previewってのもあるけどドメインの扱いとか バージョンと混同しそうでなんか嫌だ どういうアプリケーションだと嬉しいのかね
GAEは少資本の学生起業家等に最適だと思うんだけどねー スマホアプリのバックエンドとしても使えるし 応用の幅があっていいんだが中々普及してくれない
サービス開始当初は著名プログラマーがこぞってGAEで開発してたけど、どうして使わなくなったのだろう? DataStore難すぎ。費用計算が複雑。標準APIに制限があるのでサードパーティのライブラリが使えないものがある。スピンアップを考えると、大き目のFrameworkが使えない。とか?
当初は全文検索がなかったから実案件に使いにくかったというのがあるな。 独自に実装するには形態素解析とDataStoreに対する深い理解がないと無理だったし。 あとPythonでもスピンアップ遅い&スピンアップ後も レスポンスがモッサリでUXが悪かった。
「合わないアイデアが多い」ってのが スタートアップなんかで採用されにくいとこじゃないかな SongPOPとかSnapChatみたいな成功事例出てきて 適したアイデアを探す連中も増えそうだけど GCEがもっと身近でGAEと連携しやすくなれば Amazonから流れてくる層も増えるかな
VM Runtimeっていまいち情報みつかんないんだけど modulesのひとつに、実態はGCEなVMが指定できる感じ? 管理のイメージがどうもピンと来ない
たしかにこわいな Cloud DatastoreとかCloud SQLもおんなじかな visaデビッドみたいなカードで登録しとけば 残高分しかリスク負わなくて済むんで おれは念のため全部そうしてるよ
>>189 visaデビットでも関係なくね? 残高以上引かれなくなるというだけで 請求のタイミングまでに発生した従量制の課金債務はなくならんぞ あとから支払い督促状が届くだけな気がするが… AWSのS3あまりよく知らないんだが GCS(Google Cloud Storage)と同じく上限設定ないのかな? 中国人がシステムを悪用して大量に動画像をDLしまくって 転送量課金を増やしまくる攻撃とかあり得そうで怖すぎる パケット定額なしのスマホ持たされるようなものだな
GAEはもう流行ってないのか PaaS環境は魅力的だがElastic Beanstalkみたいなのもあるしな
App Engine ModulesはEJBの目指した世界に近いな
>>196 他のサービスでそのEDoS攻撃対策されてるとこあんの? 重い画像や動画アップロードするようなサービス自体に そもそも無理があるわけで 各所で動画サイトが潰れまくった経緯を知らないほどアホなんだろうか
動画サイトはビジネスモデルが広告で 回線費用>広告収入になりやすいからな 画像系くらいなら問題なく運用出来てる所ばかりじゃね?
動画はYoutubeに任せればいいが 画像をまったく使わないテキストデータ オンリーのサービスってあんまり見かけないな ユーザプロフィール画像みたいなアイコンでも テキストデータよりは情報量多いから そこ目掛けて大量アクセスすりゃあっというまに 運営者の財布がスッカラカンになる
AppEngine限定ならstaticはGoogleのCDNから配信だから アイコンとかはまあどうにかなるよね 動的に受け取る場合は厳しいけど まあappengineに限らず従量制が多いクラウドにつきまとう問題だけど 大手はどこも配信にコストかかってるわけだよね appengie側でDDoS対策用意するか サードパーティのDDoS防御ソリューション組み入れられる機構にしないと 根本的には対処しようがないよね
メモリキャッシュだけを利用してチャットするだけみたいなシステムだと フリー枠だと分間30アクセスくらいでどのくらい使えるんだろうか 規約がよくわからんが対戦ゲーム用のプロトコル作れば捗りそう
>>203 プロトコル作るとかアバウトすぎて見積しようが無いよ 最初からフリーで収めるつもりなら GAEにしない方がいいとおもうけどな >>211 レスありがとう。 エッチなのはダメか、残念…。 今はポルノ規制は撤廃されてるはず。 英語版の利用規約を見てみたら?
作れるアプリ数もっと増やせないのかな ちょっと窮屈になってきた
アプリ数が10超えそうなんでアカウント増やそうと思うんだけど 管理してて困ることってありますか?
あれ、自分は10以上にできてるけど。 たぶん信用されたら枠が増えると思うよ
課金した分は増えるんだけど 課金しても料金発生してないからその分は増えないっぽい
>>226 同じページを返すのは簡単にできます キャッシュを使わせるにはフロントエンドキャッシュを有効にすればいいだけですが 2つのURLで同じキャッシュを使わせる方法は知りません 片方のURLにリダイレクトを返すようにしておくってのはどうでしょうか? そしたらキャッシュがあれば使われる気がします
過疎ってんなあ 誰かモジュールの使い方教えてくれ 英語ページ何度読んでも結局どう使っていいのかわからん
ていうか、全体に使いにくいしな 理想論的にはエスペラント語に近いわ
Master/Slave のサポート期限っていつだっけ?
お前ら個人で最高いくら請求きた? SOHO等、経費除く。
最高で3万くらい ページングで無限ページ生産しててそれを無数のボットが延々とたどってた
もちろん上限設定しとけばそんなことはないんだけど 企業サイトだったしいろいろいじってる最中だったから テストの負荷分で落としちゃ悪いと思って上限に余裕とってたからね がんばって料金抑えたから一年くらいで黒字になるからいいけど
>>235 ちなみに料金抑えるのにどんな工夫した? >>236 課金のほとんどがフロントエンドインスタンスだったので 長くなる処理をフロントエンドで待たせるとインスタンスが必要になるので jsonでページに結果を渡す仕様に変更して 時間のかかる処理をバックエンドにやらせて結果を通知してからダウンロードさせた あとはDatastoreの結果を30秒キャッシュしたくらい バックエンドでやらせた結果をblobでURL渡しにできたらもっと課金減らせると思う 最近、 Deadline exceededが増えてる気がする。 エビデンスはない。
昔見たロードマップでPython3に対応するっていってた気がしたんですが その後何か変化あったでしょうか?
何か知らないうちに新機能実装(テスト)されてたりするな あの鬱陶しい、直リンもしないアップデート通知になんか情報乗っけとけよとは思う
webapp2、シンプルで好きなんだが、みんな認証どうやってんの? AuthKitとか使えばいいのか?
Cookieベースのセッションは、Railsと似た方式ね 特に困った経験は無い
ちなみにBASIC認証はどうしてる? 公式リリース前に関係者にレビューしてもらいたいだけなんだが•••
GAEでホームページを作っているのですが 404ページをカスタマイズするにはどうしたら良いですか? 具体的には存在しないURLにアクセスしたらトップページにリダイレクトするだけでいいのですが。
>>253 返信ありがとうございます。 app.yamlを下記のようにしましたがデフォルトの404ページが出ます。 application: *** version: 1 runtime: python27 api_version: 1 threadsafe: yes handlers: - url: / static_files: htdocs/index.html upload: / - url: / static_dir: htdocs error_handlers: - file: index.html >>254 htdocs/index.html では? >>255 Deploy時に Error 400: --- begin server output --- Client Error (400) The request is invalid for an unspecified reason. --- end server output --- がでてDeploy出来ません。 あ、ごめんそもそもover_quota dos_api_denial timeoutしかハンドルされてないみたいね 404はハンドラの最後にそれ以外のすべてのURLを対象にして - url: /.* static_files: htdocs/index.htm upload: htdocs/index.htm
>>257 デフォルトの404が出ます。 - url: / static_dir: htdocs ですでにすべての下位URLに割り当てられているせいだと思います。 Blobstore使う時に、同じ画面で「画像ファイル指定」と「文字入力」を同時にさせたいことが良くあるじゃないですか。 で、「文字入力」欄に日本語が入力されると、文字化けしませんか? ローカル開発環境だと日本語が入力されても問題なく処理できるんですけど、本番環境だと文字化けするような・・・どうしよこれ。
LINEに数年前にデートしたデパガが現れたから声かけたら 気がついたら食事に行く話になってた 細かい日程まで決めてないからこのままフェードアウトしよっと
Goolgeのhelloworldアプリが以下のエラーで起動すらできないのですが何か原因分かりませんか。 Google App Engine Launcherやコマンドプロンプトでdev_appserver.pyを直接動かしても起きるようです。 2013-12-20 00:35:58 Running command: "['C:\\Python27\\pythonw.exe', 'C:\\Program Files\\Google\\google_appengine\\dev_appserver.py', '--skip_sdk_update_check=yes', '--port=8080', '--admin_port=8000', 'D:\\develop\\work\\python\\helloworld']" Traceback (most recent call last): File "C:\Program Files\Google\google_appengine\dev_appserver.py", line 197, in <module> _run_file(__file__, globals()) (中略) File "C:\Python27\lib\mimetypes.py", line 249, in enum_types ctype = ctype.encode(default_encoding) # omit in 3.x! UnicodeDecodeError: 'ascii' codec can't decode byte 0x83 in position 9: ordinal not in range(128) 2013-12-20 00:35:59 (Process exited with code 1)
なお環境は WinXP 32bit, Python 2.7.6, GAE SDK 1.8.8 です
>>266 ググればすぐに情報が見つかるよ。 レジストリのHKEY_CLASSES_ROOT\MIME\Database\Content Typeに ASCII以外の文字を含むタイプ名が登録されていると例外が発生する。 QuickTimeがロシア語の名前を登録するのが原因らしい。 >>268 詳細な情報ありがとうございます。 Windows環境で発生するというのは見かけましたがそういうことだったんですね 一応Pythonのバージョンを2.7.5にすると動くことを確認しました。 レジストリの掃除はちょっとホネが折れそうなのでこれでしのぎます 基本的なことだと思うんだけどunique制約がないから 重複登録の防止ってどうやってる? いちいち全データを取得して被ってないかチェックしか思いつかない・・
結果をkeyで取得すれば高速だし重複処理もできるからそうしてる
Invalid arguments Runs a development application server for an application. dev_appserver.py [options] <application root> Application root must be the path to the application to run in this server. Must contain a valid app.yaml or app.yml file. と先頭にダラダラと怒られます。どうすれば良いでしょうか?
pythonのバージョンは2.7.2 GAEのは1.7.5 OSはWindows7 一応、この環境で学校のは動いたのですが、自分のが動かないです。 困ってるの教えてください。
dev_appserver.pyの起動オプションが間違ってるって書いてあるじゃん ランチャかpydevの起動オプションチェックした?
>>274 ランチャかpydevの起動オプションチェックするってどういうことですか? (学校の同じ環境で、コマンドでオプション何もつけずに、うまく行ったんですけど) >>276 ルートディレクトリが違うってどういう意味ですか? 素直に先生に相談してみたら. 何のために学費払ってんの
>>277 app.yamlがあるフォルダへ移動して dev_appserver.py . (半角ピリオド) としてみたらどうだ? あと、家のGAEバージョンは? >>278 先生がギブアップしてしまった。 >>279 >>273 に一通り書いたつもりだけど、GAEのバージョンは1.7.5です。 C:\Users\Y.Sato\Desktop\GAE>"C:\Program Files (x86)\Google\google_appengine\dev_ appserver.py" ae-00-testing こんな感じでコマンド打ってます。 半角とピリオドつける場所、わかりません。。。 >>280 デスクトップのGAEフォルダの下に、 ae-00-testing というフォルダがあって、 そのフォルダ内にapp.yamlがあるの? cd ae-00-testing してから dev_appserver を叩いたらどう? >>281 一つ目の質問は、そういうことです。 それだと、上手くいかないですね。 コマンドプロンプトで dir C:\Users\Y.Sato\Desktop\GAE dir C:\Users\Y.Sato\Desktop\GAE\ae-00-testing やって結果晒して
2013/12/17 16:26 <DIR> . 2013/12/17 16:26 <DIR> .. 2013/12/03 16:44 <DIR> ae-00-testing 2013/12/14 23:53 <DIR> ae-01-webapp 2013/12/17 16:24 839 ae-01-webapp.zip 2013/12/15 17:18 <DIR> ae-04-templates 2013/12/17 16:26 2,343 ae-04-templates.zip 2 個のファイル 3,182 バイト 5 個のディレクトリ 386,548,281,344 バイトの空き領域 2013/12/03 16:44 <DIR> . 2013/12/03 16:44 <DIR> .. 2013/12/31 13:59 110 app.yaml 2013/12/29 23:14 68 index.py 2 個のファイル 178 バイト 2 個のディレクトリ 386,547,691,520 バイトの空き領域
pastebin.comにdev_appserver.pyを実行したときのエラーメッセージを全部貼れ
>>287 ..\GAE>python "C:\Program Files (x86)\Google\google_appengine\dev_appserver.py" ae-00-testing 先頭に"python"をつけて実行してみて >>288 いけました! ありがとうございます! これ、学校の先生に報告したら、喜ばれる! (でも、何が学校と違ったんでしょうか??) >>289 プロンプトでこれを実行して >assoc .py .py=ほにゃらら みたいなのが出力されるから >ftype ほにゃらら を実行 その出力結果を貼って >>290 C:\Users\Y.Sato\Desktop\GAE>assoc .py .py=Python.File C:\Users\Y.Sato\Desktop\GAE>ftype Python.File Python.File="C:\Python27\python.exe" "%1" %* 関連付けが間違ってるのかと思ったらそうではないようだ 原因は分からん エラーメッセージから何らかの原因で引数がうまく渡っていないことが 想像できた。こういう場合はOSがやらかしている可能性が高いので 直接python.exeを呼んだら出来たというわけ
https://cloud.google.com/console/project この左側メニューの課金>請求先アカウントの一部が勝手にキャンセルされてしまった。 テスト段階だから課金は当然$0の延滞なしなので理由不明。(課金を無効にしたまま暫く放置すると強制キャンセルされる?) >この請求先アカウントはご利用いただけなくなりました。 >残りの請求書や料金、払い戻し(該当する場合)の詳細はこちらをご覧ください。 プロジェクトのほうから課金を有効にしようとするとエラーになる(=課金設定が必要なAPIが使えないという状態) >サーバー エラー >申し訳ございません。 >もう一度お試しください。問題が解決しない場合は、以下の [フィードバックを送信] を使ってお知らせください。 >下記の追跡番号をコピーしてフィードバックにご記入ください。よろしくお願いいたします。 >追跡番号: undefined エラーの原因となっているであろう、参照中のキャンセルされた請求先アカウントを変更しようとしたが そんなメニューはどこにもなく、請求先アカウントの再有効化のメニューもない。 完全に詰んだ。 >>294 まったく同じ現象でした アカウントは別に使えるので プロジェクトを作ってみたら作れました 古いプロジェクトは様子見て削除 今みたら課金有効化のエラーメッセージが変わってた >サーバー エラー >申し訳ございません。 >もう一度お試しください。問題が解決しない場合は、以下の [フィードバックを送信] を使ってお知らせください。 >下記の追跡番号をコピーしてフィードバックにご記入ください。よろしくお願いいたします。 >追跡番号: undefined ↓↓↓↓↓↓↓↓ >サーバー エラー >undefined Googleさんよ、頑張ってなおしてくれ このままだとAWSに揺らぐ気持ちを抑えられない
請求先アカウント名 ステータス Billing Account for XXXX 閉鎖 Billing Account for XXXX 閉鎖 Billing Account for XXXX 閉鎖 Billing Account for XXXX 閉鎖 この請求先アカウント一覧リストにも削除メニュー必要じゃねって毎回思ってる 閉鎖して関連付けられなくなったアカウントが残り続けているのは見た目、心象ともに悪し コメント欄追記でバージョン管理している会社のソースコードの手直しを任された感じといえば分かるだろうか 頑張って直してくれ
>>294 あとapp engine のbilling settingsで決済カードを編集したり削除して改めて登録することもできます pydevのアップデートをチェックしてアップデートしたあと デバッグしようとすると ImportError: No module named json というのが出て それはdjangoの中へのパスをプロジェクトプロパティの pyshonpathで指定したら出なくなったんですが 次に Unexpected error setting up the debugger Socket operation on nonsocket: configureBlocking が出て来ました 回避方法・元に戻す方法などなんでもいいので教えてください win8.1 64 eclips kepler pydev 最新のをPyDev Update Site - http://pydev.org/updates/ から再インストールしてみました 何卒お助けください アプリケーションランチャーおよびコマンドプロンプトからは開発サーバーが起動できます Pydev のStart Debug Server も起動できます pydevのDebug Configrationsを使ったデバッグで失敗します コンソール出力です pydev debugger: warning: psyco not available for speedups (the debugger will still work correctly, but a bit slower) pydev debugger: starting pydev debugger: google app engine integration enabled WARNING 2014-01-31 14:27:42,539 urlfetch_stub.py:115] No ssl package found. urlfetch will not be able to validate SSL certificates. WARNING 2014-01-31 14:27:42,628 rdbms_mysqldb.py:74] The rdbms API is not available because the MySQLdb library could not be loaded. Error: option --python_startup_script not recognized Runs a development application server for an application. dev_appserver.py [options] <application root> Application root must be the path to the application to run in this server. Must contain a valid app.yaml or app.yml file. Options: --address=ADDRESS, -a ADDRESS <以下略> option --python_startup_script についてぐぐってみましたが有力な情報が出てきません pydevをダウングレードする方法はないでしょうか? よろしくおねがいします
pydevをダウングレードしたら直りました お騒がせしました
DataStoreへのアクセスを減らすためにmemcacheを使おうと思ってるのですが、 これってアクセスされないデータから順に削除される見たいな記述があるんですが、 必ず消されないデータみたいなものって定義できます? やりたいこととしては、頻繁に書き換えられるエンティティがあるんで、 それをキャッシュしておいて、 書き換えが発生した場合、キャッシュのみを更新していって、 30分とか1時間とか決まった時間経過するとバッチで、 DataStoreに書き込んで最新化するようにしたいんです。
NDBは書き込みにキャッシュ無いよ 読み込みのキャッシングにmemcache使ったり コンテキスト内でのキャッシュがあるぐらい 消されないデータってのはmemcacheじゃ無理 そもそも永続化の仕組みじゃないんだから いつ消えるか分からないし保証はない 何を扱ってるか見えないからこれ以上言いようが無いけど 途中の更新が喪失しても問題ないものなら memcacheに通常書き込んで ただtaskqueで30分おきとかで永続化したら?
memcacheは読み出しのキャッシュなんだし 存続時間に保障がない仕様なんだから リスク覚悟でやるしかないね 作るのは簡単なんだし
Discounted Instanceみたいなbackend用の割引サービスほしいのお
過疎ってるからレスあるのか不安だけど質問していい? many-to-many(多対多)が必須なアプリケーション (Twitterならuser-timeline)ってGAEじゃ作れないよね? timelineにListProperty付ける方法だと 数万人のフォロワーにtimeline配信(Fanout)するの無理だし (仕様です、で押し通すのはちょっと…) UserTimelineの結合テーブル用意する場合だとパフォーマンス的に問題あるよね 特にFanout書き込み処理時 (書き込みあるごとにフォロワー数万人分の参照用データを書き込み…) (TaskQueueに投げて処理するとコスト高くないかい?)
>>310 そういうのこそ Google App Engine が大好きな分野だろう パフォーマンス的にも、100% 問題ない。 対多だったらCloud SQLかと思ってたけどそうでもないの?作り方次第?
app = webapp2.WSGIApplication( [('/',OpenPage), ('/result',PostPage) ], debug=True ) という形で作ったんだけど index.htmlみたいな物は無いのでしょうか?
すごく久しぶりに弄ろうとしたら いつのまにか 10 個から 25 個にアプリケーション枠増えてるのね
ネイティブスマホアプリのバックエンドに使ってみようかな
>>141 試しにアプリ増やしてみたけど Python 2.5 でもまだいけてる >>131 どんどん使いやすくなるね ユーザー少なすぎてサービス終了にならないかどうか心配 >>316 マジ!? >>319 Amazonの方に人が流れてそうだから心配。Googleには頑張って欲しい。 まじかー、結構グラフ赤になること多かったから1ドル運用してみっかな
俺は使わんが、PHPに対応したのはいいと思う 次はRubyだな Herokuの客層を取り込めれば大きい
>>319 ロックイン上等のシステム作っておいて 勝手に終了されたら潰れちゃう会社出てくるだろ AWS向けに移植するにしても金かかるんやぞw フロントエンド(HTML&JavaScript)部分は流用できるとしても データストア関連のコードは全部書き直しだわ だから心配してるんだよ 簡単に引っ越せたり そもそもどうでもいいサービスなら 客減ろうが潰れようが どうなろうと知ったこっちゃない
データストア関連のコードを抽象化するレイヤーでwrapすれば良いNONI
AWS の SQL で Master/Slave とか HRD の Datasore をエミュレーションする python ラッパー作ったら需要あるかな それなら最初から AWS で造った方が良いか
>>325 そんな大事なサービスをGAEで作っちゃったんですか!? て話になる。 初心者質問ですみません。サービスを作って公開したところへスクリプトか何かでアタックされたら一気に課金枠内上限までいってサーバーが停止してしまうのでしょうか。Googleが感知してIPを弾いてくれたり、何らかのガードはGAEにデフォルトで付いてるのでしょうか。 もしそういった仕組みが無ければみなさんその辺りは自分で対策されているのでしょうか。
>>324 データストア関連コードの書き換えなんてそんなに面倒かな? >>331 一日単位で課金の上限に行くとサービス停止する IP弾く機能はあるけどIPの登録は自分でする必要がある 自分は月間の予算を3倍取っておいてサービス継続を優先してる 異常があったらすぐIP弾いたりする いままで一番多いのはBINGBOTだったけどね なくなったページにいつまでもアクセスしてくるからログがそればっかりになる 302返さない自分も悪いんだけどさ へんなアクセスの IP はプログラム自信で見つけることは可能なので自動化したいけど IP の登録はダッシュボードからしか出来ないのかな? アク禁 IP 登録用の API とかある?
>>334 ないよ IPの登録はdos.yamlとかdos.xmlをアップロードすることで可能だから ファイルアップロードをapp engine内で行えば可能かも >>333 レスありがとうございます。IPは手動登録なんですね。 ロボット向けにきちんと正しいステータスコードを返すべきというのも参考になりました。 >>335 の方法も興味深いです。 ユーザー投稿有りでデータベースを増やしていく形のサービスの依頼(仕事レベルでは無い)を受けていて、アクセス過多以外にデータベースのデータ(イコールこのケースでは資産)をどうスクレイピングから保護するか、という事も気になっていました。 ベストはユーザー登録。 ユーザー未登録で投稿可能にするのであればIP監視も必要。 ユーザーエージェントもチェック。 IPやユーザーエージェントは偽装可能なので、他にクッキーかURLのquery経由で一時的なIDを渡してやってGAE側でvalidateする。 適当なIDを渡してもvalidateを通らないようにしておいて、一時IDはクライアントとGAE側で同じ生成アルゴリズムを用いて正当性を検証する。 というような事を考えています。 きっとまだ抜け穴はありそうなので引き続きデータ保護を検討してみます。 少し前にSimejiの騒動があったので、どう不正なアクセスからコンテンツのデータを保護するかという事が気になりました。 普段はクライアント側を書いていてサーバー側は初心者なのですが、万一参考になればと思って先の独り言の様な文章も投稿させて頂いた次第です。 スレ汚し失礼しました。
>>336 javascriptを使って認証cookei与えればjavascriptが走らない汎用Botは弾けるよ ただ、そのサイト狙い撃ちでスクレイピングしてくるやつなら当然ソースハックして 対策はしてくるだろうけどそれもちょっと難読化して暗号化ロジック隠せば 半分くらいのBot作者の手には負えないかも でも検索エンジン弾いちゃっていいのかってのはユーザビリティ考えるとどうなの?って感じ ユーザーがそこまで望むならメールフォーム使ったユーザー登録くらい作るよね >>336 ユーザー登録は google account で代用出来る 不正なアクセスあったらそのアカウントを自分の DB でブラックリスト化する 自分のみ利用したいんですが どこで設定するのでしょうか?
自分のみなら app.yaml で require: administrator だったかな
PC向けページしか無くてスマホからの利用は不便なので、 中継サーバーでスマホ向けにするような Webアプリとか作ってみたいんだけど。 ちなみに PC向けページはレコーダーのDIGA、 LAN内のサーバーは rep2 動かしてる Win版 XAMPP、 アクセスしたい端末は iPod touch。
pythonスレで誘導されてきました。 本文コピペになってしまいますが、以下、ご教示頂けないでしょうか。 宜しくお願い致します。 http://yono.cc/python/gae/ こちらを参考にして、HelloWorldを表示するだけのWebサーバを作りました。 上記ページの「webapp フレームワークで Hello World を書き直してみる。」のところに掲載されているソースコードをまるまる利用しています。 しかし、実際にブラウザでアクセスすると以下の様なエラーが出るのですが、これは何が原因なのでしょうか・・・? Hello worldすら出来ないとかもうどんだけダメなんだ自分・・・ ERROR    2014-06-17 07:20:34,551 wsgi.py:262] Traceback (most recent call last):   File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/runtime/wsgi.py", line 239, in Handle     handler = _config_handle.add_wsgi_middleware(self._LoadHandler())   File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/runtime/wsgi.py", line 301, in _LoadHandler     raise err ImportError: <module 'test' from '/中略/channelapitesttest/test.py'> has no attribute app INFO     2014-06-17 07:20:34,555 module.py:639] default: "GET / HTTP/1.1" 500 - >>348 ソースやyamlの何処かに'test.app'ってのがありそうだな appって拡張子があるような罠 urlfetchでwait()をコールしないで通信が終わってるか確認する方法ってある? asyncで並列で通信して早く終わったやつから先にwait()呼びたいのだけど。
てっきりGoと住み分けさせるのかと思ってたけど、割と普通に被らせちゃうのね
ここでこちらに誘導されたので http://peace.2ch.net/test/read.cgi/tech/1400479217/553 covendy を使いGAEにてデプロイして、htmlフォームから入力されたデータを一行ずつテキストファイルに書き込む処理をしているのですが、 処理に時間がかかり、deadlineを起こしてしまいます。 そこで Task Queue を使おうと思うのですが、使い方が分かりません。 なんらかのリンクを作り、そこにpostすることは分かったのですが、formからデータを取得するためにもう def post(self)は使っていますが、その処理でもTask Queue は使えるのでしょうか? また取得したデータの受け渡しは、どのように行っていますか? GAE じゃなくて Google Apps Script 使った方が良いかもね
>>356 今のform受けクラスをtaskqueueに使って、そこにform受けて丸投げの皮をかぶせるのが 一番工数少ないかな テキストファイルだと壊れる可能性あるけどねー、ホームページのカウンターとか懐かしいな webapp2のURLルーティングにCoC機能を付けたいんだけど どういう方法がベストプラクティスかな myapp/ application/ model/ view/ controller/ app.yaml main.py ここのcontroller/フォルダに foo_handler.py bar_handler.py bazz_handler.py があったとすると "/foo"はfoo_handerに ”/bar"はbar_handerに "/bazz"はbazz_handerに スクリプトに明示的に記述せずとも自動的に設定されるようにしたい
インデックスの数の上限がなくなってますね? 以前200と言われてて 英文の記事で5000と言及してるトピックがあって 今日本家のDatastore Indexesにも明確な数字の言及はなくなってます
A,B,C3つのプロパティのあるエンティティをすべての組み合わせで検索するには AB,BC,CA,ABCのインデックスが必要だと思ったら違うっぽいね ABCのインデックスも必要ない どういう時に必要なんですか?
カスタムインデックスの数の上限と、 1エンティティから発生するインデックスのエントリ数の上限は別物だよ。
>>>a = ['ringo','リンゴ'] >>>print a [{'ringo':'\xe3\x82'}]とか\u73feとかで表示されますが、これを日本語でちゃんと、'りんご'と表示させるにはどうすればいいですか? また、階層が深いと[<ringo: ringo object>]のようになったりもしますがこれの対処法も教えてもらえないでしょうか?
>>369 これ質問者じゃない別の陰険な奴がわざとが貼りまくってるんだぞ 質問させて GAEにてDjango使ってWebサイトって公開できるんだよね? 料金はAWSの方が安いとか書かれてたけど 無料でどこまで出来るのかな?
>>372 Django使ってWebサイトって公開できる 無料でやれる範囲一日200万PV程度(データ量なども関係する) 補足:無料枠はページの応答速度が重要でさっきのPVは60ms程度 Django使うと1000msくらいはかかるかも よって目安は12万PV/日
wordpressがpythonになってくれればなあ
>>374 応答速度1秒って遅くね レスポンスは500msec以内に返さないとサクサク感がないって 誰かが言ってたぞ GAEでDjango-nonrelを動かそうとしています。 Celeryで非同期処理がしたいのですが、RabbitMQは使えるでしょうか?
>>385 遅くなりましたがレスありがとうございます。 なかなかうまく行きませんし今回はTaskQeue使います。 あんまり詳しくないので分からんのだが Datastoreの呪縛から解き放たれると解釈していいのかな Elasticsearchによる全文検索や、MongoDBとか使えちゃったりする上に GAEの特徴であるオートスケールはそのまま、ということでいいのかな 松尾さん
Docker対応はGAE以外にもAWSもやってるから 結局は安くて使いやすいほうが勝つ、コモディティ商材になったってことかな
今Google Developers Console重くね? おれだけかな??
今GAEでtweepy使えます? The Socket API will be enabled for this application once billing has been enabled in the admin console って言われてこれを解決できないのですが分かる人居ませんか?
GAEをよく知らない通りすがりだけど 管理コンソールでビリング(支払い設定?)を有効にしたらSocket APIが有効になるよって書いてある
うちではTweepy使えてるけど、2年前のバージョンだからなぁ。 今の見たらHTTPリクエストがhttplibからrequestsに変わってるんだね。 ちょっとググってみたけど、requestsの最近のバージョンがGAEでは動かなくて 2.1.0にするといいっぽい。 久しぶりにダッシュボード見たけど、Backendも廃止になるんだな。 いまだに2.5のまま放置してるけど、そろそろ2.7に移行するかなw
うちも未だに2.5のまま 以降準備はほぼ整ってるけど全責任追って移行するのが心理的にめんどくさい
とうとうM/S止めるってメール来たね てか来てた? If you don’t take any action these applications will be shutdown on July 6, 2015
>>405 最初の起動で時間かかるのは設定で修正できるけど 過疎ってなきゃそもそもそうならないからね <form action="/sign" method="post"> <div><input id="a" type="hidden" value="1"/></div> <div><input name="b" type="hidden" value="2"/></div> <div><input type="submit" value="submit"></div> </form> このformでpostした場合に name=bのinput要素は、self.request.POST.get("b")で取得できるのですが、 id=aのinput要素はどうやって取得すればいいんでしょうか?
HTMLのid属性はHTML用 (ページ内リンクターゲット、CSS、JS) であって、HTTPリクエストには無関係、そもそも送信されていない。 HTMLのname属性に変更するかHTMLのname属性を加えるかしなければならない。 ていうか、今は人不足だからか、このレベルでアプリ開発してんの?あり得んな。
>>409 お~!ありがとうございます! あるサイトの自動ログインスクリプトを書いてまして、 久しぶりにHTML見たらいろいろ忘れてしまってましたw 普段はiPhoneアプリ作ってます wsgiで検索すると出てくるような有名人のサンプルに <form ... acceptEncoding="..." ...> という謎属性が書かれてある物がある。 正しくは accept-charset 属性の事だろうが、しかし、同じ間違えるにしてもキャメルケースはないわと思う。 他の要素はともかく、form関連要素だけは完璧に覚えておかないと恥ずかしいかなと思う。 HTML学習はanother htmi lint でチェックすると物凄いスピードで捗る。 プログラミングでエラーメッセージを見て学ぶのと同じ。 およそ数日もあればHTMLが得意になった気分になれるほど上達する。
その人の普段扱う言語によりけりだからキャメル自体は別に恥ずかしい間違いだとは思わない
>>413 HTML属性名がキャメルだったら激しい違和感を持って当たり前だ。 とりわけWSGI時代はXHTML時代とシンクロしていたので大文字小文字を適当に自己判断するなんてあり得なかった。 >>415 HTMLはオマケにやる程度な人には別に違和感ない アプリケーションの一つがHRD移行完了 小規模だと一日で余裕でMigrationできるな というか、たったこんなことをサボってて2.5の環境でろくに動かないテストサーバーで苦労してたのが馬鹿みたい さてあと3つ
http://googleappengine.blogspot.jp/2011/01/announcing-high-replication-datastore.html alexmaslov said... Thanks for this update. The is one think I would like to comment. Why do you limit developers to use only one datastore per app? It mite be much better to include additional parameter in datastore API to allow developers to access data in both datastores. As application developer it's hard to tell before hand what replication method better for any specific application. Personally I prefer more reliable solution for any project. But in some large applications there mite be some critical data and some less important data. Speaking about current implementation. It's really weird that we do not have any way to migrate to High Replication Datastore without creating new application. It mite look not a big issue from Google's point of view, but that makes a lot of troubles to those developers, who use appspot domain to host applications. New application name means new domain name, etc. January 6, 2011 at 1:51 AM I think so. マンドクセ 質問させて下さい。 CIツールなどでrefresh_tokenの値がほしいため、appcfg_oauth2_tokensが必要なのですが、 appcfg.py --oauth2 --noauth_local_webserver update . でデプロイするとホーム直下に./appcfg_oauth2_tokensが生成されるとあるのですが、 ブラウザで認証を行い、verification codeを入れてデプロイはできるものの Windos、Mac両環境ともにappcfg_oauth2_tokensファイルが生成されません。 --no_cookiesなどオプションを試してみても生成されませんでした。 何か設定など必要だったりするのでしょうか?
アプリケーション増やそうと思って操作するけど アプリケーションID末尾に勝手に番号が振られてしまう。 途中にハイフン使えば振られないけど、英字のみだと振られる仕様かなぁ 最初に作ったアプリケーションIDではそんなことなかったけど・・
イミグレーションした時に自動設定された古いアプリからのリダイレクトって無くならな いよな、まさか
古いアプリのアプリ名気に入ってただんだよな 無効になったあとだれかが勝手に絶対再取得出来ないことは保証されてるのか いまいちドキュメントに書いてあることからは読み取れないんだよな
HRDに移行したら運営費1/4になった もっと早くやっときゃよかった
もちろんHRDのおかげじゃなくて2.7のマルチスレッドのおかげだろうけど
GAEで新規に作ってる人より 仕方なく古いアプリ引きずってる人の方が多かったんだな
djangoのバージョンが古すぎる 1.5までしか対応してないとかクソだな
自分のプロジェクトにライブラリ含めばいいだけじゃん?
質問してもよろしいか charabot使ってて、GAEのMax/Min Idle Instancesの設定をいじりたいんだが、行おうとすると設定はこっちのページでやってくれと新型のDevelopers Consoleに飛ばされる この新型ページでのMax/Min Idle Instancesの設定方法が分からないんだ 誰か分かる方いらっしゃらないかな
開発とはちょっと違うんだけど、スレが他になかったようなので教えてくだせぇ。 GMailを独自ドメイン(取得:ValueDomain)で使用したい場合、GAEの無料枠で使うことはできるのだろうか? アドレス発行数は10本にも満たない小規模な感じなんだけども… スレチだったら申し訳ないが、わかる方がいたら是非教えて欲しい
いや、独自メールアドレスはapps経由になるから、ひとつ600円だろ。適当なこと言ってんじゃねーよ。
>>441 サーバーの話なら100件までが無料枠。 レスポンスありがとう。 リンクも読んでみたり、ググってみたりしたけど、やっぱりわからん… >>442 の言うとおり、無料プランの無いサービスを使わなきゃいけないのかな Appsは無料キャンペーンのときに独自ドメインのメアド作ったから今はどうか知らん GAEは無料で独自ドメイン可能だけどGmailとどう絡むのか >>439 の意図が判らん >>445 gaeの独自ドメイン運用もapps経由だから無料じゃ無いんだが。浦島太郎かよ。 そうか DNSに特定のAレコード書くだけで出来た気がするんだが
独自ドメインはBillingをONに設定しないと行けないけどそれだけじゃ必ずしも有料にはならないよ Appsも1アカウントなら無料だから独自アカウント1つまでなら無料で運用できる と思ってたけど古いのかな?
GAEの登録してあちこち見たけど、ドメイン関係はAppsに飛ばされるね。 Apps側でも無料プラン見当たらないから、独自ドメイン使おうとしたら費用発生なのかな
asense貼れないから独自ドメイン導入しなきゃいけないのが面倒だ appspotを例外リスト入れといてくれよ 毎年数百〜数千円支払ったり、ドメイン期限切れてBOTに乗っ取られるリスク抱えたくないのよ
毎年更新必須なのは気に入らないな 10年分とか一生分とか先払いしても安定が欲しい
うーん taskqueueの費用計算の方法がいまいちよくわからないんだよね そのあたり誰かちょっと教えてください
独自ドメインのタスクキューについてのアナウンス あれ要するにどういうこと? appID.appspot.comに対してルーティングしてるタスクキューでも独自ドメインを併用しているサイトは 影響を受けるってことかな?
Managed VMs を使えばPython3使えるらしいですが DataStoreや他のAPIも2.7のように使えるのでしょうか?
マイナンバー通知カードを返還することで、マイナンバー制度を廃止にさせることができます。 任意である通知カードの受け取りを政府広報が受け取れとCM VIDEO マイナンバー通知カードを受け取ってしまっても、市町村に送り返そうVIDEO 311東日本大震災は人口地震テロ さゆふらっとまうんど(平塚正幸)VIDEO GAEで2ちゃんのスレッドをクローリングしようと思ったんですが IPが2ちゃんに拒否されてるので直接はとれず Proxyかまそうと思ったらGAEのバグで使えず 適当なサーバ噛ませて(phpでfile_get_contentsするだけ)試したら ローカルでは上手くいってもデプロイすると 噛ませたサーバが503を返すようになって上手くいかず 何かいい方法ご存じないでしょうか?
>>469 謎挙動すぎるな 2ちゃんはIPアドレスしか見てないと思うが他のところも見てるのか >>469 X-Forwarded-For みたいなヘッダが入ってたりしない? 返信もらえるとは思ってませんでした、ありがとうございます >>470 2chからIPアドレスで拒否されているのはわかるんですが、 噛ませてるサーバ経由の方が上手くいかないのは謎です 無料でphpが動かせるだけのレンタルサーバなんですが ここの原因調べるのが早そうですね >>471 ヘッダーはネットで検索したままの方法ですが header = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; ... } urllib2.Request(request_url, headers=header) こんな感じで自分のブラウザでアクセスしたときのヘッダーをコピペしてきて使ってます >>472 X-Forwarded-Forが勝手に付いてると仮定するなら、レンタルサーバで動かしてるPHPでの話だと思う。 話を聞いてる感じではそれはなさそうだけど… >>475 ありがとうございます、ローカルからだと普通に取得できているので おっしゃるようにそのサーバ->2chは大丈夫だと思うんですよね 昨日レンタルサーバにアクセス来たらログを残すようにして試したところ、 どうもGAE->サーバへのアクセス自体来ていない?のかログが残りませんでした ただ、GAEのログを見ると200が返って正常終了してるので謎です 昨日寝落ちしてそれ以上調べてないですがこれからもうちょっと調べてみます (ほかの人の役に立たない書き込みでスレ消化して申し訳ない、 そもそも何か凡ミスしてるだけ?という気もしてます) もうwebapp2は時代じゃない気がしたのでmanaged vmでフラスクに変更しました
>>476 なんかのポートが開いてると拒否られた気がする >>478 なるほど、ぐぐってみました 環境変数・ポート・JavaScript・クッキーの処理とかで判定する方法があるみたいですね そのあたりでGAEからのアクセスは人からのアクセスじゃないってことで 503返しているっぽいのかな(echo "hello"するスクリプトでも503でした) 無料で借りてるサーバなのでそこはしかたない、というか規約的に外部からの利用はだめって書かれてるっぽいので 借りてるサーバ経由はあきらめるのが正解ですね お騒がせしてすみません、みなさんありがとうございました mvmやったけど結局スタンダードでflask動かすことにした
webapp2がndbにきちんと対応してないんでモジュール修正してるんだけど、 そもそもwebapp2って今あんま使ってないんでしょうか?
GAEというか、GCP全般において、エロコンテンツの運用って許可されてるの? 利用規約がたくさんありすぎてどれを見たらいいかわからん
アドセンスとGoogle Photosはエロ関係一発アウトなのは知ってる
Gmail以外のメールサーバーに POP3sとかIMAPsとかで アクセスするクライアントソフトは書けますか?
>>489 アカウントの課金設定を有効化したら普通にsocketを使った通信ができるようになるから、理屈の上では可能だと思う 謎の課金が来てビックリして問い合わせようとしたら、何かトラブってるみたいね 本当に返金されるのだろうか
Eclipseきちんと設定すれば最高に使いやすいやんけ! フリー版PyCharmよりよっぽどええな
チェックボックスを効率よく実装する方法/ またはチェックボックスを極力排除したフォーム設計/ 支援ライブラリなどを考えよう
5月にPython2.5が終了になるから、数年放置してたプロジェクトを 2.7に移行したけど、appcfgと比べてgcloudはめんどくさいなぁ。 プロジェクトの切り替えが面倒すぎる。 知らずに、普通にディレクトリ移動してdeployして酷い目にあったw
GAE/Pythonで作ってDeployしたら Google側で自動的にGrumpy適用してGoバイナリ化して 高速化してくれる(内部的にはGAE/Goになる)オプション機能つけてくれんないかな 技術的には可能でしょ? YoutubeのPythonコードをGolangに変換してる最中だし そのノウハウをGAEに活かしてほしい
誰でも簡単にネットで稼げる方法など 参考までに、 ⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。 グーグル検索⇒『半藤のブブイウイウレレ』 I4GF2N1PTT
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の 両院で、改憲議員が3分の2を超えております。 『憲法改正国民投票法』、でググってみてください。国会の発議は すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
サービスで分割するとインスタンスが増えて課金量も増えるよね? 各サービス毎に29時間の無料枠があるんじゃなくて、プロジェクト毎の認識。 個人で小規模なアプリ運営するくらいならプロジェクトで分割したほうがお得なのかな
プログラミングを誰でも習得できる方法は、「前場アキドルのプログラミングマスター方法」というブログで見られるらしいよ。ネットで調べると見られるらしいです。 R6UXC
Googleクチコミ本真にクソ!! Twitter並みの不具合まみれ 編集が為されてない