모듈
: 재사용 가능한 코드 조각
패키지
: 모듈을 패키지화한 모듈의 모음
패키지 매니저
: 패키지의 설치, 업데이트, 삭제 등을 할 수있는 패키지 관리자. 다른 개발자들의 코드를 다운로드하거나 내 코드를 배포 할 수 있음.
npm
: Node Package Manager의 약자로 노드에서 사용하는 대표적인 패키지 매니저
yarn
: npm의 단점을 보안하여 나온 패키지 매니저. npm보다 보안성이 뛰어나지만 디스크 용량을 조금 더 사용함.
=> 입맛대로 사용 하면 될 거 같다!
📃package.json
에 있는 모듈과, 그 모듈들이 의존하고 있는 모든 모듈들을 포함하고 있음.
🚨현재 환경에 맞게 설치되기 때문에 공유나 배포 시에는 제외하고 하기.
👌 대신 package.json 파일과 yarn.lock 파일을 이용하여 동일한 패키지 버전을 설치
📃프로젝트의 가장 핵심적인 파일로 프로젝트의 정보와 패키지들, 라이센스 정보 등 메타 데이터와 스크립트 실행 필드도 포함 되어 있음.
대략적인 의존성의 버전관리
"type": "module" 추가 시 모듈 시스템 사용 가능
npm으로 패키지를 설치,수정, 삭제 시 패키지의 의존 관계를 package.-lock.json에 저장함.
구체적인 의존성의 버전관리
👌node_modules 없어도 lock.json만 있으면 다른 환경에서도 일관된 패키지 버전 보장.
npm install -g yarn
: 글로벌 환경에서 yarn 설치
yarn -v
: 버전 확인
yarn init
: yarn 시작. 이 때 package.json 생성 됨.
Node.js로 서버를 용이하게 만들 수 있게 도와주는 웹 프레임워크로 미들웨어를 지원함
미들웨어란?
- 사용자의 요청과 응답 사이에 위치하며, 특정 기능을 수행하는 함수
- req, res, next를 매개변수로 가진다.
- 에러 처리 미들웨어는 err, req, res, next 네가지의 매개변수를 가짐.
yarn add express
, npm install express
: express 설치
Javascript
를 파일 단위로 분리된 코드 덩어리
Javascript 파일은 특정한 기능을 가진 여러 개의 함수와 변수들의 집합체.
코드의 재사용성을 높이고, 코드를 분리하여 관리할 수 있으므로 유지 보수하기 수월함
Node.js 환경에서 기본적으로 사용되는 모듈 시스템
동적 로딩
폴더를 모듈로 지원함.
require() 로 가지고 옴
최신 JavaScript에서 지원하는 모듈 시스템
정적 로딩
경로를 파일까지 지정해주어야 함.
import로 가져옴
서로 다른 시스템 간의 통신을 연결해주는 매개체
네트워크에서 통신을 구성할 때 이런 구조로 설계하라는 지침
네트워크 소프트 아키텍처를 지켜 설계하도록 한 API
URI은 정보의 자원을 표현 해야함.
자원에 대한 행위는 HTTP Method로 표현
HTTP Method를 CRUD의 관점으로 보았을 때
Create: 생성(POST);
Read: 조회(GET);
Update: 수정(PUT), PATCH;
Delete: 삭제(DELETE);
Client와 Server가 데이터를 주고 받을 때 적절한 표현으로 응답. 보통 JSON, XML 같은 형식.
아리까리 했던 node 입문 1주차를 들으면서 내용 정리를 해보았다. 기초 지식을 다지니까 코드 이해가 조금 더 되는 거 같다.