티스토리 뷰
Thrift 설치
이번에 안드로이드 apk에 삽입할 Interface용 Library를 제작하기 위해 다시한번 Thrift를 사용하려고 합니다.
이번엔 incubator에서 나온 조금은? 성숙된 버전의 Thrift를 사용해 보았습니다.
기존 설치 참조 : http://rocksea.tistory.com/100
환경
OS : Ubuntu 12.10
Thrift : 0.9.1
다운로드 URL : http://apache.mirror.cdnetworks.com/thrift/0.9.1/thrift-0.9.1.tar.gz
Step1. Requirement Library 설치
필수 Library들을 설치 합니다.
$ sudo apt-get install libboost-dev libboost-test-dev libboost-program-options-dev libevent-dev automake libtool flex bison pkg-config g++ libssl-dev
Step2. Compile
컴파일을 합니다. ( Compile 시 java, php등이 설치 되어있지 않다면 apt-get으로 설치 해 줍니다. 참고로 저는 openjdk-6-jdk
를 설치하였습니다.)
$ ./configure --prefix=/usr/local/thrift
Building C++ Library ......... : yes
Building C (GLib) Library .... : yes
Building Java Library ........ : yes
Building C# Library .......... : no
Building Python Library ...... : yes
Building Ruby Library ........ : yes
Building Haskell Library ..... : no
Building Perl Library ........ : no
Building PHP Library ......... : yes
Building Erlang Library ...... : no
Building Go Library .......... : no
Building D Library ........... : no
C++ Library:
Build TZlibTransport ...... : yes
Build TNonblockingServer .. : yes
Build TQTcpServer (Qt) .... : no
Java Library:
Using javac ............... : javac
Using java ................ : java
Using ant ................. : /usr/bin/ant
Python Library:
Using Python .............. : /usr/bin/python
PHP Library:
Using php-config .......... :
Ruby Library:
Using Ruby ................ : /usr/bin/ruby
$ sudo make check
.
.
.
$ sudo test/test.sh
.
.
.
$ sudo make install
.
.
.
Step3. IDL 생성
인터페이스를 위한 method를 생성해 주는 단계 입니다.
hello.thrift
namespace cpp hello
namespace java co.kr.mycompany.hello.thrift
namespace php hello
namespace perl hello
namespace py hello
service HelloService {
string greeting(1:string name, 2:i32 age)
}
$ thrift --gen java --gen cpp --gen py --gen perl --gen php hello.thrift
기타 서버 & 클라이언트 쪽 구현은 상단에 있는 지난 POST 에 잘 설명해 두었습니다.
.by rocksea
'Developer' 카테고리의 다른 글
[nodejs] connect 3.0 업데이트. (0) | 2014.03.12 |
---|---|
[nodejs] express session 설정. (1) | 2014.03.12 |
[linux] cpu affinity. (0) | 2014.02.19 |
[i/o] Level Trigger, Edge Trigger (0) | 2014.02.13 |
[Oracle] Character set 변경. (6) | 2014.02.11 |
- Total
- Today
- Yesterday
- ubuntu
- hadoop
- mongoDB
- Python Django
- JBOSS
- hdfs
- 스페인 여행
- k8s
- 여행
- it
- memcached
- maven
- 비지니스 영어
- Python
- 조동사
- 비교구문
- 대명사 구문
- Business English
- 가정법
- redis
- NGINX
- nodejs
- 도덕경
- 다낭
- AWS
- 영문법
- 해외여행
- 베트남
- 영작
- PostgreSQL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |