반응형

JavaScript 13

elasticsearch-js로 인데스가 존재하는지 확인하는 방법

nodejs에서 elasticsearch-js를 이용해 데이터 분석, 취합을 할 때, 잘못된 인덱스 이름, 혹은 존재하지 않는 인덱스 이름으로 인해 문제가 발생하는 경우가 있습니다. 이 경우 검색이 중단되고 404 에러가 발생하며 중단됩니다. 에러를 막기위해 검색 시 아래 예제와 같이 ignore키워드를 지정할 수 있습니다. const result = await client.search({ index: 'my-index', from: 20, size: 10, body: { foo: 'bar' } }, { ignore: [404], maxRetries: 3 }) 이 방법은 에러를 막을 수 있지만, 검색이 중단되는 것은 동일합니다. 예를들어 ['seoul', 'busan', 'jeju']라는 인덱스들에서 어..

Nodejs 로 현재 환율 정보 확인 코드 만들기

유료 API 사이트에서 무료 플랜을 이용한 방법과 웹 사이트에서 크롤링하는 두 가지 방법을 정리해 보았습니다. 웹 사이트에서 크롤링 하기 우리은행 사이트 spot.wooribank.com/pot/Dream?withyou=FXXRT0021 에 USD, JPY, EUR 정보가 공유되어 있습니다. 사용자들의 웹 사이트에 무료로 공개할 수 있게 지원해주는 정보인데, 여기서 필요한 정보만 추출해 보았습니다. 저의 주 거래은행은 우리은행입니다. ^^ (환율 변동이 일반적인 상황에서는 크지 않으므로 해당 사이트에 부하를 주지 않기 위해 하루에 한번만 검색해서 저장 후 사용하실 것을 적극 권장드립니다.) 해당 사이트의 html 코드를 가져오기 위해 axios를, DOM Selector로 Cheerio를 사용합니다. h..

Collo - slideshare 링크 공유

Collo를 좀 더 알기쉽게 전달하기 위해 개요 및 샘플들을 제작하여 SlideShare에 공유 중입니다. 이 글에서도 링크를 추가하여 계속 업데이트 하도록 하겠습니다. https://www.slideshare.net/winninghabit/collo-01-kr Collo -01 , kr Collo를 소개합니다! https://github.com/blackwitch/Collo www.slideshare.net https://www.slideshare.net/winninghabit/collo-02-kr 불러오는 중입니다...

Collo - 실시간 마이그레이션 툴

한동안 회사에서 진행한 Data Warehouse(이하 DW) 및 통계시스템 구축이 최근 완료되었습니다. 그리고 데이타를 저장한 Database(이하 DB) 종류, 저장된 로그의 파일 포멧 그리고 서버 위치도 다른 데이터들을 한 곳으로 손쉽게 모으기 위해 만들었던 천 줄 내외의 Javascript 코드를 정리해서 Collo라는 이름으로 github에 며칠 전 공개하게 되었습니다. Collo의 주 목표는 실시간으로 누적되는 데이터를 해당 시스템의 부하없이 DW로 가져오는 것이었으며, 마이그레이션에 대한 모든 기능을 포함한 솔루션이 아닌 손쉽게 수정, 조작 가능한 작은 유틸리티 제작을 목표로 한 프로젝트였습니다. 그리고 데이타를 가져오는 성능 보다는 안정성에 더 중점을 두어 제작하였습니다. 그리고 유지보수를..

node-mssql의 useUTC 옵션 설정

(* 이 글은 NodeJS 10.15.1 을 기준으로 작성되었습니다. ) 한국은 GMT +9 를 기준으로 시간을 사용하며, 데이터를 다룰때도 일반적으로는 GMT +9 기준을 사용합니다. 단일 솔루션만 다룰 때는 거의 신경쓰지 않겠지만, 이기종 혹은 여러 솔루션을 한번에 컨트롤 할 때는 상당히 거슬리는 문제가 됩니다. 특히 월드 와이드 서비스를 하고 있다면요. 대부분의 DB에서 UTC 기준으로 값을 저장하기 때문에 큰 문제는 없지만, 간혹 일부 npm에서 datetime 자료형을 다룰 때 미묘한 차이가 있습니다. node-mysql(구분을 위해 임시로 node-를 붙였습니다)의 경우, 저장된 datetime 값을 그대로 가져오기 때문에 전혀 문제가 없는데 반해, node-mssql은 useUTC옵션을 제대..

JavaScript의 Date 객체 정리

JavaScript의 Date 객체는 아래의 특징을 가지고 있습니다. 다른 언어에서도 크게 다르지 않습니다. - Date 객체는 UTC, 1970년 1월 1일 0시를 기준으로 하며, 밀리세컨트로 시간값을 기록합니다. - 만약 입력된 값이 유효하지 않다면 NaN값이 반환됩니다. - 월은 0부터 시작하며 11이 12월이 됩니다. - 요일은 0부터 시작하며 0이 일요일, 6일 토요일이 됩니다. * 크로스 브라우징 문제가 일부 있습니다. 작성 전 이에 대한 문제를 검토해 보시기 바랍니다. (https://www.google.com/search?q=js+date+cross+browser+format) 보다 상세한 내용은 이 곳(https://developer.mozilla.org/ko/docs/Web/JavaSc..

자주 사용하는 시간 관련 코드들

자주 사용하는 기능들 모아서 정리한 코드입니다. 필요하신 분들은 가져다 그대로 사용하시면 됩니다. Date.prototype.mmddyyyy = function() { return (this.getMonth() + 1) + "/" + this.padZero(this.getDate()) + "/" + this.padZero(this.getFullYear());};Date.prototype.yyyymmdd = function() { return this.getFullYear() + "/" + this.padZero((this.getMonth() + 1)) + "/" + this.padZero(this.getDate());};Date.prototype.mmddyyyytime = function(){ retur..

Elasticsearch를 Node.js에 통합하기

다음과 같은 순서로 작성되어 있습니다. 1. 개요 2. 준비 3. 쿼리 알아보기 4. nodejs와 통합 5. chart로 표현하기 1. 개요 최근 회사에 Elasticsearch(이하 ES)로 통계 시스템을 구축했습니다. Mysql MyISAM 엔진으로 구축하던 것과 비교해보면 엄청나게 편리해졌네요. Kibana로 쿼리하고 결과를 손쉽게 출력하여 담당자가 아닌 컨텐츠 개발자도 자신이 보고 싶은 결과를 바로 추가하여 볼 수 있을 정도니, 작은 개발사에는 이보다 더 좋은 솔루션이 있을까 싶네요. 그런데 ES에서 나온 다른 두 결과의 비교가 필요한 경우 불가능한 경우가 있어서 조금 아쉽더군요. 그래서 이를 직접 만들어 보기로 했습니다. 시간을 기준으로 데이터를 비교하는 경우는 timelion을 사용하면 되나..

amazon-cognito-identity-js 사용 시 주의 사항

javascript로 aws cognito 연동 할 때, app 설정에서 "클라이언트 보안키 생성" 옵션을 해제해야 한다. https://github.com/aws-amplify/amplify-js/tree/master/packages/amazon-cognito-identity-js "When creating the App, the generate client secret box must be unchecked because the JavaScript SDK doesn't support apps that have a client secret." 클라이언트 보안 옵션은 기본으로 체크 되어 있어서 생각없이 넘어 갔는데, 켜져 있으면 "Unable to verify secret hash for client ...

Error: listen EACCES 0:0:0:0:80

(windows 환경) nodejs에서 80포트 열어 쓰던 어플이 있는데, 어느날 갑자기 error: listen EACCES 0:0:0:0:80 에러를 뱉으면서 안된다. --a netstat -ano 하면 ip,port 그리고 해당 포트를 사용하는 PID를 볼 수 있다. 찾아보니 4 ... System이 쓰고 있다고. -- ㅁ.... 모지.. 이래저래 찾아보니.. 최근 로컬에 mssql을 설치했는데.. SQL Server Reporting Services가 내부적으로 80포트를 쓰고 있었네 --; 서비스 중지 시키니 잘 돌아감. 휴 ~

반응형