Archive

Archive for 2月, 2010

Your Web Application Project must be configured to use a JDK in order to use JSPs

2月 15th, 2010

GAE/JAVAで、なんてことは無いエラーだったのですが、
JSPファイルを追加しただけでエラー(JSPに赤い×マークが付いてコンパイルできない)になるのが
何でなのかわからず、しばらく調べてしまいました。

http://groups.google.com/group/google-appengine/browse_thread/thread/6f445b256a5aec0f

によると、JDKが入っているフォルダを選択しないとだめで
(自分の環境だと、eclipseの、window→preferences→JAVA→Installed JREsから、
C:\program files\Java\jdk1.6.0_18 のフォルダを選択して追加し、
それを選択することでエラーは出なくなりました。)、
JREにはコンパイラが付いていないからだそうです。

kuni プログラム

iPhoneアプリ アニメ「星に願いを Cold Body + Warm Heart」をリリース

2月 3rd, 2010

iPhone用動画レーベル「08M(ゼロハチムービー)」
シリーズ第二弾「星に願いを Cold Body + WarmHeart」をリリースしました。
第一弾の「星に願いを FantasticCat」と同じく、バーナムラボラトリー様制作のアニメが丸々1本入ったアプリです。
オープニングセールで期間限定¥115で販売させていただいています。
http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=352001425&mt=8

星に願いを「ColdBoy+WarmHeart」
<詳細はこちら>
08M「星に願いを Cold Body + Warm Heart」ホームページ

http://www.zerohachi.jp/08M/#ColdBodyWarmHeart

08M「星に願いを Cold Body + Warm Heart」発売プレスリリース

http://www.zerohachi.jp/08M/?m=press&d=201001-1

oshima アプリ申請

mixiアプリモバイル1(GAE/Python)

2月 2nd, 2010

mixiアプリモバイル製作で、
自分が詰まっていた項目を書いていこうと思います。

しかし、ソース全部などはmixiのサンプルも載せないといけなくなり、
それだと規約違反になってしまうと思うので、
mixiのサンプルにどう手を加えていったのかという観点で書いていきます。

まずはかなり基本的な事から・・
(すみません、WEBアプリ超初心者なので、
レベルはかなり低いところから始まってると思います)


●1
mixi developerサイトのサンプルを見て進めていくと、
import oauth 部分でエラーが出てしまう。
これは自前で用意する事になるのですが、自分は

http://code.google.com/p/oauth/

を使わせてもらいました。
(oauth.pyをindex.yamlなどと動階層の、一番上の階層に入れておけばOK。)


●2
携帯向けのページはshift-jisなので
mixiのサーバから取得した情報もshift-jisに変換する必要がある。
(当たり前ですね・・。)

サンプルに用意されている「getPerson」関数の流れの後だと、
person = get_person(owner_id)
entry = person['entry']
displayName = entry['displayName']
displayName = displayName.encode(‘shift-jis’)
といった感じで、一度変換する必要がある。


●3
mixi developerのサイトのPersistence APIのサンプル
create_appdata関数の上の、
params = {‘xoauth_requestor_id’: ’000000′}
の値は、当然ながら ’000000′の部分は自前で入れる必要がある。
(これに気づかなく、なんでcreate_appdata関数実行しただけで
エラーになるんだろう・・と思っていた。)

ページ遷移とAPIアクセス に載っている、
get_person(user_id)関数と同じように、
owner_idを受け取り、その関数の中でparamsを設定するようにすれば
いいかと思う。
(むしろサンプルもそうなっていて欲しかった・・みたいな)


●4
mixi developerのサイトのPersistence APIのサンプル
read_appdata関数などで良く出てくる、
urllib2.urlopen(r) は何を返すのか、と言うことが解っていなく、
そのまま出力すると「<」とかが出てしまっていたのですが、

http://d.hatena.ne.jp/yumimue/20071231/1199129495

を見させていただくと、文字列のみで返ってくる訳ではないので、
ちゃんと整形する必要がある。(これも当たり前ですね・・。)

read_appdata関数に付け足すのであれば、
最後のreturnの部分を、
return simplejson.loads(urllib2.urlopen(r).read())
のようにsimplejsonを使い、取りやすく返すようにして、

readData = read_appdata(‘point’ , owner_id)//3の部分同様、owner_idを送るように改造している//
readData = readData['entry']
readData = readData['mixi.jp:' + owner_id]
readData = readData['point']
でサンプルで保存していた「point」の値が取り出せる。


●5
postで送信した際、受け取り側で文字化けする。
これは、

http://d.hatena.ne.jp/gonsuzuki/20090129/1233298532

のサイトを参考にさせていただいたのですが、
「self.request.get()を使うまえに、self.request.charsetを定義します」
との書いてある通り、データを、
「self.request.get(“postData”)」といった形で受け取る前に、
self.request.charset = “Shift_JIS”
を入れて、明確にshift-jisデータだと指定しないといけない。
そうでないと、文字化けどころか、1文字も受け取れなかったりしました。


※PC版(JavaScript+OSDEで作れるのでテストが楽)の方が、
かなりどころか自分でも1週間くらいでそれなりの物が出来たくらい、
作りやすいです。

モバイルでは、PHPだとデバッグ環境も構築出来るみたいなんですが、
GAE+Pythonでmixiモバイルだと・・無いようなので、
いちいち携帯に転送してテストしてます。かなり・・大変です。

kuni mixiアプリ モバイル