第14回 オープンソーステクノロジー勉強会に行って来た
Greeさんが開催されているオープンソーステクノロジー勉強会にこっそり参加してきました。
株式会社ディー・エヌ・エーの川崎修平さんをゲストに招き、MobaSiFなどについて
話をされるとのことで、潜入取材。
川崎さんをご存知でない方はこちらを参照
ちがう。
「モバゲー」を1人で開発した男──川崎修平氏の素顔(前編)
「モバゲー」を1人で開発した男──川崎修平氏の素顔(後編)
DeNAでモバゲーを作られた方として非常に有名です。
そのDeNAのモバイルサービスのベースにあるのが、MobaSiFです。
ただ、フレームワークはサービスと供に成長するとの考えの元に開発されているようで、
各サービス毎に若干異なる点があるようです。
基本思想
開発者はDBのパフォーマンスまで考慮して作成している
MobaSiFの特徴
- モバイルの特有の機能(端末認証、絵文字など)
- 軽い(XSモジュール、起動コスト小)
- 素朴な実装(全体を理解しやすい、融通が利く)
- 依存モジュールが少ない(ほとんど標準モジュールのみ)
- 動作環境はある程度縛る(Linux、mysql、apache、fastcgi)
実装がシンプルなので、障害発生時に問題箇所の特定が楽。
モジュールに依存した不可解な動作も少ない。
JavaのようにVMのバージョンに依存することもないので、環境の変化に強い
アバターの処理とかは、Cで書いたXSで処理
基本機能
- ディスパッチャ
- 端末情報取得
- ユーザ認証
- 絵文字
- テンプレート
端末情報取得
- UserAgentから判別したキャリア
- IPアドレスから判別したキャリア
- 端末タイプ、モデル
- 端末シリアルID、ユーザ識別子
- 画面サイズ
UserAgentとIPアドレスで偽装を判断。(先日の講演でふじもとさんも同じことを話されてました)
ドコモはヘッダ情報少ないので、機種名をキーにDBから情報を補完
テンプレート処理
テンプレートツールキットより20倍ぐらい高速
Webアプリ以外での使用
- batch、deamon、監視スクリプトでも使用
- use MobaConf;だけでWebアプリと同じ設定を読み込み全機能にアクセスできる
非同期の処理多いので、deamonを作ったりする際も結構楽。
モバゲーとの違い
- メールの送受信部分
- セキュリティ的に見せられないコードを削除
- docomoの認証
- 絵文字の取り回し
- 誤字の訂正
キャリアのスペルミスが分かってるのに直せないらしい・・・。(気持ちは分かります)