2012年2月24日 23:54

appengine ja night #19に参加しました #ajn19

凛子かわいいよ凛子(挨拶)

@shin1ogawaさんのご好意により appengine ja night #19で LTをさせてもらいました。


自分の発表資料


喋り忘れたこととか
  • AZusaar!のAPIを使っていいか?という質問に関して補足
    • 外部公開してるAPI系はquutaにかからないようにがっつりチューニングしてるので他アプリから多少呼ばれても問題はないはず
    • jsonpだとFrontend Cache Controlが効かなくなるのでできればjson推奨
    • APIのリクエストとレスポンスは基本的にATND準拠ですが、AZusaar!で使ってない部分に関しては基本全部削っています
    • jsに書かれていなければ実装されてないという認識でOKですw
    • jsと実際のレスポンスから仕様と空気を読んで自己責任でご利用ください
    • 更に需要がありそうならどっかで仕様をまとめます
  • 尺の関係で自分が賞をとったAPIの説明ははしょりましたが、ジオどすAPIの説明はここに置いていきます。(社内向けなんで内容はそんなに深くないですがw)
  • 一番アクセスがあった(と思われる)自分がLTしてた時間帯も1インスタンスで捌きれていたみたいです
  • 課金は$2.1/weekのみですが、Billing Onしたら$50貰えるキャンペーンの分がまだ半分くらい残っていますw
  • テスト周りについて
    • Java: JUnit+QuickJUnitでがっつりTDDやってました。プロダクト1700行に対してテストケースは250個くらい(djUnit換算なので実際はもっと行数あるかも)。カバレッジはline, branchともに85%くらい
    • JavaScript: QUnitを使用。プロダクトコード1200行に対してテストケースは50個くらい。ロジックに関するテストはやってますがDOM生成周りはテストをサボってますorz
    • クロスブラウザ周りのテストは手元にある環境は全部試してます。WinだとIE9, FireFox, Chrome, Safari。MacもIEない以外は一緒。あとはAndroid(IS03)とiPad
    • スマホUIの確認にはMobilizerが重宝しました。機能的にはXCodeのシミュレータには劣るけどAdobe AIRなのでWinでも動くのは嬉しい

追記:主催の@kazunori_279さんのブログに他の方の資料やust録画がまとまっています

コメント(2)

APIについて質問した者です。
補足ありがとうございまw

質問した経緯ですが、前に
http://upmeetup.appspot.com/
を作った際に、イベント情報の統合APIのバックエンドと
サービスのフロントエンドに分けたいなと思っていたからです。
イベントサイトごとにバラバラの状況がなんとも歯痒くて・・。
新たにサポート(Partake)を増やすならクローラーとDBを
バックエンドとして切り離してAPIだけ単体で提供しようと思ってたんですが、
PartakeのAPIがよくわからず頓挫しました。
(というか、api/event/search だけでは直近100件以上とれず、
 やりたいことはAPIだけでは無理かも・・・)
今は完全放置プレイなのですが、
そのうちがっつり時間とれたら統合APIみたいのをやりたいとは思っているので、
とても参考になりました。

こんにちは。

upmeetupはTLで1回見た記憶があります(^^;

>(というか、api/event/search だけでは直近100件以上とれず、
> やりたいことはAPIだけでは無理かも・・・)

各カテゴリごとに分けてAPIを叩けば100×7=700件くらいは取得できると思います。
http://code.google.com/p/partakein/wiki/PublicWebAPI#Category

ただ、PARTAKEの新着イベントは1日2?3件くらいなんで、upmeetupみたいに
直近のイベントのみ表示するので100件でも十分そうな気がします。

(100件取ろうとしたら一時期500エラーになってたので、万全を期すなら70?80くらいが無難かもしれませんが)


>そのうちがっつり時間とれたら統合APIみたいのをやりたいとは思っているので、
とても参考になりました。

azusaarみたいなデータ蓄積タイプはリアルタイムな情報がとれないのがネックですね。(イベント作成後内容が変更された時に反映されない)
1時間に1回新着のみDatastoreのみput, 1日1回APIで取得した全件putという感じにはしてるので
イベント作成後数日間くらいはなんとかなるのですが、それを過ぎるとどうしようもないです・・・