2010-11-01から1ヶ月間の記事一覧

Google App EngineでDELETEリクエストを発行するときの注意点

$.ajax({type:"DELETE", url:'/hoge'}); こんな感じでGAEサーバにDELETEリクエストを送ると、ローカルでは正常に動くのに本番環境では400がでる><。 原因 調べてみるとDELETEリクエストがbodyを含んでいると駄目ってことになっている模様。 Indeed, when t…

Puhser + Google App EngineでリアルタイムWebアプリ その2

「WebSocketで目指せ“リアルタイムWeb”!」で取り上げられているRetrospectiveappのサーバサイド(Heroku + Sinatra)をGoogle App Engine + Bottleで実装してみる。 クライアントサイドは元ネタとほぼ同じ。 デモ : http://myretrospective.appspot.com/ Mod…

SHPAML : Haml for Python

Rubyで作られたマークアップ言語HamlがすごくてPythonにも同じようなのないかと探してみた。 見つけたのがSHPAML。 使い方 import shpaml print shpaml.convert_text(text) 入力 html head title test ul li hoge li hoge2 div piyo 出力 <html> <head> <title> test </title> </head> <ul> <li> hoge </li> <li></li></ul></html>…

appengine-rest-serverの出力形式をJSONに限定

GAEでRESTサービス作りたいなーと思ったときに一番最初に目につくのはappengine-rest-server。 中々使いやすいと思うんだけど、デフォルトの出力形式がxmlなのどうにかしたい!というわけで改造してみる。 1625行目からのメソッドdoc_to_output(self, doc)を…

Pusher + Google App EngineでリアルタイムWeb

「WebSocketで目指せ“リアルタイムWeb”!」(http://www.atmarkit.co.jp/fcoding/articles/websocket/02/websocket02b.html) これ読んで面白そうだと思ったので、とりあえずTwitterのpublic timelineを表示していくWebサイトを作ってみるよ。 Pusherに登録 ht…

pythonでアスペクト指向メモ

pythonでアスペクト指向プログラミングするために、いろいろライブラリがあるみたい。 適当に目についたのを試してみる。 aspyct from Aspyct.aop import * class MyAspect(Aspect): def atCall(self, cd): print 'called with args', cd.args def atReturn(…

Underscore.jsでMapReduce

js

Underscore.jsを使うとMapReduce(みたいな書き方)ができる。 おなじみの単語を数えるやつをやってみる。単語の分割はTinySegmenterで。 参照記事:http://www.asahi.com/national/update/1101/TKY201010310358.html var lines = new Array(); lines.push("さ…