Amazon さんが、Amazon Web Services の下にメール送信サービス Simple Email Service (SES) を 提供している。このサービスは、主に大量なメールでも正しく送信して、 メールがちゃんと届くようにサービスを提供している。 connpass ではメール送信にSESを 使っている。その事実がユーザーさんに判明されていたので、 Django ではどう使えばいいかを説明したいなと思った。 > connpass が AWS SES 使ってる。SES結構便利だからもっといろんなところで使えるケースあると思うんだけどなぁ。 > > -- TATSUYA (@tatsuya_info) March 11, 2013 実は、SESをDjangoで使うのが簡単過ぎて、あまりネタにならないので、 Django の説明とSESのはまりどころの話をしょ[...]
Django で Amazon SES を使う
Riak を Python で使う
Riak は Basho が作っているキーべリューストレージ (KVS) システム。 せっかく Riak Meetup Tokyo に参加しているっていうことを きっかけにして、Riak を Python から使ってみよう。
パーフェクトPythonは本日から発開始!!
AE35 IS NOT IMPRESSED
Django 1.5 の紹介
10月25日に Django 1.5 alpha 1 がリリースされて 、順調に先週の火曜日(11月27日)に Django 1.5 beta 1 がリリースされました 。徐々に Django 1.5 の正式リリースに近づいてきいます。もしかして、年内にいいクリスマスプレゼントになるかもしれません。
Python でPassbookファイルを作成する
最近、iPhoneのiOS6でPassbookという機能が出ました。Passbookはイベントのチケットや、飛行機や船の搭乗券や、クーポンや、ポイントカード を管理出来る地味に便利なアプリ。 僕は興味があって、Pythonでどう作るかを調べてみたので、ここで共有しようと思っている。Passbookはパスの更新の仕組みもありますが、とりあえず、パス を作るとところまで説明しようと。 まずは、Appleの日本語ドキュメントの「Passbook プログラミングガイド」をざっと見たほうがいいかもしれない => https://developer.apple.com/jp/devcenter/ios/library/japanese.html 基礎の仕組み的に、Passbookはサーバーからダウンロードしたzipファイル。パスの内容はpass.jsonというJSONファイルの中に入って[...]
gevent ベースのサービス指向サーバーを作る
非同期サービスフレームワーク ginkgo (docs) というものが今年の PyCon US で発表された。サービスを作るには、デーモン化なり、PIDファイルの作成なり、シグナルの処理なり、プログラムでやらないといけないことが多い。 Twisted フレームワークだと、サービスまわりの機能がありますが、 gevent ベースのサービスを作るには結構大変なので、 ginkgo というものが作られた。 ginkgo は Service クラスを提供して、そのクラスを継承して、サービスのことを実装するだけ。 ## 簡単なウェブサービス まずは、WSGIベースの Hello World from ginkgo import Service from ginkgo.async.gevent import WSGIServer class[...]
Djangoの DateTimeField の auto_now と auto_now_add
Django の Model の DateTimeField に auto_nowと auto_now_add というキーワード引数があります。この引数はデフォールトで False になっていますが、 True にすると、 モデルのインスタンスを保存するタイミングで更新されます。 auto_now=Trueの場合はモデルインスタンスを保存する度に現在の時間で更新される。auto_now_add はインスタンスの作成(DBにINSERT)する度に更新される。 ただ、ありがちなのは、この引数を使うと、自分でこのフィールドを更新することができません。
Redmine で reStructuredText を使う方法
我々BeProudのRedmineのWikiやチケットの説明文やチケットのコメント文にはReStructuredTextを使っている。Redmineのデフォ ルトのTextileはPythonが好きな弊社で使うのは以ての外。なので、ReSTを使うようにした。そして、生のReSTしか使わなければ、出来ることが少ない ので、blockdiagや、コードの構文ハイライト(Pygments) を使っている。 Redmine はテキストフォマッターを入れ換えるように作られている。プラグインを入れるとWiki やチケットの内容のフォーマットを変えることができます。BeProud では Redmine reStructuredText Formatter の RbST/docutils ブランチを使っている。 http://glacialis.postmodo.com/posts/zyd1[...]
Python のセットがすごい
Python のセットを使ったほうが速いだろうとおもったんですけど、こんなに差がでると思わなかった。 ~$ python -m timeit -n 1000 "[x for x in range(1000) if x in range(500, 1500)]" 1000 loops, best of 3: 28.2 msec per loop ~$ python -m timeit -n 1000 "set(range(1000)).intersection(range(500, 1500))" 1000 loops, best of 3: 120 usec per loop リスト内包が約235倍時間かかりますね。リストをセットにするのも時間かからないので、合併や、交差は絶対 set() を使ったほうがいいですね[...]


