본문 바로가기

반응형

분류 전체보기

(32)
NAS Synoloy DS1621+ 구매/설치 후기 이번에 롯데하이마트에서 Synology 시리즈 제품을 할인하더군요. 마침 개발과 서비스 운영을 위해 나스(NAS)가 필요한 상황이라 질렀습니다. 무려 98만원에요ㅎㄷㄷ;; 원가 130만 원인걸 감안하면 저렴하지만 여전히 사악한 가격입니다. 거기에 디스크는 별도라 2TB짜리를 별도로 구매했습니다. 자취하고 있는 집은 장소도 협소하고, 이사할 때마다 들고 가야 하는 부담이 있어서 본가에 설치했습니다. 구매한 NAS와 Seagate 디스크입니다. 최초 포장을 까고 나면, 저렇게 손잡이가 달린 박스가 나옵니다. DS1621+ 구성품입니다. 생각보다 조촐해서 놀랍습니다. 매뉴얼도 그림으로만 구성되어 설치법만 나와있어 굉장히 간단히 작성되어 있었습니다. 우측에 하드디스크는 DS1621+ 구성품은 아니고, 별도로 구..
빗썸테크아카데미 수강후기 보호되어 있는 글입니다.
Elasticsearch 복합명사를 공백포함 검색하는 방법 검색기에서 복합명사를 검색시, 사람들은 보통 띄어쓰기 구분 없이 입력하여, 둘 다 검색되기를 기대합니다. 예를 들어, "홍대입구" 와 "홍대 입구" 처럼요. 하지만, Elasticsearch에서 설정된 기본 필드를 이용하면, 기대했던 결과가 나오지 않는데요. 이 문제는 인덱스 생성시, pattern_replace를 사용하여 해결할 수 있습니다. 아래와 같이 교체대상의 패턴을 pattern 필드에 넣고, 교체문자를 replacement 필드에 입력합니다. 저는 여기서 정규식으로 "하나 이상의 공백"을 제거하는 패턴을 넣었습니다. { "analysis": { "char_filter": { "whitespace_remove": { "type": "pattern_replace", "pattern": "\\s+"..
docker-elk에 nori 설치하기 Dockerfile을 아래와 같이 작성합니다 #vim Dockerfile FROM docker.elastic.co/elasticsearch/elasticsearch:7.14.1 RUN bin/elasticsearch-plugin install analysis-nori 작성된 Dockerfile을 빌드합니다. #docker build -t hses:0.3 . 빌드된 이미지를 확인합니다. #sudo docker images docker-compose.yml에 빌드된 이미지를 등록 후, docker-compose 파일을 실행합니다. #docker-compose -f docker-compose.yml up -d 실행정지는 아래와 같이 합니다. #docker-compose -f docker-compose.yml ..
Google map API 마커 성능개선에 대하여 얼마 전까지 회사에서 Google map API를 사용해서 지리정보를 표현해야 하는 기능을 만들었습니다. 많은 사람들이 사용하는 API라 큰 고민 안하고 사용하면 될 줄 알았는데, 무지성으로 사용하다 보니 역시 성능이 걸림돌이 되더군요. 마커의 개수가 많아지다 보니, 지도를 불러오는데 시간이 엄청걸리더니 급기야 응답이 없는 상황까지 이르렀습니다. 오늘은 이 지도위에 마커를 표현할 때, 효율적으로 표현할 수 있는 방법에 대해서 다룰까 합니다. 굉장히 쉽고 일반적이면서, 효과를 많이 볼 수 있는 방법들 위주로 3가지를 소개하려고 합니다. 마커클러스터 이용하기(필수) 뷰포인트(혹은 중심점)을 기준으로 반경 몇 km 내 마커만 로드하기(필수) 공간DB(Geography) 쿼리 이용하기(선택) 1. 마커클러스터 ..
Bithumb Trading-bot 프로토타입 개발완료 기획했던 Trading-bot의 실체가 갖춰져서 전체기획을 공개할까 합니다. 디자인에 자신이 없어 CSS는 적용하지 못했습니다ㅠ 감안하고 봐주세요. 우선 로그인 페이지 입니다. 사용자 계정은 bithumb 에서 발급받은 API키를 회원ID, 비밀번호로 사용합니다. 사용자계정을 시스템에서 따로 생성하지 않은 이유는 시스템운영에 필요한 사용자의 개인정보(자산보유수량, 주문이력, 매수/매도 금액)는 API를 통해 가져올 수 있기 때문입니다. 시스템에서 회원정보를 별도로 저장하지 않아, 보안에 안정적일 수 있겠단 생각이 들었습니다. 이 때 인증은 입력받은 API key의 ID(connect key)와 비밀번호(secret key)로 bithumb 회원정보 조회가 가능하면, 인증이된 것으로 간주합니다. 다음은 대..
C API strcat을 무조건 신뢰하면 안되는 이유 회사에서 한창 마이크로그리드 플랫폼 프로젝트 진행 중에 C로 개발된 통신 프로그램의 성능이슈가 있어, 성능개선 작업중에 발견했던 문제를 공유합니다. C에서 문자열을 합칠 때, 흔히들 내장 API로 제공되는 sprintf 혹은 strcat을 많이 사용합니다. 하지만, 우리가 사용하는 strcat은 누적해서 문자열을 더해나가는 조건에선 상당히 비효율적으로 문자열을 합친다는 거 알고계셨나요?? strcat은 기본적으로 destination으로 주어진 문자열을 처음부터 문자열의 끝을 의미하는 '\0'를 만날 때까지 탐색한 뒤, '\0'부터 입력으로 주어진 source 문자열을 더해나갑니다. 만약 아래와 같은 코드가 실행된다고 가정해 봅시다. #define MAX_BUF 1000000 int main() { ch..
Bithumb Trading-bot 프로젝트 소개 꽤 오래전 (작년 12월쯤)부터 암호화폐 자동매매 봇을 기획/개발하고 있습니다. 지금은 어느 정도 실체가 갖춰져서 프로젝트를 소개할까 합니다. 기능은 엄청 단순합니다. 사용자가 설정한 기준에 충족하면, 매수/매도를 자동으로 해주는 시스템이죠. 단, 여기서 매수조건은 사용자가 설정한 이동평균선 대비 현재가의 비율 매도조건은 수익률이 됩니다. 이동평균선은 과거 캔들그래프를 평균 내어 보는 추세지표로 사용됩니다. 주로 일봉을 기준으로 과거 5/20/60/120 일의 종가를 평균 내어 계산합니다. 즉, 이동평균선이 상승/하락한다는 의미는 곧 상승장/하락장을 의미하는 것이지요. 이동평균선은 시장의 추세지표로 사용한다고 했는데요, 현재 개발중인 Trading-bot은 사용자가 이동평균선 대비 비율을 지정해 매수하는..

반응형