- 고객(클라이언트)이 메뉴(웹 사이트)를 보고 음식(정보)을 주문하면 주방(서버)에서 음식(정보)을 만들어 고객에게 제공
- Node.js는 주방에서 더 쉽고 빠르게 음식을 만들 수 있도록 도와주는 요리사
- Node.js의 장점
기존에 알고 있던 자바스크립트를 확장해서 백엔드 개발을 할 수 있다는 것
즉, 하나의 언어로 풀스택 개발이 가능
- 서버를 만든다는 것
서버는 클라이언트의 요청을 받아 무엇인가를 처리해서 되돌려주는 컴퓨터
서버를 만든다는 건 컴퓨터를 만드는 것이 아니라 서버 컴퓨터에서 돌아가는, 실행되는 프로그램을 만드는 것
필요한 서비스를 위한 프로그램을 만듦
Node.js는 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임이다.
=> Node.js를 사용함으로 인해 자바스크립트가 브라우저 밖으로 나와서 실행할 수 있는 환경이 된 것
- npm: Node Package Manager
자바스크립트 라이브러리를 비롯해 프레임워크, 플러그인 등 다양한 패키지를 내려받아 사용할 수 있게 해주는 도구
Node.js 설치하면 함께 설치됨
- Node.js 가 프레임워크인가??
챗지피티 왈
Node.js는 프레임워크가 아니라 런타임 환경입니다. JavaScript 코드를 서버에서 실행할 수 있게 해주는 환경을 제공하지만, Node.js 자체는 웹 애플리케이션 개발을 위한 완전한 구조나 규칙을 제공하지 않습니다. 대신, Node.js를 기반으로 다양한 프레임워크들이 존재하며, 이러한 프레임워크들은 애플리케이션 개발을 더 쉽게 만들어 줍니다.
- 모듈, 라이브러리, 패키지
모듈: 기능별로 쪼개놓은 파일
라이브러리: 모듈이 여러 개 묶여 있는 것
패키지: 배포할 수 있도록 여러 모듈과 모듈 관련 파일을 묶어 놓은 것
모듈을 사용하면 코드를 중복해서 작성하지 않아도 돼서 편리함
내가 직접 모듈을 만들 수도 있고, 남이 만든 걸 가져올 수도 있음
npmjs.org사이트에서 필요한 패키지를 설치할 수 있고, 설치한 패키지는 package.json 파일의 dependencides 에 추가됨
... Node.js 와 함께 Express 프레임워크, 자바스크립트만으로 활용 가능한 MongoDB 사용 예정