万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

PHPカンファレンス

サブ会場(〜PHP初心者講座〜WEB業界で生き抜くために)

XS、CSRFSQLインジェクションの対策
マニュアルで勉強する。
ユーザのサンプルがある。

PHPの勉強方法
MIからの情報
SNSのコミュ

・必要なスキル
flash
 プログラマでもデザインが必要、データを渡してflashに任せたりもできる。
XML
WordPress
 修正して使用するなど。
PHP
W3C
Ajax
クラウド
CSS

・High Performance APC APCによるハイパフォーマンスの実現
Facebook
Lexer時空解析
echo -> T_ECHO
"Hello World" -> T_STRING

ソース キャッシュ 通常のPHPコードの処理
共有メモリの設定が重要

2つのキャッシュ
オープンコードそのもののキャッシュ
stat()

SVNCVSを使うときはシークタイムのプションを使う
ダンプができる
Cash Priming
User Valueable Cache

PHPアプリケーションフレームワーク Agavi入門
ドキュメントは英語のみ、完成していないため翻訳が止められている
Mojavi 3-dev
2007年1月 symfony 1.0

Modelの中にビジネスロジックを閉じ込められる。

ExecutionContainer

出力タイプ
HTML、JSONRSS

英語のIRC
メーリングリスト
Biteextender社 有償サポート

いいところ
思想家、フルスタックではない(よけいなものが作っていないので自分で選べる)

フレームワークCodeIgniterを使ってのアプリケーションプラットフォーム作成による、アプリ開発の効率化について

1.Zend Framework
2/Symfony
3.CakePHP
第四位

リソースの読み込みを必要最低限に、高速に動作する
フレームワーク上の制約が非常に少ない
PHPソースコードを読める人がみたらすぐ理解できる。
拡張しやすい
いろいろ足ないが、簡単に足すことができる
スキルアップにつながる

フレームワークとは?
毎回同じコーディングをしなくてよい。
楽ができる。
バグが減る

CodeIgniter core
独自拡張アプリケーションBaseを作った

ほかのフレームワークでもできるが、
フレームワーク独自のルール、使用が難しすぎて、習得コストが高くなる
コアをいじるのが気が引ける
怒られる

Flash書き換えPHP extension

swfファイルを直接書き換える
image IDで画像が指定されている。
音声や文字列がかえられる
FlashLite1.1
100KB制限
元ソースのflaファイルがなくなっていても使い回せる。

swfmillのイメージ
XMLに一度分解してまた戻す。
swfed
PHP5.2しか対応していない。

CakePHPストーリー
rakuten_techのtwitter

CakePHPとは何か?
高速開発フレームワーク

素のPHPの問題
DBがかわったときに全て設定をかえなければならない。

生産性の向上
保守性の向上
Smarty
PEAR

Cake2
PHP5専用

CakePHP3
PHP5.3以降専用

PHPを"いじり倒す"10の方法
日本語がわかりにくいから日本語の使用を変えることはできない
テンプレートエンジン会のオーバーテクノロジー
文法上の特徴によりプログラミングと間違えられる

BootPHP
C++でかいている。知らなくてもできる。

Q4MとFlareを使ってスケーラブルなサービスを作る!
簡単なグラフを作る
vizooで利用している

Q4Mtoha

MySQLを使ったメッセージキュー
SQLでかけるQueue
メッセージはSQLを使う
3つの変数がある
MySQL5.1が動いていれば簡単に導入できる
APIの細かいドキュメントがない
Webアプリケーション高負荷、高いレスポンス

Q4Mをsymfornyのtaskとして実装する
Q4Mではmulti queueを使う
Cronの代わりにQ4M
Q4Mではtimeoutを最大でも60秒で
Q4Mを使うことでDBへのアプローチに幅がでてきた