아파치 스리프트
![]() 스리프트(Thrift)는 인터페이스 정의 언어이자 이진 통신 프로토콜[2]로서 수많은 언어를 위한 서비스의 정의 및 생성에 사용된다.[3] 원격 프로시저 호출(RPC) 프레임워크를 형성하며 페이스북에서 "스케일링이 가능한 언어 간 서비스 개발"을 위해 개발된 것이다. 크로스 플랫폼 서비스 빌드를 위해소프트웨어 스택을 코드 생명 엔진과 결합하고 있으며 이로써 액션스크립트, C, C++,[4] C#, 카푸치노,[5] 코코아, 델파이, 얼랭, Go, 하스켈, 자바, Node.js, 오브젝티브-C, OCaml, 펄, PHP, 파이썬, 루비, 스몰토크를 포함한 다양한 언어와 프레임워크로 작성된 응용 프로그램들을 연결할 수 있다.[6] 페이스북에서 개발되었으나 현재는 아파치 소프트웨어 재단의 오픈 소스 프로젝트이다. 이 구현체는 2007년 4월 페이스북이 출시한 기술 논문에 기술되었으며 현재 아파치에서 호스팅되고 있다.[7][8] 스리프트 서비스 생성스리프트는 C++로 작성되어 있으나 수많은 언어를 대상으로 코드를 만들 수 있다. 스리프트 서비스를 만들려면 이를 기술하는 스리프트 파일을 작성한 다음 대상 언어로 코드를 생성한 이후 서버 시작을 위한 일부 코드를 작성하고 클라이언트로부터 이 코드를 호출해야 한다. 아래는 이러한 서술 파일의 코드 예시이다: enum PhoneType {
HOME,
WORK,
MOBILE,
OTHER
}
struct Phone {
1: i32 id,
2: string number,
3: PhoneType type
}
service PhoneSvc {
Phone findById(1: i32 id),
list<Phone> findAll()
}
스리프트는 이러한 서술 정보 외에 코드를 생성한다. 이를테면 자바에서 같이 보기각주
외부 링크
|
Index:
pl ar de en es fr it arz nl ja pt ceb sv uk vi war zh ru af ast az bg zh-min-nan bn be ca cs cy da et el eo eu fa gl ko hi hr id he ka la lv lt hu mk ms min no nn ce uz kk ro simple sk sl sr sh fi ta tt th tg azb tr ur zh-yue hy my ace als am an hyw ban bjn map-bms ba be-tarask bcl bpy bar bs br cv nv eml hif fo fy ga gd gu hak ha hsb io ig ilo ia ie os is jv kn ht ku ckb ky mrj lb lij li lmo mai mg ml zh-classical mr xmf mzn cdo mn nap new ne frr oc mhr or as pa pnb ps pms nds crh qu sa sah sco sq scn si sd szl su sw tl shn te bug vec vo wa wuu yi yo diq bat-smg zu lad kbd ang smn ab roa-rup frp arc gn av ay bh bi bo bxr cbk-zam co za dag ary se pdc dv dsb myv ext fur gv gag inh ki glk gan guw xal haw rw kbp pam csb kw km kv koi kg gom ks gcr lo lbe ltg lez nia ln jbo lg mt mi tw mwl mdf mnw nqo fj nah na nds-nl nrm nov om pi pag pap pfl pcd krc kaa ksh rm rue sm sat sc trv stq nso sn cu so srn kab roa-tara tet tpi to chr tum tk tyv udm ug vep fiu-vro vls wo xh zea ty ak bm ch ny ee ff got iu ik kl mad cr pih ami pwn pnt dz rmy rn sg st tn ss ti din chy ts kcg ve
Portal di Ensiklopedia Dunia