설치 24

분산 코디네이터 Zookeeper(주키퍼) 소개

ZooKeeper란 무엇인가?조대협 (http://bcho.tistory.com) 소개 분산 시스템을 설계 하다보면, 가장 문제점 중의 하나가 분산된 시스템간의 정보를 어떻게 공유할것이고, 클러스터에 있는 서버들의 상태를 체크할 필요가 있으며 또한, 분산된 서버들간에 동기화를 위한 락(lock)을 처리하는 것들이 문제로 부딪힌다. 이러한 문제를 해결하는 시스템을 코디네이션 서비스 시스템 (coordination service)라고 하는데, Apache Zookeeper가 대표적이다. 이 코디네이션 서비스는 분산 시스템 내에서 중요한 상태 정보나 설정 정보등을 유지하기 때문에, 코디네이션 서비스의 장애는 전체 시스템의 장애를 유발하기 때문에, 이중화등을 통하여 고가용성을 제공해야 한다. ZooKeeper는..

grpc 설치하기

Google RPC 설치하기(조대협 http://bcho.tistory.com) 지난 GRPC 소개에 이어서 오늘은 JAVA에서 GRPC를 사용하기 위한 설치 방법을 설명한다. https://github.com/grpc/grpc-common/tree/master/javahttps://github.com/grpc/grpc-commonhttps://github.com/grpc/grpc-common/blob/master/java/javatutorial.mdhttps://github.com/grpc/grpc-java 글들을 참고하였으며, 컴파일 환경 설정등을 위해서 생각보다 시간이 많이 소요된다. (삽질,Visual Studio 설치 포함 한 2~3시간 걸린듯) grpc hello world / java grp..

프로그래밍 2015.04.02

Numpy Install

NumPy 설치 하기 파이썬으로 머신 러닝을 구현하기 위해서는 수학 라이브러리인 numpy가 필요하다 설치는 http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy 에서 *.whl 파일을 다운로드 받은후pip install numpy-1.9.2rc1+mkl-cp27-none-win_amd64.whl (64 비트 기준)으로 설치 하면 된다. 설치후 확인을 위해서는 위와 같이 from numpy import * 를 한후에, random.rand(4,4)가 제대로 실행되는지 확인하자 참고머신러닝이나 빅데이타 분석을 위해서는 NumPy 뿐만 아니라 matplot등 다양한 수학 모듈을 깔아야 하는데, 방화벽등이 있거나 하면 깔기가 매우 까다롭다. (의존성 관계도 복잡하고). 그래서..

Ruby 개발환경 설정하기 (윈도우7에서)

Windows 7에서 Ruby 개발환경 설정하기 MongoDB in Action 몽고디비 인 액션저자카일 뱅커 지음출판사제이펍 | 2012-04-20 출간카테고리컴퓨터/IT책소개MongoDB나 NoSQL에 경험 없는 개발자를 위한 쉽고 실전... 이책을 공부하다보니, 예제가 ruby라서, 예상치 않게 Ruby를 살펴보고 있는데, 윈도우즈7에서 Ruby 개발 환경 설정하는 것이 쉽지 않아서 설정 방법을 요약하고자한다. 1. Ruby Install 하기http://rubyinstaller.org/downloads/ 에서 Ruby Install 바이너리를 받아서 설치한다. 2.2.0-p481(x64)여기까지는 보통 문제 없이 잘된다. 향후에 모듈을 설치하려면 보통 컴파일 에러가 나오면서 잘 안되는 경우가 많다..

카우치베이스(Couchbase) 서버-#4 뷰(View) 이해하기

Couchbase Server#4. 뷰(View) 이해하기 조대협 http://bcho.tistory.com 뷰는 카우치베이스의 아주 강력한 기능중의 하나이다. RDBMS의 뷰의 개념과 유사한 개념으로, 원본 데이터로부터, 필터링을 통하여 원하는 형태의 데이터로 변환하여 보여주는 일종의 읽기 전용 테이블과 유사한 개념으로 보면 된다. 이를 통해서 키-밸류 스토어 기능만 제공하는 일반 NoSQL에 비해서 filtering 뿐만 아니라, Indexing,grouping,ordering과 같은 다양한 기능을 이 뷰를 이용하여 사용할 수 있다.카우치베이스의 뷰는 원본 데이터에서 자바스크립트로된 맵&리듀스(Map&Reduce) 함수를 통해서 데이터를 정재한 후에, 뷰로 만들어낸다. 간단하게 개념을 잡아보면 다음과..

카우치베이스(Couchbase) 서버-#3 node.js를 이용한 카우치베이스 서버 CRUD 구현하기

Couchbase Server#3. node.js를 이용하여 카우치베이스에 CRUD 구현하기 조대협 http://bcho.tistory.com SDK를 이용한 프로그래밍 이제, 프로그래밍 언어를 이용해서 실제로 카우치베이스에 데이타를 저장해보자. 카우치베이스에서 지원하는 데이터 타입 앞서 예제에서 카우치베이스 웹콘솔을 통해서 JSON 도큐먼트를 저장해봤다. 카우치베이스는 JSON 도큐먼트뿐만 아니라, 키-밸류 스토어 형식으로 일반 string(문자열), integer(숫자)도 저장할 수 있다. JSON 도큐먼트 이외의 데이터 형은, 콘솔에서는 테스트가 불가능하고, SDK를 이용해서 프로그램을 작성해서 테스트를 해야 한다. SDK를 이용한 데이터 접근 카우치베이스의 데이타를 접근하기 위한 메서드들은 다음과..

카우치베이스(Couchbase) 서버-#2 기본 개념 잡기

Couchbase Server#2 기본 개념 잡기 조대협 http://bcho.tistory.com개념 잡기 카우치베이스 서버 설치가 끝났으면 기본적인 개념을 잡아보도록 하자. Document 기반의 Key-Value 스토어 카우치 베이스느 키, 밸류 스토어이다 하나의 유니크(Unique)한 키에, 값을 저장하는 방식이다. 저장 되는 값은 JSON 도큐먼트가 저장된다. 키는 최대 250 바이트, 값(밸류)의 경우에는 카우치베이스 버킷의 경우 20MB, Memcached 방식의 버킷의 경우 1MB 까지 저장이 가능하다. 저장할때, 키와 값뿐만 아니라 메타데이타가 같이 저장되는데, 메타 데이타에는 CAS,TTL,Flag 값 3가지가 저장된다.저장할때, 키와 값뿐만 아니라 메타데이타가 같이 저장되는데, 메타 ..

카우치베이스(Couchbase) 서버-#1 소개 및 설치하기

Couchbase Server#1 소개 및 설치 조대협 http://bcho.tistory.com 근래에 여러 NoSQL이 소개되었지만 그중에서 좋은 솔루션인데도 불구하고 그다지 국내에서는 널리 알려지지 않은 카우치베이스에 대해서 소개하고자한다. 모바일 게임중에 유명한 쿠키런의 경우 카우치베이스를 백엔드로 사용하고 있는데, 안정성이나 성능등이 매우 뛰어나고, 사용하기 또한 매우 쉽다. 오늘은 고성능 NoSQL 서버인 카우치베이스(CouchBase) 에 대해서 소개하고자 한다. 소개 예전에 메모리 캐쉬 솔루션인 memcached에 디스크 persistence 기능을 추가하여 membase라는 솔루션이 있었는데, 이 제품에 Apache의 카우치디비(CouchDB)를 기반으로 새롭게 만든 솔루션이 카우치베이스..

빠르게 훝어 보는 node.js - #5 웹개발 프레임웍 Express 2/2

빠르게 훝어보는 node.js#5 - Express 2/2조대협 (http://bcho.tistory.comFile upload 및 download 처리Express는 파일 업로드 기능을 제공한다. Express 의 경우, 파일을 tmp directory에 업로드한후, 업로드가 끝나면 이벤트를 주는 형태이다. 그래서, 파일 업로드가 끝나면 파일 저장 디렉토리로 옮겨 줘야 한다. 그러면 간단하게 코드를 살펴보자. express에서 업로드되는 file stream은 multipart 형태로 업로드가 된다. 이 multi part request stream을 인식하려면, express세팅에 bodyParser 미들웨어를 사용함을 명시해줘야 한다.var app = express();app.use(express...

빠르게 훝어 보는 node.js - #2 설치와 개발환경 구축

빠르게 훝어보는 node.js#2 - 설치와 개발환경 구축조대협 (http://bcho.tistory.comNode.js 설치하고 개발환경 설정하기다운로드 하기http://www.nodejs.org 페이지에서 install 버튼을 누르면 OS에 맞는 인스톨러를 다운로드 해준다. 다음으로 installer를 실행한다. 설치가 되었으면, 설치된 디렉토리를 PATH에 추가한다. set PATH=%PATH%;c:\dev\was\nodejs자아 이제 node.js가 설치되었는지 확인하자. node.js는 대화형 cli를 제공한다. 설치를 끝냈으면 이제 간단한 웹서버를 만들어보자var http = require('http');http.createServer(function(request, response) {res..