Road To Nowhere

主にWebまわりのエンジニア的なお仕事に関するようなことのあれこれ。

第50回PHP勉強会@関東に参加してきた

第50回PHP勉強会@関東 - events.php.gr.jp
こちらの勉強会に参加してきた。
以下、粗いにもほどがあるメモ。

mixiアプリについて

  • スピーカー:weboo氏(@weboo)、mixiのなかの方
  • mixiソーシャルグラフ(他はバーチャルグラフ)
  • mixiアプリを使いにきたユーザーが他の機能も使う。月間滞在時間が2:40から3:42に!
  • mixi Developer Center (ミクシィ デベロッパーセンター) » mixi Connect 現在一部の企業だけが使用でき、撮った写真をそのままアップロードしたりすることもできるらしい。
  • shindig=ユーザーが作成したファイルを解釈してユーザーにサービスを提供するコンテナ(違うかも?あとで調べる)
  • open social 仕様準拠APImixiアプリ専用API
  • アプリが広がるのはクチコミ。マイミクを誘う機能はあったほうがいい!
  • 最新版OAuth.php にバグがある。to_headerに指定が必要!
  • 10秒以内にレスポンスを返せるように作らないとダメ!
  • どんなアプリがヒットするか?友人と一緒に遊べないものは流行らない
    • わかりやすさ
    • ソーシャル性
    • 巻き込み性
    • 継続性
  • mixiアプリモバイルの開発で、PCからアクセス可能なsandbox準備中
  • 的ファイルを配信可能なサーバ準備中

スピーカーはmixiのなかの方なので、mixiアプリの概要をとても分かりやすく説明してくれた。
GREEの藤本さんの質問に答えづらそうにしていたのが印象的だったw

PHPでWEB開発を行うようにしてオープンソーシャルアプリを作る

  • スピーカー:KuniTsuji氏(@KuniTsuji)、Usagi Projectの方。
  • codeigniterでmixiアプリが作れないか?webサービスをそのままmixiアプリに移植したい。モバイルならいける!
  • セッション管理いらない!※内部的に値は保持するが
  • aタグやformタグで移動はできない。codeigniterで使う関数をカスタマイズ(anchor(),form_open)
  • セッションclass拡張、認証クラス拡張、OAuthの処理を隠す(認証クラスで使用)
  • 既存のモバイルサイトを構築するように開発してmixiアプリが動くようになった!
  • PCではどうするか・・・、難しい。表示内容、ブロック単位にPHPで出力できるようにしたほうがいい。

PHPで通常のモバイルサイトを作るようにmixiアプリを作りたいという発想が面白いなと思った。
PCはともかく、はmixiアプリモバイルの開発の敷居がかなり下がったような気がする。
アプリの話をずっとしてきて、最後にアプリは作ろうと思えば作れるが、安定して運用していくためにインフラ周りの方が重要だと言っていたのが面白かった。

運用した気になるモバイルオープンソーシャル

  • スピーカー:個々一番氏(@cocoitiban
  • PCとモバイルの違い。絵文字、js、FireMobileSimulator最高
  • 公式と勝手のちがい。UID使わない(opensocialの仕組みで認証)、IP制限は信用ならない、最初から動線がある。
  • 注意。外部のAPIは信用しない。返事かえらない。バグもある。愛され系ゆるふわコーディング(エラーがでました→NG)
  • authoriztionヘッダとれない。BASIC認証はパースして置き換えてる。apache_request_headersを使うととれる。
  • まちつく
    • 最初普通のモバイルサイト。2009/9 mixiアプリ。2010/1 モバゲー。mixi会員250万人くらい。
    • mixiアプリリリースしたて。1日10万人ふえてく。画像生成サーバやばい。APIかえってこない。
    • 何をしたか。画像生成をキューにかきかえた。ボトルネック退治。愛され系ゆるふわコーディング。ハードウェア購入すすめる
    • パフォーマンスアップのためにしたこと
      • 100Mの回線足りない。画像サーバーをamazonS3に。
      • サーバをEC2に(今はつかってない)
      • memchached対応範囲ふやす
      • 機能を企画レベルで見直し。負荷低くなるように。
      • L7ロードバランサを増やす
      • DBマスター分割。ORMで分割。
    • 中期
      • DBサーバ分割でもきびしい→ちょっといいサーバ→解決
      • 機能改善
      • 課金等をリリース
      • 一部Q4Mへ。EC2とおわかれ、社内にもってきた方が安かった。
    • まとめると、安定志向が必要。でも新しいこともやらないと追いつかない。
  • キュー処理なに使ってる?Q4M、gearman、activeMQ
  • PHPでデーモン化。daemontool
  • ORMは使うべき。流行った場合すぐ分割できるか?トランザクションがネックになる。KVSとの透過性。
  • opensocialトラフィック対策で甘えがゆるされない。

mixiアプリリリース時の悪戦苦闘ぶりがすごく伝わってきて面白かった。対応されたウノウのエンジニアの方にで敬意を表したい。また技術的にも非常に興味深い話がたくさん出てきた。
ORMはなんとなく遅い(SQLがチューニングされてない気がして・・・)というイメージがあるのだが、ORMで分割してパフォーマンスアップしたというのはどういうことなんだろうか?後で調べる。
opensocialではトラフィック対策では甘えがゆるされないというのは、まさにそのとおりだと思った。

最後に、、、

懇親会行きたかったなぁ。LTも聞きたかったしなぁ。残念。
会場を提供してくださったコンテンツワンさま、ありがとうございました。