본문 바로가기

프로그래밍/Node.js

(6)
[Node.js] 테스트 프레임워크 및 부가 라이브러리 알아보기 1. Jest 1) 개요 - 간단함에 중점을 둔 자바스크립트 테스트 프레임워크 - 사용처: Babel, Typescript, Node, React, Angular, Vue 등 - Official: https://jestjs.io 2) 특징 - 별도의 설정 없이 사용할 수 있으며 커맨드 라인 옵션을 사용할 수 있다. - 각각의 테스트가 독립적으로 병렬 수행 되기 때문에 빠르고 안전하다. - --coverage 옵션을 사용하면 테스트 코드가 아닌 프로젝트 코드를 포함한 코드 커버리지 정보를 출력할 수 있다. - 쉽게 Mock Function을 선언할 수 있다. - Babel과 연계해서 테스트 작업을 수행할 수 있다. 3) 사용 방법 - 테스트 함수 선언 const sum = require('./sum'); ..
[Node.js] Nodemon이란? - Node.js 기반의 어플리케이션 개발시 파일 변경이 감지될 때 자동으로 재시작하도록 도와주는 툴 - npm: https://www.npmjs.com/package/nodemon - 사용 방법: npm을 통해 설치 후 기존에 'node -' 로 실행하던 명령어를 'nodemon -'으로 변경해주면 된다. - 옵션 --config file ............ alternate nodemon.json config file to use -e, --ext ................ extensions to look for, ie. js,jade,hbs. -x, --exec app ........... execute script with "app", ie. -x "python -v". -w, --wat..
[Node.js] Forever 란? - 스크립트의 연속적인 실행을 보장하기 위해 사용하는 간단한 CLI 툴 *CLI: Command line interface의 약자로 텍스트 터미널을 통해 사용자와 컴퓨터가 상호 작용하는 방식을 뜻한다. - npm: https://www.npmjs.com/package/forever - 사용 방법: npm 을 통해 설치 후 커맨드라인에서 'forever '의 형태로 사용 - 액션 및 옵션 actions: start Start SCRIPT as a daemon stop Stop the daemon SCRIPT by Id|Uid|Pid|Index|Script stopall Stop all running forever scripts restart Restart the daemon SCRIPT restartall..
[Node.js 요약 정리] 3. Node 내장 객체와 내장 모듈 3. Node 내장 객체와 내장 모듈 1) REPL - REPL(Read Eval Print Loop): 입력한 코드를 읽기(Read)와 해석(Eval), 반환(Print)을 종료할 때 까지 반복(Loop)한다고 해서 REPL이라고 함 - 자바스크립트는 스크립트 언어이므로 컴파일하지 않아도 즉석에서 코드 실행 가능 - 사용 방법: node를 실행해서 프롬프트가 > 모양으로 변했을 때 스크립트 코드를 입력함으로써 사용 - 종료 명령어: .exit 2) JS 파일 실행 - .js 파일을 생성 후 node 명령어를 사용해서 실행 가능 - 예시 *helloWorld.js // 아래 코드를 가진 파일 생성 console.log('Hello World'); > node helloWorld // 출력 결과: Hell..
[Node.js 요약 정리] 2. Node.js를 위한 기본 자바 스크립트 2. Node.js를 위한 기본 자바 스크립트 1) const, let - var: 함수 스코프로 변수 선언(값 대입 가능) - let: 블록 스코프로 변수 선언(값 대입 가능) - const: 블록 스코프로 변수 선언(값 대입 불가) - 기본적으로 const를 사용하고 다른 값을 대입해야할 경우에는 let 사용 - 호이스팅과 같은 문제 해결 및 수월한 코드관리가 가능 2) 템플릿 문자열 - 백틱(`)을 사용해서 문자열 내 스크립트 코드 사용 가능 - 사용 방법: `일반 문자열${스크립트 코드}일반 문자열` - 예시 let name='james'; let hello=`hello ${name}`; console.log(hello); 출력 결과: hello james 3) 객체 리터럴 - 객체 대입시 변수명..
[Node.js 요약 정리] 1. Node.js 개요 1. Node.js 개요1) Node.js- 정의: 크롬 V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임- 특징: 이벤트 기반, 논블로킹 I/O 모델을 사용해 가볍고 효율적*이벤트 기반: 이벤트가 발생할 때 미리 지정해둔 작업을 수행하는 방식을 의미*논블로킹 I/O: 논블로킹이란 이전 작업이 완료될 때까지 멈추지 않고 다음 작업을 수행함을 뜻하며 현재 노드 프로세스 외의 다른 컴퓨팅 자원을 사용할 수 있는 I/O(입출력) 작업이 시간적 이득을 많이 얻음 2) 용어 정리- 이벤트 루프: 이벤트 발생 시 호출할 콜백 함수들을 관리하고, 호출된 콜백 함수의 실행 순서를 결정하는 역할 담당- 태스크 큐: 이벤트 발생 후 호출되어야 할 콜백 함수들이 기다리는 공간- 백그라운드: 타이머나 I/O 작업 콜백 도..