Más contenido relacionado
La actualidad más candente (20)
Similar a あにみた!(PHPカンファレンス用資料) (20)
あにみた!(PHPカンファレンス用資料)
- 3. 自己紹介
名前:石山 宏幸(Hiroyuki Ishiyama)/ @ishiyama_amn
会社:アジャイルメディア・ネットワーク株式会社(AMN)
所属:システム部
役職:HWE(ハイパーウェブエンジニア)
2010年9月よりJOIN!
今のお仕事:
・Fans:Fans 「ファンでつながるファンサイト」
・Profill「プロフィール登録サービス」
・あにみた!「あなたが見たアニメを楽しく記録するサービス」
他、雑務色々w\(^o^)/
- 6. Fans:Fans
https://fansfans.jp/
モノと人とファンがつながるサービス!
ガジェット、本、DVD、ゲームなど、好きなアイテムを登
録。自分だけのアイテムリストを作ることができます。
ユーザー数:約15000人
Apache-2.2.3
PHP-5.3.10
CakePHP-1.2
MySQL-5.0.95
サーバー構成:
Webフロント1台、DB1台、DBバックアップ1台
- 7. Profill
http://profill.me/
自分の好きなモノリストをプロフィールとし
て外部公開できるサービス!
Fans:Fansで登録した好きなアイテム(本やDVD、音
楽など)を教えることが出来ます。
あわせてTwitterやFlickrなどの外部サービスと連携
しておくと最新情報を引っ張ってくるのでまとめとして
みれるかも。
サーバー構成はFans:Fansとほぼ同一です 。
※単体でのサービス提供はしておりません。
Fans:Fansに登録いただくと、連動サービスとして
自動的にページが作成されます!
- 8. あにみたサービス開発概要 1
あにみた!(β)
http://animita.tv/
アニメ好きのための、アニメちぇっくいん
サービス!
チェックイン、コメント、いいね!というシンプルな機能、Twitter
やFacebookへのソーシャルポスト対応。各話ごとの視聴履歴を
ゲーミフィケーション的に管理できます。
2012年6月 βリリース!
全制作工程:約 3ヶ月
Amazon Linux 64bit
PHP-5.3.13
APC-3.1.9
memcached-1.4.13
FuelPHP-1.2
Twig-1.6.0
JQuery-1.7.1
jQueryMobile-1.1.0
- 9. あにみたを開発した思い
● 自分がアニメ好きで多くの視聴アニメを管理したかった!
● 得意なジャンルなら頑張れそうだから!
● ある程度の要望があり、利用者は想定出来たから!
● まだ知らない面白いアニメが発掘できそうだから!
- 15. FuelPHPここがすごいよ!
● API作成が超楽
● MongoDBも標準対応
● PHP5.3.x以降対応なのでAutoload安定
● 様々なParser対応(Smarty,Twigなど)
● コンセプトや名前が無骨でかっこいい!
- 16. FuelPHPここが大変だったよ!
● フォルダやファイルの命名規則覚えるのが大変
● Configがちょっと癖あるよ
● Viewの表示に手間取ったよ(Twig使った場合)
● Model(MongoDB)周りの扱いが難しい
(↑はCoreを見てPackeges内に似た形で実装。)
- 18. FuelPHPでのAPI作成例
Controller_RESTの使い方
<?php
class Controller_Hoge extends Controller_REST {
public function get_list() {
$q = Input::get('q'); // list.json?q=xxx が受け取れる
$data = array('hoge' => $q, 'result' => 1);
return $this->response($data);
}
public function post_update_list() {
$q = Input::post('q'); // これでpostデータを受け取れます!
$data = array('q' => $q, 'result' => 1);
return $this->response($data);
}
}
- 24. MongoDB vs MySQL
● 宣言が不要(自動作成) ● カラム等の宣言が必要
● 非トランザクション(※出来 ● トランザクションで安心感
ないわけではない) ● DB構成&サーバー拡張
● select,insertが圧倒的な が若干大変
速度で早い ● join句やgroup by句などで
● sharding標準対応してる 柔軟なselectが可能
● join句など結合系が出来 ● ネット上でのサポート情報
ない(一応group byは出来 や技術ブログなどが数多く
るが…) あるので、トラブル対応し
● 複数のコレクションをまた やすい
ぐ処理は向いていない
- 26. FuelPHP x MongoDB
FuelPHPにMongoDBのReplicaSetレプリケーションを設定する
FuelPHP-1.2時点ではMongoDBを使うことは標準で出来るもの
の、残念ながら公式でReplicaSetレプリケーション対応していない
ようなので、あまりしたくはなかったのですがCoreをいじりました。
※事前にサーバー内にはMongoDB&ReplicaSetが使える環境が整っていることが前提です。
- 29. FuelPHP - Core内 MongoDBのReplicaSets設定
FilePath:/fuel/core/classes/mongo/db.php
Line:146 付近に下記を追加。(わかりやすくするためコメントいれてます)
public function __construct() 内
- 32. Twig - テンプレート継承の簡易説明
共通部分(layout.twig)
ヘッダーやフッターなど
pc.twig contents.twig mobile.twig
メインコンテンツ(データ
PC版レイアウト Mobile版レイアウト
表示部分)
- 33. FuelPHP x JQuery Mobile
PHPカンファレンスの本質とはずれるので今回は飛ばし気味に
要点だけ簡単に摘みます。
ある程度は、デザインなしで超カンタンに定番スマホぽいUIデザイン
が作成できるよ!
標準機能のAjaxのページ先読み&ページ追加の挙動を理解してな
いならオフのがいいよ!
JQM独自UI部分をいじるのはちょっと大変だよ!
- 43. あにみた! for iOS(仮)
初秋(10月)あたりをめどにリリース
予定です!
ヘタレエンジニアな私が
Objective-Cに挫折し
救世主 TitaniumMobileによって
開発が着々と進んでおります!
乞うご期待!