2010年3月20日土曜日

MacOSXにCassandra,Thriftをインストール

Cassandraと、ThriftをMacOSXにインストールしてみたのでメモ。

JavaHomeを設定


export JAVA_HOME=/Library/Java/Home

cassandraインストール


sudo mkdir -p /opt/cassandra
sudo chown -R {you} /opt/cassandra

sudo mkdir -p /var/log/cassandra
sudo chown -R {you} /var/log/cassandra
touch /var/log/cassandra/system.log

sudo mkdir -p /var/lib/cassandra
sudo chown -R {you} /var/lib/cassandra

svn co https://svn.apache.org/repos/asf/incubator/cassandra/tags/cassandra-0.5.1 /opt/cassandra/cassandra-0.5.1

cd /opt/cassandra/cassandra-0.5.1
ant

// 起動してみる
bin/cassandra -f

// CLIを起動してみる
bin/cassandra-cli --host localhost --port 9160


Thriftインストール


sudo port install boost
sudo port install libevent
sudo port install pkgconfig

svn co http://svn.apache.org/repos/asf/incubator/thrift/tags/thrift-0.2.0 /opt/cassandra/thrift-0.2.0

cd /opt/cassandra/thrift-0.2.0
./bootstrap.sh
./configure --with-boost=/opt/local --with-libevent=/opt/local --prefix=/opt/local
sudo make install

cd lib/py
python setup.py install

cd ../perl
perl Makefile.PL
sudo make install

cd ../rb
ruby setup.rb config
ruby setup.rb setup
ruby setup.rb install

// 試してみる
cd /opt/cassandra/cassandra-0.5.1/interface/
thrift --gen py:new_style cassandra.thrift
• • •

2010年3月14日日曜日

HTML5の本を読んで思ったこと

HTML5&API入門 の本をさっと一通り読み終えました。

さっと機能をみるのにも綺麗にまとまっているし、リファレンス的にまとめてくれている所もあり、良い本でした!


マークアップについては、分割された文章を一つのHTMLとして表示するとかやりやすくなりますね。

Canvas,Video,Audio系でFlashの分野に踏み込む感じ。
Flashを書かない開発者にとったら出来る事が増えて嬉しい。tween系とかのライブラリがいっぱい出てくるんでしょーねw

WebWorkerは待ってました的な機能ですね。
でも、マルチスレッドに慣れてない人が使うと、ハマってしまうかも。Flasherとか、フレームワーク上でしか開発した事が無い人とか。

WebSocket,Server-SentEventsの機能はなんか作ってみたくなる機能ですね。
簡単なTwitterクライアントアプリで機能をお試しする人が多そうですねw

この前のGoogleDevFesで出ていたらしい、NotificationAPI。How to use Notifications APIをみつつ試してみました。
NotificationAPIも、ストレージ関係も、URLパス(オリジンというの?
)毎に情報を保存していくので、色々試すには気軽に試せるサーバを作っとくのがよさそうです。

サーバー側で書いていたものが、どんどんクライアント側に移動していく時代の流れなんでしょうか。
結構5年後はその反対の流れになっているのかもしれないけど、こぅいぅ流れはぐるぐる回っていきながら進化していくものなので乗っておきたい。

クラウドのサーバ側 と HTML5のクライアント側。
今後、1人の開発者がこの両方ともカバーしていくのは難しい気がします。開発者の中でも2手にわかれていくのかもしれない。。
いや、もっと細分化していくのかもしれないですねー。

気になる所としては、「管理しやすいソース」を求めて進んでいた流れはどうなるんだろうー?
  1. 管理しやすいソースデザイナが触る所と、開発者が触る所とのソース との分離

  2. MVCのような機能毎に疎結合にしてソースの分離

とかしてた所。

サーバとクライアントについては、TwitterのAPIのような感じで分離するんだろうなぁーと思うのですが、ボリュームの増えたクライアント側はまた考えないと。
非同期とバシバシ使っていたら、結構な量のソースになるし、メンテが難しくなりますし。。
• • •