JavaScript/NodeJS
-
[NodeJS] 콘솔 입력 받는 방법JavaScript/NodeJS 2021. 1. 16. 17:25
readline module 사용 const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); let input = []; rl.on('line', function (line) { input = line.split(' '); }) .on('close', function () { console.log(input); process.exit(); });
-
[Node.js] JestJavaScript/NodeJS 2020. 10. 18. 18:06
Jest JS Test Framework Test Runner, Test Matcher, Test Mock 모두 제공 사용법 npm install 2. package.json에 명령어 추가 // package.json { ... "scripts": { "test": "jest" } "jest": { "transform": { ".(ts|tsx)": "/node_modules/ts-jest/preprocessor.js" }, "testRegex": "(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$", "moduleFileExtensions": ["ts", "tsx", "js"] } ... } Matchers // src/util/operator.ts const operat..
-
[Node.js] Passport.js - 로그인 인증 및 세션 (Typescript)JavaScript/NodeJS 2020. 8. 22. 16:13
Node.js에서 사용하는 인증관련 미들웨어 로그인, 접근 권한 등을 인터셉트해서 권한을 체크 Express, Express-session 미들웨어와 연동 가능하여 유연한 기능 제공 인증을 위한 다양한 Strategy 제공(e.g. Facebook. Google ...) passport.js 적용 1. 모듈 설치 $ npm i passport passport-local -D 2. passport 미들웨어 설정 // app.js import express from 'express'; import bodyParser from 'body-parser'; import session from 'express-session'; import passport from 'passport'; import Passport ..
-
[Node.js] pm2란?JavaScript/NodeJS 2020. 8. 17. 21:51
pm2란? Process Manager의 약어 Node.js의 프로세스를 관리해주는 역할 생산 프로세스 관리자로 서버 인스턴스들에 대한 로드 밸런싱과 Node.js의 Scale Up 또는 Scale Down을 도움 프로세스들이 계속 실행할 수 있는 환경을 제공 처리하지 못한 예외에 의해 스레드가 죽음으로 인해 애플리케이션이 죽는 현상을 방지 사용법 pm2 -version Version 확인 명령어 pm2 start example.js pm2를 실행하는 명령어로 서버 소스코드가 작성되어 있는 js파일을 실행 options --watch : pm2가 실행된 프로젝트의 변경사항을 감지하여 서버를 자동 리로드 해줌 -i max(코어 개수) : Node.js의 싱글 스레드를 보완하기 위한 Cluster 모드 pm..
-
[Node.js] Middleware 란?JavaScript/NodeJS 2020. 8. 16. 13:23
Middleware란? 클라이언트에게 요청이 오면 요청에 대한 응답하기 전인 중간에 목적에 맞게 처리하는 함수 역할 다음 미들웨어 호출(next 함수) req, res 객체 변경 가능 요청-응답 주기 종료(response method 사용) Middleware 유형 1. 애플리케이션 레벨 미들웨어 app.use() or app.method() 함수를 이용해 app 오브젝트의 인스턴스에 바인드 미들웨어를 애플리케이션 영역에 지정한 path대로 처리 가능 app.use((req, res, next) => { console.log('Middleware example'); next(); }) // 특정 경로만 적용 app.use('/example', (req, res, next) => { console.log(..
-
[Node.js] Node.js 란?JavaScript/NodeJS 2020. 8. 15. 14:07
웹 브라우저에 종속적인 JS를 Chrome V8 엔진을 기반으로 외부에서 실행할 수 있는 Runtime 환경을 제공 특징 모듈 시스템 모듈 : 독립적인 하나의 소프트웨어 기능별 모듈화 가능 싱글 쓰레드(Single Thread) 하나의 Thread만을 사용해서 여러 Clinet로부터 오는 Request를 처리 Context Switching으로 인한 오버헤드를 방지 이벤트 드리븐(Event Driven) 기능별로 등록된 Event Listener Non-Blocking I/O Non-Blocking : 비동기적 처리의 태스크들을 호출 스택에서 태스크 큐로 보내거나 태스크 큐로 부터 이벤트 루프를 통해 다시 스택으로 가져오는 I/O 형태 하나의 Thread가 Request를 받으면 다음 처리에 요청을 보내..