-
node.jsconcept/server 2020. 5. 25. 00:27
node.js가 무엇인가?
-
노드는 크롬 v8엔진으로 만들어진 자바스크립트 런타임이다.
v8이 모야?
자바스크립트를 기계어로 컴파일 해준다.
런타임은? 프로그래밍 언어가 구동되고 있는 환경
=> 자바스크립트를 컴파일 해주는 엔진으로 빌드된 자바스크립트가 구동 중인 환경이다.
-
이벤트 기반의 논블로킹 IO모델이다.
이벤트?
유저의 버튼 클릭이나 네트워크에 리소스를 요청하는 것
논블로킹? (비동기)
다음 함수의 실행이 현재 함수의 종료를 기다리지 않음
블로킹?
다음 함수의 실행이 현재 함수의 종료 이후에 이루어지는 것
I/O모델?
input을 주면 output을 반환하는 모델
=> 유저의 클릭이나 네트워크에 리소스를 요청하는 이벤트가 논블로킹으로 이루어지는 input output 모델 (속도가 빠르다)
어떤 core modules가 있는가?
노드만 설치했으면, 따로 다른 설치 없이 쓸 수 있는 모듈
require(‘’) 방식으로 사용할 수 있다.
ex) fs, http, url, path
npm (node package manager)
노드패키지매니저
세계에서 가장 큰 오픈소스 라이브러리 생태계 중 하나
Package.json 리뷰
npm을 활용하기 위한 정보들이 모여 있는 파일
뿐만아니라 프로젝트 전반 정보가 적혀 있다.
script
: CLI에서 해당 코드를 실행시킨다.
dev-dependency
: production과 관계 없는 개발만을 위한 dependency (jest, eslint같은 것)
dependency
: 직접 프로덕션과 관계 있는 라이브러리 (react)
npm라이브러리 활용하는 방법
터미널에서
mkdir npm start
CLI에서 파일을 열어서
npm init : 이 폴더를 npm을 쓰는 프로젝트로 설정하겠다.
description이랑
main에 실행할 js파일 이름 쓰기 엔터엔터 yes하면
package.json이라는 파일이 생성된다.
그래서 자바스크립트 파일을 만들어서 그 파일을 실행시키는 방법이 2가지가 있다.
node index.js
이렇게 실행시키거나 조금 더 간단하게 만들기 위해서
package.json의 script에 키에 명령어(start), 밸류에 node index.js 적고
npm start
명령어에 실행시키기
nodemon 활용법
http 서버를 킬 때 변경사항을 바로바로 적용해서 서버를 킬 수 있다!! (*핵중요한 기능)
먼저 터미널에서
npm install —save nodemon
npm install —save nodemon
설치해주면 dependencies에 nodemon이 추가된 것을 확인할 수 있다.
그래서 터미널에
nodemon index.js
nodemon index.js
명령어로 파일을 실행시키고
코드 변경하고 저장하면 자동으로 변경사항을 반영해서 다시 한번 변경사항을 실행하게 됨
라우팅이란?
조건에 따른 분기
클라이언트가 보낸 요청을 조건에 따라 나누어 응답을 결정하는 것(메소드와 유알엘로 나뉜다)
콘솔창에서 디버깅 할 수 있는 명령어
node --inspect-brk
'concept > server' 카테고리의 다른 글
Server & Node 알고 넘어가야 할 요점 정리 (0) 2020.06.11 Web Architectures 정리 (0) 2020.06.10 Browser Security (CORS, XSS, CSRF) (1) 2020.05.24 브라우저, 서버, API, HTTP, Ajax 개념 정리 (0) 2020.05.24 node.js / NVM / NPM (1) 2020.04.30 -