Google App Engine
http://code.google.com/appengine/
なんじゃこりゃ?と思って調べてみたら、このGoogle App Engine(以下GAE)どうやらGoogle様が下々のモノにWebアプリを構築できる場所を提供してくれるサービスらしいです!!まだベータ公開なんで先着1万名様だけでテストやってるんだとかなんとか。なので、出遅れた者はもうちょっと待てってことみたいです。でもSDKをダウンロードすればローカル環境で簡易的なAppサーバを立ち上げられるんで、やってみたら、これおもしろすぎ。(w
言語はあまりなじみのない(なんていうと使い手さんたちに失礼か…)Pythonなんで、一瞬ためらったんですが、ゴールデンウィークに励まされてダイブ。いやー、この言語なれると使いやすいかもね。普段、perl5をOO的に使ってるので、ほとんど違和感なく使えるようになりましたです。
・Windows環境へのインストール
・Python2.5をダウンロードしてインストール(環境変数でPATHを通しておく)
・GoogleAppEngineのSDKをダウンロードしてインストール
・お好みでテキストエディタなりIDEなりをインストールしてPythonを使えるようにする
(どらはEclipse3.3とPyDevを使ってみました。(・∀・)イイ!!)
・使い方
とりあえず、ここ嫁。(英語)
http://code.google.com/appengine/docs/gettingstarted/
ほとんどコピペでHelloWorldの表示ぐらいはできるようになります。
どらが遊んでてちょっと苦労したのがPOSTされたデータをDataStoreに入れておき、それを
取り出して表示するプログラム。すっごくあたりまえな動きなんだけど、なぜか
UnicodeDecodeError: 'ascii' codec can't decode byte 0x~~~
とか出てしまって、とりあえず文字コードの問題らしいので unicode(str,'Shift-JIS')とかやってみたら今度は
TypeError: decoding Unicode is not supported
と…泣けた[E:weep]。
スクリプト(.py)ファイル自体はutf-8で書いてるし、HTML出力のcharsetもUTF-8にしてるのに不思議だぁと思って検索してみたら、けっこう皆さん苦労してらっしゃる。GAEだけじゃなく、いろんなところでお目見え。で、表示直前にencodeしてみたらサックリうまくいきました。
#とりあえず新しい順に10件とってこーい
test_db = db.GqlQuery("SELECT * FROM TestDB ORDER BY date DESC LIMIT 10")
#perl や VB でいうところの foreach だな
for rec in test_db:
#抽出されたレコードのposted_stringカラム(?)にある文字列を表示
str = rec.posted_string
str = str.encode("utf-8") #この行を追加してみた
self.response.out.write( str )
うーん…、なんでうまくいったんだろ。
やっぱ付け焼き刃じゃだめか。ちゃんとPython勉強しよう[E:cat]。
早く本稼働してくれないかな。お金かからない範囲でいろいろ作ってみたい。
(…かかるのかもしれないけど…結局、料金体系みたいなのは見つけられなかったのです)
0 件のコメント:
コメントを投稿