桜上水在住のフリーのプログラマ/システムエンジニアの徒然なる日記風テキスト
30日(土)にPHP勉強会に参加したのでそのまとめと感想(コメントアウト部)。
会場: 株式会社コンテンツワン 1Fセミナールーム
/* 今回聞きたかった内容 その1 */
Lithiumとは
// 会場内でPHP5.3を使ってる人が6/25名ほど。少ないとおっしゃってましたが、個人的に多い!と感じました。未だ5.2系クラスタ…
PHP5.3 / 拡張性
PHP5.3(XAMPP最新版でOK)
MongoDB / CouchDBが現状ではおススメ(MySQL等はまだBuggy?)
http://rad-dev.org/lithium/
DB設定:app/config/connections.php
チュートリアル:http://rad-dev.org/lithium/wiki/drafts/
app/config/connections.php
use \lithium\data\Connctions:
Connections::add('default'. database', array(
twig等のテンプレートエンジンも使用可能
拡張性:Librariesクラスを使って追加、変更が可能
Libraries::add('Lithium');
基底クラス Object StaticObjectに備わる applyFileer methodで対象のmethodと処理を指定
処理はクロージャ
lithium/data/source/databases/adapter/mysql ←DB処理を行うClassファイル
protected _execute()関数でSQL文を実行、値を返している
\lithium\data\Connecitons::get('default')->applyFilter('_execute',
function($self, $params, $chain){
echo $params ['sql']."
";
return $chain->next($self, $params, $chain);
});
/* PHP5.3から引数にfunction()が指定できるらしい。クロージャ,javascriptっぽい
* ちゃんと中身調べないとPHP5.3の機能なのかLithiumの機能なのか分かりにくい? */
参考URL:
Dio様&やる夫でBrainF*ck
/* 一発ネタだねえwwww */
/* おもろいUIのプレゼンでした
* ソースの公開はなし */
// NetBeansでCakePHP使って、ってのはないんかな?
/* 今回聞きたかった内容 その2 */
CSV Datasources // csvの1行目がカラム名ぽく使えるかも?
Twitter Datasources // ←使ってる!
MongoDB Datasources
等々
必要なMethod
/* 今回聞きたかった内容 その3 */
// Windows版のMongoDBってあんのかしら?
// ネーミングがRDBとは違うよ
Table = Collection
Row = document
join, transaction
全てのtable(=collection)にnameカラムがある
事例:
Business insider
http://www.businessinsider.com/how-we-use/mongodb-2009-11
6-70万PV/day
blog sample(データ構造)
blog={ name: blog,
title:aaa,
user:bbb,
comment:[1,2,3],
tag:[a,b,c]
}
- Pecl Mongo
$mongo = new Mongo(localhost:27017);
$db = $mongo->selectDB('blog');
$collection = $db->selectCollection('posts');
$collection->find($cond, $field)->sort()->もにゅもにゅ
$collection->insert($data)
// $data=配列を用意しておく
Datasourceで実装済み (MongoDBサイトからPHP→githubから取得可能)
MySQLの4-5倍, CouchDBの2倍のperformance
チューニング手法(単純にファイルサイズが減る)として、カラム名を短く
/* Cake+MongoDB、試してみねばなあ。
* 問題はテストにWindows環境しか用意できない点。要調査。
あとでblogに書きましょう!
Blogに書くまでが勉強会!
会場を提供下さいました、株式会社コンテンツワン様、ありがとうございました。
また、発表・運営・ご参加の皆様。お疲れ様&ありがとうございました。残念ながら二次会は参加できませんでしたが、大変勉強になる会でした。次回も是非参加したいです!
-
-