PHPカンファレンス2011に参加してきたので、その時のメモを公開したいと思います。
PHPカンファレンス2011へ行ってきました(1)の続きになります。
メモの内容には聞き間違い等あるかもしれませんがご容赦ください。
———————–
スタートsphinx
———————–
Sphinx:ドキュメントツール
ツリー構造の記述を行う
PDFを出力することができる
インストール
Windows:スタンドアロンで使える
Unix:easy_install(Phython)を使ってインストール
sphinx_quickstartコマンドで
最初のプロジェクトを作成、設定を行う
活用事例
・ドキュメントページの作成
・symfonyのマニュアルにも使われている
———————–
Cena-DTA:HTML5のローカルDBを使ったアプリ開発
———————–
Web SQL Database
→ブラウザの中でRDBを使えるようになった
Cena-DTA:
1回の登録で登録+変更が行える
mySQLのDBを作成し、そこに接続する
HTMLのソースから直接データをダウンロード/アップロードできる
サーバ側:PHP+mySQLで作られている
クライアント側:jQueryのプラグインを使う
サーバでデータを受け取って登録する部分がPHPで作られている
———————–
Large-Scale Data Processing
with Hadoop and PHP
———————–
Facebook:12TB/1日のデータが追加されている(2010年)
google:一か月あたり400PBのデータを扱っている
180GBのデータを読み取るのに45分かかる
メモリの量にも限度がある
解決法:パラレルI/O
I/Oボトルネックの問題:
データのあるところにコンピューティングリソースを持っていく
例:apacheログに対する処理
マッパー:ログを書き出すイメージ
↓
リデューサー:各IPごとに書き出す集約を行う
hadoop:
SQLのクエリを書く必要がない
Facebookでのデータの増加にも対応できている
Yahoo、Twitterでも使われている
インプットフォーマットを使うことによって
どのデータをどのように分けるかということを指定できる
障害に強い仕組みになっている
Hadoopは主にJavaで開発されているが、
PHPなどでもリデューサーは書ける
HadooPHP:HadoopでPHPを使うためのフレームワーク
———————–
Microsoft ? PHP ~ 3rd Stage ~
WebMatrix + Windows Azure!
———————–
マイクロソフトとPHPの歴史:
Windowsプラットフォームインストーラー
↓
Windowsウェブマトリクス
↓
Windows Azure+PHP
Windowsウェブマトリクス:OSSを使う/一から作る
→サイト作成に必要な機能を搭載
PHPのメジャーなアプリは殆ど収録されている
ASP.NETのテンプレートも使える
既存のサイトをウェブマトリクスに移行することもできる
エディタ機能もある
SSLの有無なども設定できる
ソースに問題があるかどうかチェックできる
DBの編集もできる
無償でダウンロードできる
あわせて使えるもの:
IEのF12キーを押す⇒開発ツールが使える
Expression Web Super View
Azure:空色の、という意味
WindowsサーバーベースのクラウドOS
ウェブマトリクスで作成したものを
Windows Azure上で動かすことができる
Azureのテンプレート作成
↓
ソースコードをコピー
↓
テスト環境を作成
(バーチャル環境のようなものができる)
↓
Azureへのパッケージ生成
リモートデスクトップでログインして
更新作業を行うこともできる
Azureのメリット:
・Paasなので管理いらず
・データセンターは数十万台規模
事例
トヨタ、ゲームサイトなど
EC-CUBE DAYでも話をする予定
———————–
徳丸本に学ぶ
安全なPHPアプリ開発の鉄則2011
———————–
■安全なPHP入門書で学ぶ:
XSSとSQLインジェクションぐらいは正しく覚える
セキュリティの甘いサンプルが載っている本もある
■入力、出力処理をしっかりやる
バリデーション
制御文字のチェック
「安全なSQLの呼び出し方」=IPAが公開している
準備文を使う
htmlspecialcharsを正しく使う
ファイルアップロードには罠がたくさんある:
アップロードされたファイルがPHPとして実行される
ファイル名が衝突してしまう
■文字コードのセキュリティを気にする
5c問題
■クリックジャッキング対策をする
クリックジャッキング:
透明なiframeを正しい画面の上に表示させて、
違う操作をさせること
X-FRAME-OPTIONSヘッダを指定する
(古いブラウザは対応していない)
CSRF対策をする
パスワードの保存はハッシュ化を繰り返す
7文字ぐらいのパスワードではすぐに破る
ツールがある
ハッシュ値にSalt値をつけるのがベター
ストレッチング:
ハッシュ化する計算を何度も繰り返す
■PHPのバージョンアップにとことん付き合う
———————–
ライトニングトーク
———————–
Making DSL with []
Paml→テンプレートエンジン
PHP:配列とハッシュの区別がない
PHP技術者認定試験:
ウィザード試験が始まる
sismo:
ciTool
テストツール
githubに対応
symfonyと同じ会社が作っている
Symfony2HttpCache
リバースプロキシを使う
→Cacheカーネルを使う
4倍ぐらい速くなる
クラウドを比べてみた:
HDDのスピード=かなり違う
GMO:1インスタンスに物理HDDを1つアサインしている
Symfony:behatというテストツールがある
PHP祭
10月15日、16日に大阪で開催
PHPBugs
バグ候補を指摘してくれる
(これから作成)
プロジェクトの規模が大きくなると
おかしいといわれているところが
本当におかしくなる
Ethna2.6
PHP5.3に対応