Program & Service

PHP

やっと公式コーディングルールができた!PHPのコーディングルール

概要 PHPの標準コーディングルール(コーディング規約)は、によって、PSR-0からPSR-3までのドキュメントによって細かく決められています。 そのコーディングルールに準拠するように自動的にソースコードを修正してくれるスクリプトが以下です...
Software Architecture

JSON-RPC 2.0のススメ

RESTfulなHTTPリクエストでは、JSONでデータを返すのが一般的ですよね。そんなJSONのスキーマが各社ばらばらで、統一感が無いけど、何かしらの仕様があるかと思って探したら、ありました。 JSON RPC 2.0 正常系なら、意識し...
PHP

RedisのSortedSetベンチマーク

5,000,000ユーザ分のデータを作成してテストしました。 Add: 18,483 queries/s Update: 17,065 queries/s Get score: 21,520 queries/s Get rank: 19,6...
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はこちら。これらに依存しているだけの場合は問題なし。 ...
PHP

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

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

JSONのvalidation

CLIで使えるJSONのlinter。 npmのがよさげ。 JSON.parse();してるときに表示されるエラーが分かりづらすぎるので。 npm install jsonlint -g cat json | jsonlint
PHP

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

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

SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

rails newしたら、エラー。。。。
Ruby

Rubyでマルチスレッドプログラミング

rubyでマルチスレッドプログラミング 簡単! サンプル このブログのページを10スレッドで5ページずつ取得するだけのサンプルスクリプトです。 応用 応用すると、こんな感じで、画像をマルチスレッドでダウンロードするクローラーを作れます。