Code Archive Skip to content Google About Google Privacy Terms
昨今のソーシャルアプリではタグ機能はあたりまえ。そのタグ機能を Google App Engine で実装するのを助けるモジュールに、taggable-mixin があります。 taggable-mixin - A mixin class that adds taggability to Google AppEngine Model classes. - Google Project Hosting 使い方の紹介。まずは Taggable クラスを継承したモデルを作成します。 from google.appengine.ext import db from taggable import Taggable class Entry(db.Mode, Taggable): title = db.StringProperty() content = db.TextProperty() creat
はじめに リッチな UI を持つ Web アプリを作るなら、クライアントは Ajax か Flash、または Silverlight を使うと思う。そうすると、表示するデータを非同期に JSON または XML で取得するために、Web API を実装することになる。 でも、リクエストパラメータを解析して処理を決めたり、結果を XML や JSON に変換したりと、Web API を一から実装するのは大変。 Google App Engine の場合 Web アプリ開発の経験は Google App Engine だけなので、GAE の話になるけど、GAE には『appengine-rest-server』というフレームワークがある。 appengine-rest-server - REST server for Google App Engine applications. - Goog
先日、App Engine で提供されている Blobstore を、webapp フレームワークで使っていました。 Google App Engine で Blobstore を使ってみる - present でも、実際のアプリ開発では Kay Framework を使っているわけで。 その Kay Framework ですけど、ちゃんと Blobstore を使うためのハンドラを提供しています。試しに、先日のコードを Kay で書き変えてみました。 core/views.py # -*- coding: utf-8 -*- import logging import urllib from google.appengine.api import users from google.appengine.api import memcache from google.appengine.e
Implementing a dropbox service with the Blobstore API (Part 1) Posted by Nick Johnson | Filed under python, app-engine, blobstore, datastore, filehangar The blobstore api is a recent addition to the App Engine platform, and makes it possible to upload and serve large files (currently up to 50MB). It's also one of the most complex APIs to use, as it has several moving parts. This short series will
無効なURLです。 プログラム設定の反映待ちである可能性があります。 しばらく時間をおいて再度アクセスをお試しください。
Mitsukuni SatoSoftware Engineer and Web Developer in 東京, 日本 I am a software engineer and web developer currently living in Tokyo, Japan. My interests range from cycling to Motorbike. I am also interested in programming, outdoors, and web development. You can click the button above to read my blog. If you’d like to get in touch, feel free to say hello through any of the social links below.
今回はアップローダーを実装しようと思う。他に比べるとけっこうハマりポイント多めかな。 ソース: ukyo/kaysns at b4cd3c3d256fbdb1345950155a99dd0447c18c38 - GitHub そういえば、実はGoogle App Engine 1.5.0になってからリクエストとレスポンスの制限が10MBから32MBに緩和されたらしい。さっき24MB位のファイルをアップロードしてみて成功したので多分あってる。ただし、一発で数パーセントほどQuota(帯域)を消費するので、あまり無理はできないかな。 app/urls.py view_groups = [ ViewGroup( #... Rule('/uploader', endpoint='uploader', view='app.views.uploader'), Rule('/uploader/downl
概要¶ SQLAlchemy の SQL ツールキットやオブジェクトリレーショナルマッパは、データ ベースを Python で操作するための網羅的なツールです。 SQLAlchemy の機能は大 きくいくつかに分かれていて、それぞれを個別に使うことも、組み合わせて使うこ ともできます。以下の図は、主要な機能について示しています。図中の矢印はコン ポーネント間の依存関係を表しています: 上の図から判るように、 SQLAlchemy の前面に出ている二つの主要な部分は オブジェクトリレーショナルマッパ(Object Relational Mapper) と SQL式記述言語 (SQL Expression Language) です。 SQL式は ORM とは別に使えます。ORM を使う場合、SQL 式言語は ORM の公開 API の一部として働き、オブジェクト-リレーショナルの設定やクエリを
ここ数ヶ月、Google App Engine/Pythonを使い、初めてちょっとしたものを作ってみているのだけど、開発初期から知っておけばよかったなー、と思うノウハウ/tips的なものをずらずらと書いてみる。 基本的な環境設定は、 以前書いた まま。 0. 公式ドキュメントを良く読む 言うまでもなく、だけど、 マニュアル はもちろん、 この辺 の下の読み物も、流し読みだけでもしておいたほうがいい。 datastoreとmodel的なところ 1. key nameを使いこなす key nameは、レコードの作成時に指定できる(RDBでいう)primary keyの別名みたいなもの。primary key自体は自動的で作成されるので開発者が指定できるのはkey nameだけ。 key nameをうまく使うことで、datastoreを使いやすくすることができる。特にdatastore上で"un
ここまでのWebアプリケーションでは、基本的にmain.pyに用意した各ページ用の処理をを行うクラスと、そこで使われるテンプレートファイルの2つによってページが構成されていました。が、実際のWebアプリケーションでは、これにもう1つ、非常に重要な要素が追加されることになります。それは「データベース」です。 Webアプリケーションでは、データは普通のアプリケーションのようにパソコンの中にファイルで保存したりできません。保存する必要があるものは、すべてサーバー側に保管し、必要に応じてそれをロードすることになります。Webでは、多数の人間がサーバーにアクセスをしますから、多くの場合、データは単一のファイルなどではなく、データベースを使って保管することになります。 Webアプリケーションは、「ページにアクセスされた際の処理(ここではMainPageクラス)」「画面表示(ここではhome.htmlテ
Google App Engineのデータストア関連のまとめです。 モデルの定義 class クラス名( db.Model ): プロパティ名 = プロパティクラス …… 必要なだけ記述する …… 参考例: class UserData(db.Model): name = db.StringProperty(required=True, multiline=False) mail = db.StringProperty(multiline=False) tel = db.StringProperty(multiline=False) text = db.StringProperty(multiline=True)プロパティクラスの詳細なドキュメント データの取得 rows = UserData.all() param = {'rows' : rows}データの取得は、自分で作成したデータモ
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
twitterのログを長期間残しておいて、いつでもアクセス可能にしたいな―と思ったので丁度GAEがcronに対応したことだし、とアプリにしてみた。 http://rubyu-twitterlog.appspot.com/ 実際に動いてるところ。 cronで10分ごとに http://twitter.com/statuses/user_timeline.xml から、最後に取得したIDより大きいstatusを取ってくる。 んでデータストアに入れといて、あとは適当なviewから参照するだけ。 特に難しいことはしてないが、 python2.6だとxmlパーサのあたりでエラーが出る cronが開始されるまでラグがある あたりでちょっと時間を食った。しかしこれでハードにtwitterを使える! 例によってソースをぺたり。 tw_archiver.py #!-*- coding:utf-8 -*- i
最近 GAE こと Google App Engine + python で遊んでます。 なかなかマゾくて楽しいかもしれません。 で、GAE の標準機能から ・URL Fetch API … URL をフェッチして Web 上の他のリソースにアクセス ・Mail API … メールを送信 ・Datastore API … DBみたいな感じ ・cron … 指定した日時などでコマンドを実行 と、twitter API の mentions を利用して、自分宛のリプライまたは言及があるポストを任意のメールアドレスに転送するサンプルを書いてみました。 python の文化がまだいまいちよくわからんので なんか記法とか違うかもしれませんが、とりあえず全部貼ってみようかと。 数あるサンプルの足しにでもなればいいなーと。 ちなみに、”new_project_template” からなるべく構成はいじっ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く