반응형

분류 전체보기

    Rest Operator와 Spread Operator

    es6를 사용하면서 보게된 Rest Operator와 Spread Operator에 대해 정리를 해보자. Rest Operator기존에 리터널 문법을 사용하여 객체나 배열의 값을 변수로 바인딩하여 사용할 수 있었다. 근데 object라는 객체의 값이 많은경우에는 여기서 값을 모두 하나하나 뽑아내는건 어렵기 때문에 하나의 객체로 뽑아낼때 사용한다.123456789101112131415161718192021222324// 기존에 하나씩 속성을 뽑아서 사용하던 방식const object = {a : 'wedul', b : 'cjung', c : 'gglee', d : 'babo'};const {a, b} = object;console.log(a, b); #출력wedul, cjung // Rest Operato..

    인덱스 생성 및 데이터 삽입

    Elasticsearch에서 인덱스를 만들고 타입을 지정하여 데이터를 삽입하는 과정을 정리해보자. elasticsearch는 Restful API가 지원되기 때문에 BSL 쿼리를 이용하여 쉽게 데이터를 조작할 수 있다. 인덱스 생성Methd : put URLI : /{indexname}?pretty 생성된 인덱스 확인 Method : GET URI : _cat/indices?v kibana dev-tool에서 customer 인덱스가 생성된 것을 확인할 수 있다. 타입, Document 생성 및 데이터 추가 Method : PUT URI : /{indexname}/{typename}/[documentid]?pretty 만약 documentid를 넣지 않으면 랜덤으로 만들어서 삽입된다. 입력된 데이터 확인..

    백준 1929번 소수 구하기 문제

    일반적으로 소수 구하는 방식으로 진행하면 시간이 너무 걸려서 에러가 발생한다. 그래서 고민하던 중에이런 생각이 났다. 모든 수는 자신의 제곱근 이상의 수로 나눠지지 않기 때문에 자신의 제곱근까지 2이상의 자연수로 나눠지는지 판단하면 된다고 생각했다. 그 결과 된다.1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556import java.math.BigDecimal;import java.util.ArrayList;import java.util.List;import java.util.Scanner; public class Main { public static void main(..

    node.js로 구글 스프레드시트에 접속하여 데이터 가져오기

    자신의 구글 드라이브에 있는 엑셀 (스프레드시트)에 접속하여 데이터를 가져오는 방법을 알아보자. 우선 google-spreadsheet에 접근할 수 있는 Js를 다운로드 받자.1npm i google-spreadsheet --savecshttps://www.npmjs.com/package/google-spreadsheet 구글 스프레드 시트 만들기 구글 드라이브에 스프레드 시트를 만들자. 저 주소 URL에 블록처리되어있는 부분이 바로 키로 사용된다 구글 스프레드 시트 접속권한 사용자 생성 그리고 이 스프레드 시트에 접속할 수 있는 계정을 만들어야한다. https://console.developers.google.com 이곳에 접속하여 사용자를 만들고 키를 생성한다. (단순하게 들어가서 확인해보면 무리없이..

    router 경로 enumset 처럼 받는 방법과 테스트 사이트

    router.get('/wedul/:name(cjung|gglee), () => { }); 이런식으로 기재되어 있는 router 주소 매핑을 책에서 봤다. 자세한 설명이 없어서 알아보던 중 /wedul/ 주소 다음에 cjung 또는 gglee가 올 수 있는 형태라고 한다. 이걸 찾아보면서 router 경로를 만들고 테스트 까지 해볼 수 있는 사이트를 찾았다. http://forbeslindesay.github.io/express-route-tester/ Route에 규칙을 추가하고 path에 테스트할 규칙을 입력하면 key와 RegExp 그리고 결과까지 확인 할 수 있도록 제공해준다. 좋다.

    Docker Container에 Elasticsearch와 데이터 시각화 kibana 설치 및 연동

    회사에서 사용하는 Elasticsearch 공부를 위해서 docker에 설치해보고 시각화에 도움주는 Kibana도 같이 설치해보자. 우선 Elasticsearch에 대한 기본 정보는 API 문서에서 확인할 수 있다. https://www.elastic.co/guide/kr/elasticsearch/reference/current/gs-index-query.html Elasticsearch 설치해당 이미지에는 xpack도 포함되어있다. xpack은 보안, 알림, 모니터링, 보고, 그래프 기능을 설치하기 편리한 단일 패키지로 번들 구성한 Elastic Stack 확장 프로그램이다. 우선 이미지를 내려받는다.1docker pull docker.elastic.co/elasticsearch/elasticsearc..

    Elasticsearch 기본 정리

    Definition- 엘라스틱서치는 색인 기능이 추가된 NoSQL DBMS이다.- Full Text Search(전문검색)과 문서의 점수화를 이용한 정렬, 데이터증가량에 구애받지 않는 실시간 검색 등을 제공- 여러개의 노드로 구성된 분산시스템이다. 각 노드는 데이터를 색인하고 검색기능을 수행하는 단위 프로세스이다. 각 노드는 복사본과 원본을 다른 위치에 저장하고 있어서 안전하다.- 검색 시 서로 다른 인덱스의 데이터를 바로 하나의 질의로 묶어서 여러 검색 결과를 하나의 출력으로 도출할 수 있는 멀티 테넌시를 제공한다.- 모든 데이터는 JSON 구조로 저장된다.- RestFul API를 지원하므로 URI를 사용한 동작이 가능. (이런 Restful api를 활용한 쿼리를 dsl 쿼리라고 한다.) 용어Ind..

    node.js에 swagger 적용

    Spring Boot에 적용했었던 swagger를 node.js에도 적용해보자. spring boot에서는 자동으로 만들어졌으나, node.js에서는 Definition을 적용해줘야해서 귀찮다. 설정 방법을 알아보자. 설치 패키지12"swagger-jsdoc": "^3.0.2","swagger-ui-express": "^4.0.0"cs Definition정의 swagger에 대해 적용할 프로그램에 대한 정보와 path, api들 위치등에 대해 정의한 definition을 정의한다.1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768..

    node.js에서 winston.js를 이용하여 로그 남겨보기.

    node.js에서 로그를 남기기 위해 사용되는 logger중 대표적인게 winston이라고 한다. winston을 이용하여 간단하게 logger를 만들고 모든 동작에 대해 로그를 파일과 콘솔에 찍어보자. winston 설치1npm i winston —savecs logger 생성 https://github.com/winstonjs/winston위에 github에 나와있는 예제를 사용하여 그대로 logger를 만들어보자.123456789101112131415161718192021222324252627282930313233343536373839404142#logger.js/** * Created by wedul on 2018. 8. 30. */'use strict'; const winston = requir..

    테스트 모듈 Assert 정리

    Assert는 node.js의 단위 테스트를 하기위해서 제공되는 테스트 모듈이다. 해당 모듈의 주요 메소드를 정리해보자. Assert 메소드 정리 // 모듈 로드 const assertion = require('assert');assertion.ok(object)인자값이 true가 아니면 에러assertion.ifError(object)인자값이 false가 아니면 에러assertion.equal(object, object) 두 개의 인자를 == 으로 비교 assertion.notEqual(object, object)두 개의 인자를 != 으로 비교assertion.staticEqual(object, object)두 개의 인자를 === 으로 비교assertion.notStaticEqual(object, ob..

반응형