まず、以下のようなデータ モデルあるとして、 class Foo(db.Model): index = db.IntegerProperty() Entityを取得するModel.all()を使用してEntityを取得する。 query = Foo.all() Model.all()によって返される値はQueryオブジェクト。 こんな風に取得しても良い。 query = db.GqlQuery('SELECT * FROM Foo') # or query = db.GqlQuery('SELECT __key__ FROM Foo') db.GqlQuery()によって返される値はGqlQueryオブジェクト(のインスタンス)。 「Entityを削除する」という目的の上ではどちらでも構わない。 Entityを削除する上記のような操作によって取得したGqlQueryオブジェクト、またはQu
This demo uses the Google AppEngine as a data store for users to pin photos on a map with server side scripting in Python. You can read about a similar demo that uses Google Spreadsheets for persistence here. Two AppEngine tables are used, one for the photos and one for comments on the photos. The html map page reads the photo data using a JSON format feed created by a Python script. Updates are m
ソースはこちらで公開しています。 $ hg clone http://labs.monospace.jp/hg/google monologista-google API を作るときBASIC 認証を使っていたのですが、httpauth.py だと Django の認証に依存していたので、書き換えました。 絶対もっとスマートに書けるんだろうなぁと思いつつ ... 。 MiddleWare にするべきか ... 。 あとは api_key は CLEARTEXT で保存されているので Digest 認証にしちゃってもいいかもですね。 これで無事 monologista API を作ることが出来ます:-P GAE 版 monologista でも API が使えますよー(多分 import base64 from django.http import HttpResponseNotAllowe
Google App Engine上のDjangoでのチュートリアル、「Using Django with Appengine」邦訳 - WebOS Goodiesをやろうとしたところ、チュートリアルで使われているDjangoとGAEのバージョンが古くそのままでは動きませんでした。 色々なサイトを参考にしながら動くところまでこぎつけたので、そのメモです。 ※どのディレクトリのファイルか分かりづらかったのでパスも書きました。 参考サイト GAE - GoogleAppEngine/PythonでDjangoを使う方法 - Qiita まず、GAEに付属しているDjango1.5のあるディレクトリにパスを通します。 $ vim ~/.bash_profile PYTHONPATH = "/usr/local/google_appengine/lib/django-1.5:$PYTHONPATH
いまひとつ味がまとまらない、皿になにを添えて出せばいいのか分からない。 そういったときに隠し味と卓上調味料についての理論があると迷わずに済む。 ここでは中華料理で理想とされる五味調和思想を参考に隠し味と卓上調味料の攻略方法について考えたい。 五味調和とは五味(「酸」「苦」「甘」「辛」「鹹」)を調和させることが皿の完成とみなす中華料理の思想だ(「鹹」はかんと読み、塩気を現す))。この五味は五行説と密接に結びついている(詳細はこちら)。この五味はそれぞれ「火」「土」「金」「水」「木」と対応している(それぞれの要素の食材とその効用についてはこちらが詳しい)。 そして重要なのは五味の相互関係だ。まず、「水ポケモンは火ポケモンに強い」という関係は『相克の関係』と呼ばれる。対して、「水ポケモンは木ポケモンを癒やす」という関係は『相生の関係』と呼ばれる。 私は、『相克の関係』は卓上調味料に、『相生の関係
はじめに Google App Engine/Pythonの練習として、League of Legendsというゲームの戦績結果を自動でTwitterに投稿するBOTサービスを作ります。Twitter認証はOAuth対応のTweepyを使用して、誰でも登録できるサービスにします。ゲームの戦績は運営公式のRIOT APIから取得します。ソースコードはGitBucketに、完成品はこちらで運用してます。 Google App EngineのHello World GAE/Pのアプリケーション設定はyamlという言語で記述していきます。app.yamlはAndroidでいうAndroidManifest.xmlの様なアプリケーション全体の設定を記述するファイルです。また、Djangoでいうurls.pyの様なURLルーティングの設定も記述します。サーバで実際に稼働させるアプリケーションのバージョ
WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 ようやく少しずつ時間が取れるようになってきたので、 Google App Engine の勉強をはじめています。 Python の書き方や App Engine 自体の使い方を覚えるのは苦ではないのですが、大変なのはその先、ライブラリやフレームワークなどを把握するのが厄介なんですよね。 まあとりあえずは App Engine に付属している Web フレームワーク
Google App Engine上のDjangoは、使えるデータベースが特殊なため以下のDjangoのマニュアルにあるチュートリアルはそのままではできないようです。 http://djangoproject.jp/doc/ja/1.0/index.html なのでGoogle App Engine上のDjangoでのチュートリアルが http://webos-goodies.jp/archives/51337216.html にあるので、こちらを参考にしたわけですがそのままでは動きませんでした。 私の作成した環境が Google App EngineでDjangoを利用する で紹介させていただいたように、Djangoは1.0.2を利用していて更にGoogle App Engine Helperを利用している環境のためだろうと思います。 というわけで私の環境で http://webos-g
環境 Mac Python2.7 Google App Engine SDK for Python が入っている環境での作業です。 Djangoアプリの作成 まず、プロジェクトを作成します。 ここではgaedjangoとしています。 SDKに含まれているdjangoを使う場合は、下記のようになります。 他の環境の場合は適宜修正して下さい。 $ export PYTHONPATH='/usr/local/google_appengine/lib/django-1.5/' $ /usr/local/google_appengine/lib/django-1.5/django/bin/django-admin.py startproject gaedjangoapp gaedjangoappディレクトリにプロジェクトが作成されます。 app.yamlファイルの作成 GoogleAppEngine
あいかわらずIgoをいじって遊ばせていただいています。 Igoを使っていて感じたことをかるくまとめておきます。 Igoの辞書変換時の注意点 IgoではMecab形式のファイルをいったんIgoを使って変換する必要がある。 ドキュメントには書いてないけど以下の場合には辞書の変換に失敗する。 はまったのでメモ的にまとめておきます。 辞書に"(ダブルクォート)を含む場合、変換parserのエラーになる。(今回は取り除くことで可能) Mecabの辞書内で出現頻度をスコアで指定するんだけど、Igo側はここをIntegerで解釈しているので,Integerの範囲を超えた値にすると変換エラーになる。 辞書の変換には思った以上にメモリを食います。具体的にはスタックオーバーフローエラーがおこります。辞書のファイルサイズが大きい場合にはスタック領域をなるべく増やして実行しましょう。例えば、NAIST Japan
いろんなメモです。おもにプログラミング関係。 a memorandum. most of all contents are related to programming. Java(とCL)で書かれた形態素解析器であるIgoをPythonにほぼそのまま移植しました。 Java版で作った辞書がそのまま使えるようにしたので、辞書を作る部分は(まだ)移植してません。 mmapしてるのでGAEでは動きません。すぐ取りかかる予定です。 またGAE版の辞書はBigEndianなのでそこらへんも対応する予定です。 https://code.launchpad.net/~hideaki-t/+junk/igo-pyに置きました。 簡単なテストしかしてません。問題があったら教えてください! 簡単なサンプル # coding: utf-8 import igo.Tagger t = igo.Tagger.Ta
いつの間にかGoogleのサイトにPython2.7向けのGoogle App Engineチュートリアルができていたので改めて最初から読んでみました。 以前Google app engineと文字コードという記事を書いた際にはPython2.5を使用していたのですがこの時とは少なからず仕様の変更があったようです。 Python2.5を使ったチュートリアルのHello Worldの項目では print 'Content-Type: text/plain' print '' print 'Hello, world!' というprint文をつかってHTTPヘッダや本文を出力する例が示されているのですがPython2.7のチュートリアル内のHello world項目ではいきなりwebapp2フレームワークを使った例が示されています。 import webapp2 class MainPage(w
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く