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은 물리적인 세계의 실체뿐만 아니라...

REDIS Geo API 

REDIS 3.2부터 위치기반 데이터를 저장하고 꺼내기 위한 Geo API를 지원한다. (2017년 10월)현재 내가 사용하는 우분투 리눅스 17.04에 설치된 redis 버전은 3.2.1 이다. redis 서버에 접근한 다음 info 명령으로 확인 할 수 있다.yundream@home127.0.0.1# Serverredis_versionredis_git_...

HTML5 GeoLocation 

Geolocation API를 이용하면, 웹 어플리케이션에서 사용자 위치를 알아낼 수 있다. 사생활 침해의 가능성이 있기 때문에, 사용자 동의를 받는 과정을 거쳐야 한다. 사용할 수 있는 브라우저는 아래와 같다.||API ||Chrome ||IE ||FireFox ||Sapari ||Opera ||||Geolocation ||5.0-49.0(http), 5...

공간 데이터 

지구를 중심으로 하는 공간 데이터를 다루려고 하니, 생소한 용어가 한둘이 아니다. 정리를 해야 겠다.한 지점의 좌표 값은 어떤 측지계를 기준으로 하느냐에 따라 달라진다. 과거 우리나라에서 사용하던 측지계는 Tokyo를 중심으로 사용했다. 최근에는 WGS84(1984년에 만든 최신 Word Geodetic System 이다. WGS 1984 혹은 EPSGWG...

Go-swagger 

Go 언어로 만든 REST API의 문서화가 절실하다. GoDoc은 좋은 문서화 툴이긴 하지만 패키지 단위라서, API 레벨의 문서화에는 적당하지 않다. 주석을 문서화 하는 툴들은 API 스펙의 변화를 반영하지 못하기 때문에, 문서의 품질은 위키로 한땀 한땀 노가다 뛰는 것과 큰 차이가 없다. 그러다가 찾은게 다. 개발자가 API의 스펙을 만들면, 스펙으로...

Mongodb Authentication 

MongoDB의 기본 실행 설정은 "NoAuth"이다. 설정의 "auth=true"가 주석처리됐다.$ cat /etc/mongodb.conf....# auth = true....네트워크에 접근만 가능하다면, 누구든 데이터베이스에 접근 할 수 있다. 사설 네트워크라고 하더라도 취약점이 있을 수 있고 특히 내부 사용자일 경우 마음대로 접근 할 수 있으므로(보안...

Fluentd 

로그 분석 시스템으로는 ELK(ElasticSearch Logstash, Kibana)가 아마 가장유명 할 것이다. 로그 색인으로는 ElasticSearch, 대쉬보드 구성은 kibana로 구정된 것 같고, 결국 남는 선택지는 로그수집툴을 무얼로 할 것이냐 하는 거다. 나는 logstash 대신에, fluentd를 선택하기로 했다. 무슨 대단한 이유가 있어...

Mongodb Find 예제 

MongoDB를 이용 할 때 가장 짜증나는게 질의어 만들기다. 익숙함의 문제라고 하는 개발자도 있지만, SQL과 비교해서 보자면 근본적인 문제점을 가지고 있다. 요즘은 언어세대라는 용어를 별로 쓰지 않는 것 같은데, 이 분류를 따르자면 SQL은 4세대 언어다. 즉 인간의 언어와 매우 비슷한 문법을 가지고 있다는 이야기다. 아래 예제를 보자.SELECT pe...