서버 : 요청을 하면 요청한 내용을 보내주는 프로그램
http 요청
nodejs 환경에서 자바스크립트를 사용해 서버를 개발한다.
자바스크립트 : HTML 조작과 변경을 위해 만들어진 언어. 동적임
브라우저의 자바스크립트 해석 엔진
크롬 : V8 - V8을 출시한것이 nodejs
모질라 : spoderMonkey
익스플로러 : 차크라
nodejs : 자바스크립트 실행환경 (런타임)
nodejs 덕분에 자바스크립트를 프로그래밍 언어처럼 사용하기 시작했다.
대표적 활용으로 서버를 만든다. (서버 만들기 쉽기 때문에)
Non-blocking I/O 라는 특징 때문에 nodejs로 서버를 만든다.
Non-blocking I/O : 서버에 요청이 들어오면, 그 요청들을 일단 다 받는다. 그리고 그중에 시간이 많이 걸리는 어려운 작업을 있을때, 처리하기 쉬운 작업부터 빠르게 처리하고 나중에 어려운 작업을 처리하는 방식. 서버가 멈추거나, 요청 대기시간이 없는게 장점이다.
대표적인 nodejs로 구현한 서비스 : SNS, 채팅과 같이 요청이 매우 많은 서비스에 유리하다.
장점 : 코드가 매우 짧고 쉽다. 프로토타입 만들때 유리하다.
단점 : 웹서비스가 아닌 경우는 비추천한다. 예를들어 이미지 처리를 하는 서버는 c계열이나 파이썬으로 구현하는것이 좋다. (파이썬은 수학계산, 통계분석하기 유리한 언어이다.)
개발을 쉽게 하기 위해서 필요한 부분을 만들어 놓은 코드 모음집이다. 라이브러리를 빌려 씀으로 해서 코딩 시간을 단축 할 수 있다.
//터미널에
npm init
//npm은 라이브러리 설치를 도와주는 도구이다.
//어떤 라이브러리를 설치했는지 기록하는 package.json 파일을 만들기 위해서 npm init을 하는 것이다.
//entry point에 내가 원하는 파일명을 적는다. ex) server.js
npm install express
//express 라이브러리를 설치 했다.