항해14기 본과정/항해14기 WIL(제출용)

[항해 14기] 4주차 WIL (Restful API, package.json)

스쿼트잘함 2023. 4. 23. 15:28

1. Restful API

1) REST

- HTTP를 기반으로 클라이언트와 서버 간에 데이터를 주고받을 때 특정 인터페이스를 제공하여 Router들의 분산이 가능해짐
- REST 아키텍처에서는 자원을 중심으로 데이터를 관리. 자원은 URI로 식별되며 HTTP 메소드(GET, POST, PUT, DELETE 등)로 작업 수행.

- 상태를 유지하지 않는(stateless) 구조 : 서버가 세션 정보 등을 유지하지 않고 요청에 응답하여 서버 부하가 줄어들고 서버의 확장성이 좋아짐

- 자원에 대한 표현(Representation) : 서버와 클라이언트 간의 데이터 형식에 대한 의존성이 줄어듬

 

2) URI

- URL(자원 위치 식별), URN(자원 이름 식별)으로 구성

 

3) REstful

-  REST 방식으로 웹 서비스를 구현하는 것

 

 

 

2. package.json

1) 개요

- Node.js의 필수적인 파일 중 하나, 프로젝트의 모듈과 모듈들 사이의 의존성(dependency) 정보를 포함
- Node.js로 개발을 진행할 때 npm 을 사용하여 패키지 설치 및 관리를 진행하는데, 패키지들의 정보를 나타내는 파일

 

2) 구성

- 이름, 버전, 작성자, 라이선스 등의 메타데이터 정보가 포함

- name: 패키지 이름, version: 패키지 버전, description: 패키지 설명, main: 패키지 entry point
- scripts: 패키지에서 사용 가능한 npm 스크립트, keywords: 패키지 키워드, repository: 패키지 소스코드 저장소

- author: 패키지 작성자 정보, license: 패키지 라이선스 정보

- dependencies(패키지 의존 외보 모듈 리스트)와 devDependencies(패키지 개발 과정시 필요한 외부 모듈 리스트) 섹션에는 프로젝트가 의존하는 패키지들과 그 버전 정보가 포함, 해당 정보를 바탕으로 npm 패키지를 자동으로 관리

 

3) package-lock.json

- npm 에서 프로젝트나 새 패키지가 설치될 때 자동으로 생성되는 파일. 프로젝트에 설치된 모든 패키지의 버전 정보와  패키지들의 의존성 정보가 있는 파일

- 다른 개발 환경에서도 프로젝트가 동일한 패키지 버전을 사용하도록 보장
- 버전관리를 위한 커밋 시 프로젝트 파일과 함께 커밋 되어야 하며, 프로젝트에 참여하는 모든 개발자가 동일한 패키지 버전에 액세스할 수 있도록 해줌