チラシの裏

2012 年 2 月 5 日

はじめてのCassandra

カテゴリー: Cassandra, 未分類 — root @ 8:10 PM

環境:CentOS5.4(amazon EC2
cassandra:1.0.7

とりあえず、チラ裏程度の情報です。。。

●まず、jdkをインストールします
ここから

http://www.oracle.com/technetwork/java/javase/downloads/index.html

ダウンロードしましょう。

●インストールは普通にrpmコマンドで
[root@epsilon ~] rpm -ivh jdk-7u2-linux-i586.rpm

●ちゃんとインストール出来てるか確認しましょう
[root@epsilon ~] java -version
java version “1.7.0_02″
Java(TM) SE Runtime Environment (build 1.7.0_02-b13)
Java HotSpot(TM) Client VM (build 22.0-b10, mixed mode, sharing)

●Cassandraのダウンロードをしましょう
[root@epsilon ~] wget http://ftp.jaist.ac.jp/pub/apache//cassandra/1.0.7/apache-cassandra-1.0.7-bin.tar.gz

●適当なディレクトリに解凍しましょう
自分は/usr/local/cassandraにしました。

●Cassandraを起動しましょう
[root@epsilon ~] bin/cassandra -p /var/run/cassandra.pid
pidファイルの場所を指定しておくと、killするときに便利です。
hostnameがなんちゃらってエラーがでる場合はhostnameで表示されるhost名が/etc/hostsに入ってないです。

●もう一つ端末を起動してcassandra-cliからcassandraにアクセスしてみましょう
bin/cassandra-cli -h localhost

●Keyspaceを作成しましょう
[default@unknown]create keyspace Keyspace1 with replication_factor = 1;

使用するKeyspaceの指定
[default@unknown]use Keyspace1;

●columnを作成します
[default@Keyspace1] create column family Standard1 with comparator=UTF8Type and default_validation_class=UTF8Type and key_validation_class=UTF8Type;
4b07a490-4fe6-11e1-0000-242d50cf1ff6
Waiting for schema agreement…
… schemas agree across the cluster

●データをsetしてみましょう
[default@Keyspace1] set Standard1[jsmith]['first'] = ‘John’; Value inserted.
Elapsed time: 94 msec(s).

●データをgetしてみましょう
[default@Keyspace1] get Standard1['jsmith'];
=> (column=first, value=John, timestamp=1328438642555000)
Returned 1 results.
Elapsed time: 31 msec(s).

●Cassandraの終了は
kill `cat /var/run/cassandra.pid`

2011 年 9 月 8 日

DoctrineでJOINしたい場合

カテゴリー: PHP, Symfony — root @ 6:25 PM

DoctrineでJOINしたい場合、普通にJOINメソッドを使うだけだとエラーになります。(ハァハァ

エラーが出ないようにするためにはテーブルのリレーションの設定をしないとダメっぽいです。
たとえばユーザが所持しているアイテムのIDが記録されているUserItemテーブルと
アイテムのマスターテーブルであるItemをJOINする場合は、

UserItemのクラスでこのように↓

public function setUp()
{
	parent::setUp();
	$this->hasOne('Item', array(
		'local' => 'item_id',
		'foreign' => 'id'
	));
}

としてやればエラーがでなくなります。

他のテーブルもJOINしたい場合は
$this->hasOneを追加していけば大丈夫っぽいです。

ちなみに、このやりかたが正しいかどうかは分かりません(キリッ

2011 年 6 月 27 日

はじめてのDoctrine

カテゴリー: Symfony — root @ 11:59 AM

Doctrineのお勉強をしたのでメモしておく。
環境:Symfony1.4、Doctrine1.2
(続きを読む…)

2011 年 6 月 6 日

はじめてのSymfony1.4

カテゴリー: PHP, Symfony — root @ 9:51 PM

新規ソーシャルアプリ開発でSymfony1.4を使うことになったので
お勉強しました。

環境:CentOS5.5
PHP:5.3.3

(続きを読む…)

2011 年 6 月 4 日

FTPのモード

カテゴリー: NW — root @ 1:03 PM

たまに聞かれるので書いとく。

アクティブモード:
制御用コネクションはクライアントから開始。
データ転送用コネクションはFTPサーバから開始。

パッシブモード:
制御用コネクションはクライアントから開始。
データ転送用コネクションもクライアントから開始し、ポート番号はランダムポートになる。

パッシブモードで動作しているFTPサーバーに
パッシブモード設定されてないクライアントで繋いでも
制御ようコネクションは開始できるけど、データ転送は行えないってことです。

2011 年 2 月 26 日

CentOS5.5にAPCをインストールする

カテゴリー: PHP — root @ 5:48 PM

#既にremiからPHP5.3をインストール済みです。
(続きを読む…)

CentOS5.5にXdebugをインストールする

カテゴリー: PHP — root @ 5:38 PM

#既にremiからPHP5.3をインストール済みです。
(続きを読む…)

2011 年 1 月 17 日

mysql_secure_installation

カテゴリー: MySQL — root @ 1:09 AM

MySQLをセキュアに運用するための基本として、インストール直後に
mysql_secure_installationを使うと良いかもしれない。
rootのパスワードの設定や余分な設定の削除などをやってくれる。

使い方は簡単。
(続きを読む…)

2011 年 1 月 4 日

CREATE TABLE、INSERT時に他のテーブルのレコードを挿入

カテゴリー: MySQL — root @ 1:12 AM

これは便利。

CREATE TABLE deviceInfo_Tmp ENGINE = MYISAM AS
SELECT * FROM deviceInfo
WHERE width >= 480

INSERT INTO deviceInfo SELECT * FROM deviceInfo_Tmp

2010 年 9 月 24 日

NGINXを使ってみた

カテゴリー: NGINX — root @ 6:28 PM

NGINXを使ってみた。

環境:CentOS5.4
nginx:0.8.50
(続きを読む…)

古い投稿 »

Powered by WordPress