GAEで遊ぶ
ゴールデンウィーク2日目だが、延々とGAEと戯れ中・・・
GAEの難しいところ、よさげな所、今作ろうとしているもののメモ書き。
作ろうとしているもの
クローラ系のアプリ。前作っていたはてブ+ベイズのGAE版。俺がそれを作っていた頃には、はてブ自体にそういった機能がなかったけど、現在だとはてブがリコメンド的な機能をもっている。はてブ本体の機能と対比しながら、リコメンドの辺りをいろいろ実験できればって感じ。
GAEで嵌った所(嵌っている所)
- Common logging java.lang.NoClassDefFoundError(解決)
- web-inf\libにcommons-logging-1.1.1.jarを入れているにもかかわらずNoClassDefFoundErrorがでる。
- ローカルだと問題なく動く。
- 対策は、「commons-logging-1.1.1.jar」をリネームしてlibに置く。
- GAE上に「commons-logging-1.1.1.jar」がすでに置いてあって(で、中身はgoolgegいじってる)それとバッティングするのがいかんらしい。
- 詳細はこちら。
- ezmorphが動かない(未解決)
- ローカルでのbigTableの内容の確認が不明(未解決)
- GAEの本番環境では、Viewがあってデータ確認、削除、作成ができる
-
- でも、Eclipse環境でのやり方がわからない
GAEのよさげな所
- JDOは意外とよさげ
- ORMappingなんかやりたくない人には向いてる感じ。
- ツリー上のデータ構造(ユーザ⇒エントリ⇒コメントみたいな)なら向いてる気がする
- 管理コンソールが意外といい感じ
- LogViewerでアクセス単位にログをまとめてくれて、ログレベルフィルターもかかる
アクセスごとにまとまってる
ログを開いたところ
Warninngi以上のみ(開くとInfoとかも表示される)
- なんといっても無料
- EC2のインスタンスは24時間サービスに使用すると結構高くつく
- 個人レベルだともっと安いレンタル鯖を使うことになりそう。Javaが使える鯖一覧
その他雑感
- クローラ系のアプリをつくるのは、ちょっとコツがいりそう
- 遊びで使うのは面白い
- JDOはちょっと癖が強い
- PersistenceManagerをcloseしてから、HtmlレンダリングのためにDeleteしたObjectアクセスしたらエラー
- 役に立ちそうなリソース