Introduction

ブログ内検索

  • このサイトの記事を検索 by Google

おすすめの一冊!

無料ブログはココログ

« ふぁぼりを Evernote へ | トップページ | VPS の初期設定 »

2010-06-05

Thrift のビルド

Twitter でふぁぼったツイートを Evernote に取り込みたい、というお話の続き。



Evernote の開発者向けサイトにアクセスしてみると、API が公開されています。

Evernote API は "Thrift" というフレームワークを使っているらしい。
Thrift は、元々は Facebook が開発したもので、今は Apache 配下のオープンソースで、
『プログラミング言語を適材適所に使おう』というコンセプトのものらしい。

Evernote API を知るために、まずは Thrift について調べてみました。

  ・Thrift 公式サイト

  ・Win32 へのインストールガイド  --  公式 wiki

  ・フレームワーク「Thrift」調査報告
  ・Thriftが便利すぎる
  ・[thrift][ruby][perl]Ubuntu 8.04 で Thrift を試してみた

とりあえず、ソースを持ってくれば cygwin でも動くらしい。




さっそく、公式サイトから thrift-0.2.0-incubating.tar.gz をダウンロードして、展開してビルド。

% tar xfz thrift-0.2.0-incubating.tar.gz % cd thrift-0.2.0 % ./bootstrap.sh % export CXXFLAGS="-D PTHREAD_MUTEX_RECURSIVE_NP=PTHREAD_MUTEX_RECURSIVE" % ./configure % cd compiler/cpp/ % make % make install % cd ../../lib/rb/ % make % make install % gem install thrift
ちなみに、Perl 版がコンパイルエラーになってしまうので、一括ビルドはできません。 コンパイラと Ruby 版ライブラリを個別にビルドしてあげる必要があります。 他の言語のビルドは試していません。 ビルドに成功したら、さっそくサンプルコードを実行してみます。 まずサーバ側を起動:
% cd thrift-0.2.0/tutorial/ % thrift -r --gen rb tutorial.thrift ※ "-r" を忘れずに! % cd rb/ % ruby ./RubyServer.rb
続けてクライアント側も起動:
% cd thrift-0.2.0/tutorial/rb/ % ruby ./RubyClient.rb
すると即座に通信が行われて、クライアント側が終了するハズです。 サーバ側は Ctrl-C で止めてあげてください。 ちなみに、うちの PC に入っている cygwin 環境は以下の通りです:
GCC 4.3.4 20090804 (release) 1 ruby 1.9.1p378 (2010-01-10 revision 26273) [i386-cygwin]
一括ビルドができなかったり、Ruby 版ライブラリのインストールには gem が必要だったり、 サンプルコードのコンパイル時に "-r" が必要だったり、いろいろ試行錯誤してしまって 手間がかかりましたが、とりあえず Ruby のコードが動く環境を作ることができました。 さて、ちょっと Thrift で遊んだら、いよいよ Evernote API のお勉強の始まりです。

« ふぁぼりを Evernote へ | トップページ | VPS の初期設定 »