couchbase 

Couchbase를 Cluster 모드로 설치한다. 설치환경은 아래와 같다. VirtualBox로 3개의 VM을 만들었다. 각 VM은 2G 이상의 메모리가 필요하다. 메모리가 너무 작으면 실행이 안된다. CouchBase docker Image CouchBase Enterprise 5.03개의 VM에 도커로 설치했다.# docker run -d --nam...

Docker Swarm 모드에서 compose 애플리케이션 배포 

이 문서의 내용을 테스트하기 위해서는 아래의 내용들을 알고 있어야 한다. 도커 컴포즈를 이용하면 서비스 스택을 만들어서 애플리케이션을 배포할 수 있다. 하지만 도커 컴포즈는 호스트레벨에서만 작동을한다. 도커 스웜을 이용해서 컴포즈 서비스 스택을 도커 스웜 클러스터에 배포해보기로 했다.VirtualBox를 이용해서 아래와 같이 테스트 환경을 만들었다.3...

FOTA 

Over-the-air programming(OTA)는 모바일폰, 셋탑박스, IoT 등의 디바이스에서, 설정데이터와 소프트웨어 등을 배포하기 위해 사용하는 다양한 방법들이다. 최신의 스마트폰들은 운영체제에 내장된 무선 업데이트 기능을 이용해서 USB등을 이용해서 컴퓨터에 연결하는 대신 무선 인터넷을 이용해서 소프트웨어 업데이트를 수행 할 수 있다. FOT...

GEOADD 

사용 가능한 버전 시간 복잡도 위도(latitude)와 경도(longitude)를 포함하는 지리정보 데이터를 지정된 키에 추가한다. 저장된 지리정보 데이터는 GEORADIUS, GEORADIUSBYMEMBER명령을 이용해서 검색 할 수 있다. 이 x, y를 인수로 취한다. 반드시 경도,위도 순서로 설정해야 한다. 유효 경도는 -180에서 180 유효 ...

GeoHash 디버거 

메모리에 올린다고 하면 의 ZADD 가 적당하겠다. 하지만 데이터양이 많아진다면, 메모리에는 높은 중요도를 가지는 데이터들을 올리고 그렇지 않은 데이터는 SQL 혹은 NoSQL에 저장을 해야 할거다. 프로세스는 아래와 같다. 1. 요청을 하면 에서 먼저 검색한다. 1. REDIS에서 찾을 수 없다면, 원본이 저장된 DB에서 읽는다.REDIS의 경우 아...

NginX를 이용한 PHP-FPM 서비스 구성 

PHP를 사용하지 않은지 10년은 된 것 같지만, 어쩌다 보니 nginx 서버에 php를 조합해야 할 일이 생겨서 정리한다. 예전에는 LAMP(Linux,Apache,Mysql,PHP)였는데, nginx의 사용이 늘어나면서 LEMP(Linux, nginx, MySQL, PHP)가 대세인 것 같다. 나도 요즘에는 nginx만 사용한다. 처음에는 성능 때문에 ...

Naver Test 

...

Mysql Spatial Query 

R-트리 인덱스를 사용하기 위해서는 MyISAM테이블을 만들어야 한다. 다른 스토리지 엔진의 경우 B-트리 인덱스를 사용하는데, 정확한 값을 찾는 것에는 유용하지만 범위 스캔에는 효율적이지 않다. 공간 데이터의 경우 범위 검색을 많이 하므로 MyISAM 테이블을 만들자.CREATE TABLE restaurant ( name VARCHAR(80), categ...

Geohash 

어떻게 하면, 위치정보를 빠르게 찾을 수 있을까 ? 지구의 지역을 해시하면 어떨까 ? 해시 이거 한번에 찾을 수 있잖아. 하지만 위치의 경우, 주변위치도 찾을 수 있어야 하는데. 우리가 알고 있는 해시로는 이런 일을 할 수 없잖아 ? 그거야 해시 함수를 잘 만들면 되지 어떻게 ?01101 11111 11000 00100 00010라는 2진수가 있다고 가...

geojson 

GeoJSON은 (JavaScript Object Notation)을 기반으로 비 공간 속성과 간단한 지형지물을 표현하도록 설계된 공개 표준 포멧이다. 지형지물의 포인트(주소와 위치정보), linestring(거리, 고속도로, 경계), polygons(국가, 지방, 토지구역) 과 이들 타입의 조합을 지원한다. GeoJSON은 물리적인 세계의 실체뿐만 아니라...