PHP Archive

Cassandraクラスタを作成してみました

こんにちは、t_endoです。 今回はCassandraクラスタをAmazon EC2上に作成したいと思います。 以前何か良さそうなKVSがないものか探していたところ、 「Cassandraは、非常に高いスケーラビリティーを持ち、イベンチュアルコンシステントな分散システム構造のKVS(Key Value Store)です。 」 ※Cassandra Wikiより抜粋 との事で ・PHPのクライアントがあること ・key:valueを1対多で取得できること ・クラスタ構成が組めること こんな感じの [...] Read More

PHPのジェネレータを使おう

こんにちは。新参者のsamです。 最近、都内を離れると行くところ行くところ、雨に見舞われ、友人にも私が雨男という認識が何故か広まって困っています。 先日は宮崎に帰省したところ、台風19号に直撃されて周りの友人から何故か非難を浴びるという理不尽を受けました。 雨男の汚名返上できる方法をご存知の方はぜひ教えてください。。 PHP5.5で導入されたジェネレータ さて、少し前の話題で恐縮ですが、PHPでは5.5からジェネレータという機能が新たに追加されました。 同様の記事は巷に溢れかえっていますが、自分 [...] Read More

Hadoop Streamingで、MapReduceをPHPで実装する

はじめに こんにちは、t_oookaです。 今回は、Hadoop Streamingを使用して、PHPでmap,reduce処理を実装してみます。 Hadoop Streamingとは、hadoopが提供するユーティリティで、当該ユーティリティを使用することでJava以外の任意の言語やコマンド(標準入力、標準出力を扱える)などでmap,reduce処理を記述することができるようになります。 環境 CentOS 6.5 jdk 1.7.0_55 CDH(Cloudera’s Distr [...] Read More

DboSource::getLog()で発行されたSQLを確認する

h_nagayamaです。 CakePHPでは、DboSource::getLog()を使用すると、発行されたSQLを確認することができます。 私は下記のように使用しています。 ※以降は CakePHP 1.3 のソースです こちらは大変便利な機能なのですが、getLog()は、デフォルトで200件までしか出力してくれないようです。 件数の制限がかかっており、制限値を超えた時点で、出力用配列への追加がスキップされてしまうためです。 cake\libs\model\datasources\data [...] Read More

CakePHPのShellにオプションを渡そう!

はじめに こんにちは@kou_hoshです。 最近はCakePHPのShellと戯れる機会が多いです。 フロントエンド側と比較すると地味目ではありますが 機能が充実していてとても便利だなと改めて思います。 というわけで今回はCakePHPのShellへのオプションの渡し方をやっていこうと思います。 (CakePHP 2.x系です) 基本的な使い方 基本的な実装方法は下記のような形です。 getOptionParser()メソッドをオーバライドしてその中でオプション設定を加えていきます。 ・ソース [...] Read More

PHPでもforkがしたい!

Introduction  はじめまして、ADN事業部所属エンジニアのk_oomoriと申します。業務ではアドネットワークサービスnend(ネンド)においてPHPやJavaScriptのプログラミングからサーバソフトウェアあたりまでの領域を担当させていただいております。  さて最初の投稿となる今回は、PHPにおけるプロセスのフォーク(fork)を扱おうと思います。  フォークとは、簡単に言うと最初に起動したプロセス(以下親プロセスと言います)が自身の複製として子プロセスを生成し、複数プロセスで並 [...] Read More