PHP

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

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

JSON-RPC 2.0のススメ

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

FULCRUM RACING QUATTROを買った

6月9日のデュアスロンに出るために、ちょっとまともなホイール買いました。 FULCRUM RACING QUATTRO 2013モデル買った。新品で、32k円で、4k円のクーポン付き。1725g 数キロ乗った感じで、今までと比べた感じ:いい...
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...
Linux

Debian Squeeze 6.0 (Ubuntu12)でPHP5.4やMySQL5.5

Debianの安定版は、その名の通り安定している替わりに、サーバアプリケーションが古い。そんな安定している環境で、サーバアプリケーションだけ最新を使いたいという矛盾した要望をかなえてくれるのがdotdebです。 最新の安定版Linuxで稼働...
JavaScript

JSONのvalidation

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

sshの接続を高速化

まぁ、いろいろ説明は省きますが、こんな感じで。 gitへの接続が速くなるし、いろいろちょっと速くなった気がするし、あまり切れなくもなった気がする。 .ssh/configへ以下を設定。 Host * ControlMaster auto C...