ラベル DB の投稿を表示しています。 すべての投稿を表示
ラベル DB の投稿を表示しています。 すべての投稿を表示

2008/04/30

Google App Engine

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]。

早く本稼働してくれないかな。お金かからない範囲でいろいろ作ってみたい。
(…かかるのかもしれないけど…結局、料金体系みたいなのは見つけられなかったのです)



2007/06/18

MySQLクックブック

MySQLの基本を教えてくれる本。起動の方法から、知ってると便利な豆知識まで幅広く紹介されています。特にPerl,Python,PHP,Javaからの利用を想定した解説が多く、これらの言語を使っている人には助けになると思います。
とりあえずMySQL触ることになったら読んどけ。(*゚ー゚)ノ







1章 mysqlクライアントプログラムの使用
2章 MySQLをベースにしたプログラムの記述
3章 レコード選択の手法
4章 文字列を処理する
5章 日付と時刻を処理する
6章 クエリ結果のソート
7章 サマリの生成
8章 ALTER TABLEを使って、テーブルを修正する
9章 メタデータの取得と使用
10章 データのインポートとエクスポート
11章 シーケンスの生成と使用
12章 複数テーブルの使用
13章 統計手法
14章 重複を処理する
15章 トランザクションの実行
16章 Web上のMySQL
17章 クエリ結果をWebページへ組み込む
18章 MySQLによるWeb入力の処理
19章 MySQLベースのWebセッション管理
付録(MySQLソフトウェアの入手
JSPおよびTomcat入門
参考資料)