PHP

PHP

RedisのSortedSetベンチマーク

5,000,000ユーザ分のデータを作成してテストしました。Add: 18,483 queries/sUpdate: 17,065 queries/sGet score: 21,520 queries/sGet rank: 19,632 q...
PHP

Doctrine2はPDOの3倍以上遅い – Benchmarking PDO, mysqli, Doctrine2

概要背景:Doctrine2のパフォーマンスが良くなったらしいので、ベンチマークしてみた。ちなみに、2年前にベンチマークを取ったときには、Doctrine1はPDOの約3倍遅かった。結論:今もなお、Doctrine2はPDOに比べて3倍以上...
PHP

Travis CIでPHP Extensionをインストールする方法

Travis CIでPHPのextension (拡張)を使ったテストをする際に、自分でextensionをインストールする方法です。前提として、すでに導入されているextensionはこちら。これらに依存しているだけの場合は問題なし。ap...
PHP

Redisのランキング管理API作りました

概要RedisのSort SetのAPIが若干使いづらいので、ソーシャルゲームでのユースケースに即したAPIでラップしました。インストールComposer対応してあります。composer.jsonに以下を書いて、php composer....
PHP

PHPのmicrotimeの精度によるmt_srandへの影響

PHP5.3以下を使っていて、microtime()を元に乱数を生成している人は注意!オフィシャルサイトのサンプルコード通りだとシードがランダムになりません。PHPのユニットテストで確率を計算しているときに、「なかなか数字が分散しない」と思...
PHP

ファイルを保存した瞬間ユニットテストを実行

概要いままで、vimでコーディングするときは「コードを書く、→ユニットテストを実行する」の繰り返しばかりで同じような操作をしていましたが、ファイルを保存した瞬間にユニットテストを実行できるようにしました。上記のスクリーンショットのように、別...
PHP

Packfire Framework

Githubをぶらぶらしていたら、PackfireというPHP Web Application Frameworkを偶然見つけた。Official Siteがかっこいい。また、使っている要素技術が、PHP5.3 + Namespace + ...
PHP

PHP’s MessageFormatter benchmark

測定環境は、PHP 5.3.8で、ab -n 500です。数字はです。ベンチマークプログラムダウンロード
PHP

[PHP]変数vs文字列

文字列を共通化するために、変数で定義する方法と文字を直接書く方法どちらが速いか検証してみたら、ほぼ同じだった。どっちもどっち。define.php<?phpdefine('word', 'hogehoge');$start = microt...
PHP

Webアプリケーションでのパスワード保存方法

自分的メモ。ネタもと:Rainbow Crackみたいなツール使うと一方向hashした値はすぐにクラックできちゃうよ。md5でもsha1でも同じ。Rainbow Crackの準備は時間かかるけど、これならターゲットの文字を入手したら数秒でク...