서버란 비유하자면 알바생 같은것!
누가 페이지 달라고 요청하면 갖다줌(응답)
서버 : 요청을 받으면 요청한 내용 보내주는 프로그램
여기서 요청이란?
HTTP 요청이라고 부르는게 몇가지 있는데
서버한테 하는 요청은 크게 4가지 방식이 있음
읽기 GET : 페이지 읽고 싶을 때
쓰기 POST : 새로운 거 생성하기.(댓글 작성, 포스트 작성)
수정 PUT
삭제 DELETE
node.js 란?
: javascript 런타임
JavaScript 란?
HTML 을 조작하고 변경할 수 있음.
-> 웹페이지를 다이나믹하게 만들어줌.
javascript의 해석은 브라우저가 한다.
브라우저마다 해석하는 엔진이 있기 때문
ex) 크롬은 V8, 고질라는 spidermonkey, 익스플로러는 chakra...
여기서
V8 엔진을 따로 떼서 출시하게 됨
이게 node.js 임
브라우저 내에서 말고도 다른환경에서 js 실행할 수 있도록 만든 실행환경(런타임) 인 것임.
왜 node.js로 서버를 만들까?
Non-blocking 이라는 장점 때문!
Non-blocking 이 뭔데?
일단 요청을 다 받고,
처리 속도가 빠른 것부터 처리해서 내보냄.
그다음에 어려운 작업(오래걸리는 작업)을 함.
이 특성이 왜 좋은데?
SNS, 채팅 서비스는 요청이 아주아주 많은 편인데
무거운 요청들이라고 해도, 멈추거나 요청 대기시간이 없어서 좋음.
node.js 의 다른 강점?
코드가 매우 짧고 쉬워서 빠른 개발 가능
But...
이미지 처리, 통계 분석... 이런건 파이썬으로 개발한 서버가 더 좋음.
express 란?
라이브러리
npm 이란?
라이브러리 설치를 도와주는 도구
node_modules 란?
라이브러리에 필요한 자료들 담는 공간
세팅 하는법
1. 작업폴더 안에서 터미널 열어서 npm init
이것저것 입력하라고 input 등장하는데 엔터키 치기
중간에 entry point : ? 라고 되어있는 부부은 server.js 라는 파일명 입력해주고 엔터
2. npm install express 입력하기