Node.js
-
[Node.js] Node.js란Node.js 2022. 3. 7. 17:27
Node.js Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임이다. 싱글스레드이며, 이벤트 루프를 기반으로 논블로킹 I/O 처리와 npm을 이용한 다양한 라이브러리 및 패키지 사용이 가능한 특징이 있다. Node.js 특징 1. 이벤트 루프 콜백 이벤트 큐에서 하나씩 꺼내서 동작시키는 Loop를 말한다. 이벤트 루프에서는 이벤트 발생 시 호출 되는 콜백 함수들을 테스크 큐에 전달하고, 테스크 큐에 담겨져있는 콜백 함수들을 콜스택에 넘겨준다. 2. 논블로킹 I/O 이전 작업이 완료될 때까지 기다리면서 멈추지 않고, 다음 작업이 지연되지 않게 동작하는 패러다임이다. 오래 걸리는 작업은 백그라운드에서 진행하며, 완료 후 이벤트 루프를 통해 테스크 큐를 거쳐 호출 스택에 올라오길..
-
Node.js 장점 및 단점Node.js 2022. 2. 17. 21:15
장점 싱글 스레드 기반 비동기IO 처리로 매우 빠른 고성능 서버다. 브라우저 외 다른 용도의 서버로 사용이 가능하다. restart 시간이 1초 미만이여서 프로세스가 종료가 되어도 다시 빠르게 시작할 수 있고, 빠른 배포와 업그레이드 작업이 가능하다. JavaScript는 Java 같은 언어 대비 같은 서버 코드를 짜도 걸리는 시간이 적어서 생산성이 좋다. 싱글 스레드여서 스레드간의 동기화 처리 등 복잡한 과정을 생략할 수 있다. Apache나 nginx와 같은 도움 없이 HTTP 서버 라이브러리를 포함하여 웹 서버 동작이 가능하다. Socket.io를 통해서 싱글 스레드 멀티 플렉싱 기반으로 대량의 사용자에 대한 Push 처리를 가능하게 한다. (WAS는 스레드 수 만큼 밖에 동시 커넥션 처리를 할 수..
-
node.js sequelize migration 생성 및 Column 추가하기Node.js 2022. 1. 10. 22:00
(Visual Studio Code 터미널 창에서 실행) 1. Sequelize Migration 생성 $ npx sequelize migration:create --name 위와 같이 터미널 창에 migration 을 만들어준다. 'use strict'; module.exports = { up: async (queryInterface, Sequelize) => { /** * Add altering commands here. * * Example: * await queryInterface.createTable('users', { id: Sequelize.INTEGER }); */ }, down: async (queryInterface, Sequelize) => { /** * Add reverting co..
-
req.body, req.params, req.queryNode.js 2022. 1. 3. 19:25
1. Request Properties req.body JSON 등의 데이터를 담을 때 사용한다. (주로 POST로 정보 등을 보낼 때) req.params /users/:nickname 이 있을 경우 "nickname" 속성을 req.params.name 으로 사용할 수 있다. https://localhost/users/abcde 경우 "abcde" 를 받는다. req.query 이 속성은 경로의 각 쿼리 문자열 매개 변수에 대한 속성이 포함이 된 개체다. https://localhost/categories?category=카테고리값 이면 category 매개변수의 카테고리값을 가져온다. 출처: https://studyingych.tistory.com/34