2024年夏 かばんの中身記録 みんな大好きかばんの中身。 当然私も大好きで、人様のブログ記事やSNS投稿を飽きもせず読み込みまくっています。なぜこんなにも見飽きないのか… 自分も以前同じようにかばんの中身の記事を書いたんですが、気づけばもう3年前!去年くらいの気分だった、月日がたつの…
2024年夏 かばんの中身記録 みんな大好きかばんの中身。 当然私も大好きで、人様のブログ記事やSNS投稿を飽きもせず読み込みまくっています。なぜこんなにも見飽きないのか… 自分も以前同じようにかばんの中身の記事を書いたんですが、気づけばもう3年前!去年くらいの気分だった、月日がたつの…
最近仕事で Google App Engine を使う機会が増えてきてて、今更ながらまともに使い始めました(公開初日から触ってたのになー 作りかけのアプリケーションで、とりあえずアップロードするけど、公開までは全体にBasic認証かけときたいなーなどということが多い。 ググればやり方はいくつか出てきたけど、良さそうなのがなかったので自分でも書いてみた。 basicauth.py AUTH_RESPONSE_BODY = """<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html> <head> <title>401 Authorization Required</title> </head> <body>401 Authorization Required</body> </html>""" def auth_required_a
Google IO 2011あわせのアップデートで、Google APP EngineにBackendが導入されました(Python/Java)。 これはbackendと呼ばれるずっと立ち上がりっぱなしのインスタンスを提供する仕組みで、時間制限がありません。そのため、大規模、あるいは長時間かかるような処理に向いています。 Backendsの設定から処理の受付まで Backendsの設定から起動までは次のようになります 設定ファイル(backends.yaml/xml)で各backendを設定 アプリをデプロイ(backend内の処理はアプリ内の処理の一部という形) appcfgから起動 各backendに割り振られたURLにリクエストする appcfgにはこのほかに停止や削除と言った管理用のコマンドがあります(Python/Java) Backendsの設定 前述したとおり、backend
August 2011 (1) July 2011 (1) June 2011 (2) April 2011 (2) March 2011 (2) February 2011 (2) January 2011 (6) December 2010 (6) November 2010 (5) October 2010 (8) September 2010 (2) August 2010 (3) July 2010 (9) June 2010 (4) March 2010 (1) February 2010 (7) January 2010 (2) 2010/10/7:アプリの大幅変更に伴い記事も修正しました。 はじめに 以前、気象データをグラフ化する – Google Chart API編 を作成するために Google Chart API のドキュメントを読んだ時、 “GraphViz Ch
みなさん、GoogleAppEngineってご存知でしょうか? そうです、Googleの提供するWebアプリケーションプラットフォームです。 1日1GBまでのトラフィックであれば、料金は一切かかりません。中小規模のサイトであれば無料利用分で運用でちゃいます!しかも、万が一、サイトがめちゃくちゃ人気になって、1日100万pvを超えるようになったとしても、利用料を支払うだけでそのまま運用できちゃいます。きっと、広告収入の一部で利用料はまかなえちゃうと思いますよ。 とはいうものの、GoogleAppEngineって難しそうですよね。 HTMLとCSSしか分からないけど、無料で使えるならつかってみたい。そんな方、多いのではないでしょうか? そんなあなたのために、サイトのZIPファイルをアップロードするだけでGAE上にWebサイトを構築できるアプリを作ってみました! ソースコードは以下の通り。 1
Java版 GAE/J でファイルをアップロードする方法を学ぶ - すぎゃーんメモ の続き。 どうやらJava版でcommons-fileuploadを使ってファイルアップロードをする場合はgetItemIteratorから取り出すのが良いようだ。そうすればFileItemFactoryは必要ない。 import java.io.IOException; import java.io.InputStream; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.comm
Twitter API proxyをGoogle App Engine上で動かす方法 プロキシの必要性 プロキシを経由してAPIにアクセスすると何がいいのか TwitterのAPIはアカウント&IPアドレスでカウントされているので、APIの使用回数を増やせる。 グローバルIPアドレスをPCごとに変えられない環境で2台のPCから見るときに便利 Twitterへのアクセスが制限されている環境でも使用できる。 元々GFW(グレート・ファイアー・ウォール)を超えるために作られたっぽい ちゃんと確認してないけど、GAEはホワイトリストに入ってる気がするので、API回数が20000になったりする事もある。 要はAPI使用回数を増やせるよって話。 必要なもの Google App Engineのアカウント Google App Engine SDK とPython実行環境 birdnest 一式のファイ
ここが大変だよBigtableとGoogle App Engine:分散Key-Valueストアの本命「Bigtable」(3)(1/2 ページ) RDBとは別の、クラウド時代のデータベースとして注目を浴びている「分散Key-Valueストア」。その本命ともいえる、Googleの数々のサービスの基盤技術「Bigtable」について徹底解説 月間3000万PVの大規模サイトの運用費が月額4万円!? 月間3000万PV相当の膨大なトラフィックを楽々とさばく大規模サイトが、月額4万円弱で運用されている。 Google App Engine(以下、App Engine)が普及するにつれて、そんな驚愕の国内事例も登場しつつあります。GClueがApp Engine上で実装したmixiアプリモバイルモバイルには、1日100万PV以上のアクセスが集中している状態でもサービスのレスポンス低下やダウンは皆無
1.2.6で追加されたメイルの受信を試してみる.メイル受信機能は,XMPPの受信と同じでWeb hookで実現されている.つまり,メイルが来ると特定のURLに対するアクセスが発生して,それに対応するサーブレットが呼び出される.受信できるメイルアドレスは, 任意の文字列@アプリ名.appspotmail.comappspot.com ではなく,appspotmail.com であるところに注意.ディスパッチされるURLは /_ah/mail/アドレスつまり /_ah/mail/任意の文字列@アプリ名.appspotmail.comとなる.つまり個々のアドレスに対して別のサーブレットを割り当てることができるわけだが,普通は一つのサーブレットで処理することになるだろう. メイル受信に必要な行程は以下 appengine-web.xml でメイル受信を宣言 web.xmlで受信サーブレットを,/_
« Apacheでセキュアなアクセス制限を提供できるモジュール mod_access_token を試した。 | Main | mod_access_tokenで制御されたリソースにrubyからアクセス » これは朗報。 Google App Engine Blog: SDK version 1.1.9 Released You can now use the Python standard libraries urllib, urllib2 or httplib to make HTTP requests. This has been a frequent request on our issue tracker. We've been working on a set of tools that will make the process of uploading and downlo
12/13 渋谷でGAEのハッカソンがあったので参加してきました。 チュートリアル、マッシュアップ、データストア、フレームワークのチームに分かれて、作業を行い。最後にチーム毎に発表を行うという流れで行われました。前回同様、ゴージャスなお弁当をご馳走になったり、大変快適でした。tmatsuoさん、Googlerのみなさまありがとうございます。 私は、マッシュアップチームR(@akisutesama takao.funami id:a2c)でGDataをGAEで使えるようにするチームに所属しました。とりあえづ出来たものが、以下のURLで、動作確認出来ます。トークンを奪うような事をしていないので適当に認証してみてください。ソースも公開しています。 http://1.latest.inote.appspot.com/ 上記ページ言って認証ってのを押すと 認証画面に飛ばされますので 画面下部の、認証
Google App Engineの開発ではPythonを使います。GAEを使ったWebアプリの開発でテスト駆動開発を行う際にも,Python的なユニットテストの文脈を活用できます。 ただし,GAEでユニットテストを行うためにはいくつかのツールやトリックが必要です。ここでは,そのテクニックを簡単に紹介します。 その1 : NoseGAEを使う Pythonのテスト用ツールにNoseがあります。このツールは,複数のディレクトリを渡り歩いて,複数のテストコードを一気に実行してくれる便利なツールです。 NoseのプラグインNoseGAEをインストールすることで,GAEアプリのテストを楽に行うことができます。「nose --with-gae」というようにオプション指定をすることでNoseGAEを利用できます。NoseGAEでは,テストコード上でGAEのモジュールやパッケージをインポートするために必
Tagtterをリリースして、初期は「CPU Quota」連発してしまい見苦しい状態でした。ごめんなさい。 さて、一時はどうなるかと思いましたが現在は「CPU Quota」も表示される事無く動いています。 今日はこの状況を乗り切る際に行った「Google App Engine」のパフォーマンスチューニングtipsを3つほどご紹介。 webapp.WSGIApplicationのdebugフラグはFalseにすべし いきなり当たり前で申し訳ないですが、実はこのフラグがTrueかFalseかというだけで「CPU Quota」が出る頻度が極度に異なります。 実際に同じ症状の方もいらっしゃる様なので、おそらく間違いありません。 また公開する様なシステムでは、パスワード等も管理される事になるかと思いますが、debug=Trueだとスタックトレースに変数の値が表示されてしまい無茶苦茶危険です。気を付け
Google App Engine の SDK で 何か作ってみよう! というわけで、 Tropy みたいなやつを作ってみる python で 20 行以上のプログラムを書くのはたぶん初めてだ Tropy とは 以下が詳しいです。 Tropyとは - はてなキーワード ちなみに、以下のスクリーンショットは id:naoya さんが作った Tropy のクローンの Haropy です。 で、僕もそんな感じのものを作ってみた ソースを晒しておきます。 ファイル構成 PyGropy |-- app.yaml |-- edit.html |-- entry.html `-- pygropy.py app.yaml 設定ファイル application: pygropy version: 1 runtime: python api_version: 1 handlers: - url: /.* sc
結果から言うと実に使いにくい! PyAWS - A Python wrapper for Amazon Web Service PyAWS is a Python wrapper for the latest Amazon Web Service. It is designed to pave the way for Python developers to interactivate AWS. This project is forked from the code base of pyamazon. The Amazone E-Commerce Services is supported. http://pyaws.sourceforge.net/ 配列なら配列で、存在したり存在しない場合があるプロパティならばそれ用のアクセサを作ってほしい... Djangoテンプレートで配列かどうか
なんか多少つまらない話になる予定。 ブラウザのJavaScriptだけでCSV保存するの、できるといいとおもって、調べたけど、やっぱできないよね。Flashまで入れてもだめそう。Firefoxとか限定ならdataスキームでできそうだけどね。つまり、クロスブラウザ前提なら、何かサーバが必要。普通のWebアプリの開発はサーバプログラムがあるのが前提だからいいんだろうけど、今回はそうじゃない開発をやりたい。 何のことはない、CSVの文字列作るとこまではJSでできるから、あとはそれをtext/csvでechoして返してくれるサービスさえあれば終わりだ。そんなサービス、きっと探せばいろいろ落ちていそうだけど、普通に探したら見当たらなかったのと、あったとしてもサービスの継続性に疑問があるので、ちょっと作ってGoogle App Engineにのっけてみた。初python, 初google app en
今日は奥様とタイ料理&タイ式マッサージの日でした。マッサージはちょっと素晴らしいなあ。 表題のように、全文検索エンジンをGAE上で試作してみました。GAEはGoogle様提供のサービスにもかかわらず「なんで全文検索機能がないねん」という声が上がっていたんですよね。主にtwitter界隈から。 「Introduction to Information Retrieval」という本のドラフトPDFと、たつをさんのところのIIR輪講の資料を参考に作りました。つっても、第1章の一部の知識しか使ってないですが。論理和検索もスキップリストも使ってないし(論理和検索はクエリ式のパーサを書くのが面倒だった)。 import logging import re from urllib import urlencode import wsgiref.handlers from google.appengine
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く