parse.comで会員制サイトを作ってみた時のメモ
作っていた時はもっと合った気がしたのですが…思い出したら追記していきます。
・現状、トランザクション処理が出来ない。
・まとめて処理出来る命令(Batch Operations)はあるが(そしてそれを使った場合のapiリクエストは1になる)、
50個程度のオブジェクトが限度の模様なため(https://parse.com/questions/rest-api-batch-operations)、
オブジェクトの持ち方にかなり気を付ける必要がある。
(※ただ、単純にオブジェクトの削除だけであれば、jsで動作させている限り、1000個くらい問題無く削除出来ていると思う)
・データ取得に1000件の制限がある。また、limit=1000と行った形でこれを指定しないと、取得のデフォルトは100件なので注意する。
・jsの場合、ACLをきちんと設定しないと、保存データが見えてしまうので(コードがユーザー側で実行される以上、追って行けてしまうので)、
自分からのみ、読み書きできるようにするなどの設定をするように。
(そしてそのACLは、rest Apiからは、master keyを使って無視して取得出来るので、管理側からそれが足かせになることは無い)
・jsだと、twitterログインが無いので注意。
(別にこれだけが理由では無いが、基本的に、jsで作るくらいだったら、全てrestで作った方が良いと思った…自分は表側をjs、管理側をrestと分けて作ってしまったが…)
・facebookログインは、新規ユーザー作成時も、ログイン時も、命令が同じなので(その時新規ユーザーなのかどうかは取れる)、ログインページ/アカウント新規作成ページ、と分けても、どちらにも同じ機能(例えばログイン後にACLを設定するなど)を置かないといけない。
それがwebだけで済むのなら問題がないものの、iOSからも、facebookログインが出来るようになっていると少し面倒で、そちらも同様な命令を書いておかないといけない、という事になる。(ログインするユーザーのみ通して、新規ユーザーを作る人はwebからさせたいのでwebに飛ばす…という区分けが出来ないということに。ユーザー作成と、ログインの機能を分けておいてくれたらこんな事にはならないのだが…)
・parseのアプリ名が日本語だと、管理画面からのpush通知が飛ばない。(iOSアプリ同士では問題無く飛ぶ模様)
https://parse.com/questions/cant-receive-push-notification-from-dashboard
・パスワード変更しても、ログイン状態が残ることがあるので、面倒ではあるが、重要なデータをいじる際は、一度ログインのアクションを起こす(※パスワードを変えていれば、ここではちゃんとエラーを返してくれる)ようにする。
【Unity】3.5など古いバージョンでのAndroidビルド時のエラー
どうしても古いバージョンでビルドする必要があり、iOSは問題無かった物の、Android側でビルド時にエラーが起きていたので調査した。
起こったエラー:「Building DEX Failed」
http://blog.be-style.jpn.com/article/53229893.html
コメント欄にある、「【対処】暫定的な対処ですが android-sdk/build-tools/17.0.0/ の中のものを全て android-sdk/platform-tools/ へ複製する」でokだった。
mac環境の場合は、上記まででokだったものの、
windowsでやった見た時は、さらに、上記を行っても、「Error building Player: Win32Exception: ApplicationName='/xxxxx/android_sdk/tools/apkbuilder'...」
というエラーも出てしまった。
こちらは、https://github.com/ACSOP/android_sdk/blob/master/apkbuilder/etc/apkbuilderにある物をコピーして、 android_SDK/tools/ 以下に持ってくればokだった。
google maps httpsから表示されない?
t>
表示されたケース:
<script src="https://maps.google.com/m
t>
読み込みページに依存する、以下の方法でも表示された。
<script src="//maps.google.com/maps/ap
t>
【iOS】phpからAESの文字列を受け取り、それをDecryptしたい
http://iphoneappcode.blogspot.jp/2012/04/aes-encryption-and-decryption.html
(↑サイトの、dataFromHexStringという関数を参考にした)
XmlPullParserException: PI must not start with xml .. でパースできない(BOM付きxmlの扱い)
utf-8のxml、bom付きのファイルを解析する必要があったが、
そのままPullParserに入れると落ちてしまった。
ファイルそのものの保存形式を変えたいと真っ先に思ったが、
諸々の都合でそれは出来ず…
String xmlStr = "";
//UTF-8 BOM付きであれば頭削除
xmlStr = new String(result, 3, result.length - 3 , "UTF-8");
}else{
xmlStr = new String(result, "UTF-8");
}
というように、頭にbomがあればトリムして文字列化した物を
PullParserに渡すようにしたら、無事エラーは起きなくなった。
参考:http://www.geekality.net/2011/05/23/java-how-to-deal-with-the-bom-in-a-unicode-inputstream/