반응형

NoSQL 6

[MongoDB] C/C++ BSON 한글 문자열 입출력

MongoDB는 BSON을 사용합니다. BSON에서 문자열은 UTF-8을 사용합니다. UTF-8과 ANSI의 관계상 영문만 사용한다면 별도의 변환은 필요 없습니다. 그러나 일반적으로 사용하는 한글과 같은 멀티 바이트 문자열이나 유니코드 문자열은 별도로 UTF-8로 인코딩하여야 합니다. 또한 MongoDB에 저장된 문자열을 사용하기 위하여 UTF-8문자열을 한글과 같은 멀티 바이트 문자열이나 유니코드로 디코딩해야 합니다. 참고로 MongoDB C/C++ Driver API에 한글과 같은 멀티 바이트 문자열을 인자로 넣으면 바이트 수가 틀리다는 류의 에러가 나면서 API가 실행되지 않습니다. C/C++에서 한글과 같은 멀티바이트 문자열을 UTF-8로 변환하는 방법은 아래와 같습니다. 우선, boost 라이브..

[MongoDB] Mongo C/C++ Driver 관련 자료

Mongo C/C++ Driver란? MongoDB를 C/C++에서 사용하기 위한 일종의 SDK입니다. MongoDB C/C++ Driver 인스톨 및 컴파일 방법 Mongo C Driver는 기본적으로 다운받아서 컴파일해서 사용해야 합니다. 그리고 현재는 64bit 버전만을 지원합니다. 32bit는 ODBC 드라이버를 사용해야 할 거 같은데 이것은 검색해보시면 됩니다. Mongo DB C인스톨 및 컴파일 관련 포스팅은 아래와 같습니다. 참고자료: [MongoDB] 윈도우용 MongoDB C/C++ Driver 컴파일 및 인스톨 하기 BSON(Binary JSON) BSON은 JSON의 binary형태로 속도가 빠릅니다. Mongo C/C++ Driver는 기본적으로 JSON이 아닌 BSON을 사용합니다..

[MongoDB] 윈도우용 MongoDB C/C++ Driver 컴파일 및 인스톨 하기

MongoDB를 C/C++에서 사용하기 위해서는 C용 MongoDB C Driver와 C++용 MongoDB C++ Driver가 있어야 한다. MongoDB C와 C++ Driver는 MongoDB를 사용하기 위한 일종의 라이브러리라고 볼 수 있다. 근데 이 드라이버가 윈도우에서는 MSI나 ZIP파일 형태로 제공되지 않아 소스를 받아서 컴파일 해야 한다. 또한 해당 드라이버는 현재 시점에서 64bit만 지원한다. 여기서는 Visual Studio 이용하여 드라이버를 컴파일 하는 방법을 살펴보기로 하겠다. 1. 윈도우용 CMake를 미리 다운받아 인스톨하여 놓는다. 참고로 인스톨 전에 기존 버전이 있으면 언인스톨해야 하며 64bit 버전을 인스톨한다. 이때 인스톨된 CMake는 PATH상에 존재하여 어디..

[서평, 소개] 클라우드 디자인 패턴(Cloud Design Patterns)

Cloud Design Pattern은 MS에서 나온 책자로 NoSQL을 활용한 최신 트랜드의 모바일용 서버를 만드는 다양한 패턴들에 대한 설명을 하고 있습니다. 패턴이라는 표현을 썼는데 우리가 흔희 아는 GOF의 Design Pattern처럼 코딩에 대한 이야기라기 보다는 좀 더 큰 범위의 모바일 서버 구성 요소에 대한 알고리즘에 관한 책이라고 보시면 될 듯 합니다. 최신 트랜드를 담고 있는 책인 관계로 CQRS, Materialized View, Event Sourcing 등등 최근에 논의되고 있는 많은 모바일 서버 디자인들에 대한 설명을 담고 있습니다. 참고로 이 중 상당수의 내용은 NoSQL 기반의 패턴입니다. 책 자체는 전반적으로 조금은 거대 시스템에서 사용할 만한 기술들에 대한 이야기가 많은데..

[서평, 소개] NoSQL

NoSQL은 이미 모바일 개발에는 흔한 개발 솔루션 중에 하나이다. 몽고DB, Redis 등등 이미 몇 년전까지는 신기술이라고 불리던 것들은 어느세 자리를 잡아가는 형세이다. 이는 NDC등 각종 컨퍼런스에서 고생하면서 튜닝하거나 부족한 많은 툴들을 만든 발표만 보아도 그렇게 느껴집니다. 솔직히 NoSQL은 Key-Value로 이루어지는 해쉬 자료 구조 및 JSON 포맷, 분산처리를 위한 샤딩 처리, 적절한 사용을 위한 CAP 정도를 이해하고 있으면 그 다음부터는 어떻게 사용한 것인가를 고민하면 된다고 봅니다. 이런 NOSQL을 아직 해보지 않았지만 알아야 하고 어떻게 기본 개념을 잡을까가 고민이라면 짧고 간략하게 잘 설명한 아래 책을 소개할까 합니다. 2명의 공저가 작성한 책으로 그 중 한명이 리팩토링책..

라인 레인저스(Line Rangers) 서버 구조 소개

라인 레인저스는 라인쪽에서 만든 위와 같은 형식의 게임입니다. 조금 된 글이기는 하지만 라인 레인저스에 대한 기본 서버 구조에 대해서 잘 설명한 글이 있어서 소개할까 합니다. 모바일 서버는 온라인 게임보다 사용 기술의 폭이 넓어서 워낙 다양한 기술을 사용하기에 어떤 것이 정석이라고 말하기는 힘들지만 기본 골격 잡을 때 참고 자료로는 훌륭한 듯 합니다. 라인 레인저스 서버와 같은 경우는 MySQL, Redis (Cache) 그리고 Tomcat을 사용한 것으로 보아 Java쪽 Http 관련 기술을 사용한 듯 보입니다. [LINE Rangers 신입사원의 서버 분석기] - 서버 구조 및 인프라 환경 LINE Rangers 게임 클라이언트/서버 아키텍쳐 세미나 PPT 뒤에는 서버 관련 내용이 있는데 대부분 위 ..

반응형