다재다능 개발자 성장기 🚀
항해99 👩💻21일차 TIL/WIL 본문
🎉오늘의 한 일🎉
- Node.js 심화반 강의 3주차 수강함.
- WIL 키워드(Restful API, package.json) 작성하여 제출함.
- 알고리즘 33, 34번 문제 풀이 후 git에 업로드하고 스터디에 인증함.
https://github.com/hyewonShin/Algorithm_JS
⭐WIL 키워드⭐
Restful API
REST API(RESTful API, 레스트풀 API)란 REST 아키텍처의 제약 조건을 준수하는 애플리케이션 프로그래밍 인터페이스를 뜻합니다.
API 또는 애플리케이션 프로그래밍 인터페이스(Application Programming Interface)는 애플리케이션 소프트웨어를 구축하고 통합하는 정의 및 프로토콜 세트입니다. 때때로 API는 정보 제공자와 정보 사용자 간의 계약으로 지칭되며 소비자에게 필요한 콘텐츠(호출)와 생산자에게 필요한 콘텐츠(응답)를 구성합니다.
즉, 컴퓨터나 시스템과 상호 작용하여 정보를 검색하거나 기능을 수행하고자 할 때 API는 사용자가 원하는 것을 시스템에 전달할 수 있게 지원하여 시스템이 이 요청을 이해하고 이행하도록 할 수 있습니다.
REST의 구체적인 개념
HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고, HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미한다.
REST 구성 요소
1. 자원(Resource): URI
모든 자원에 고유한 ID가 존재하고, 이 자원은 Server에 존재한다.
자원을 구별하는 ID는 ‘/groups/:group_id’와 같은 HTTP URI 다.
Client는 URI를 이용해서 자원을 지정하고 해당 자원의 상태(정보)에 대한 조작을 Server에 요청한다.
2. 행위(Verb): HTTP Method
HTTP 프로토콜의 Method를 사용한다.
HTTP 프로토콜은 GET, POST, PUT, DELETE 와 같은 메서드를 제공한다.
3. 표현(Representation of Resource)
Client가 자원의 상태(정보)에 대한 조작을 요청하면 Server는 이에 적절한 응답(Representation)을 보낸다.
REST에서 하나의 자원은 JSON, XML, TEXT, RSS 등 여러 형태의 Representation으로 나타내어 질 수 있다.
JSON 혹은 XML를 통해 데이터를 주고 받는 것이 일반적이다.
# 참고한 곳 #
https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html
https://www.redhat.com/ko/topics/api/what-is-a-rest-api
package.json
package.json은 프로젝트의 정보를 정의하고, 의존하는 패키지 버전 정보를 명시하는 파일입니다.
일반적으로 루트 디렉토리에 위치합니다.
작성되는 정보를 크게 2개로 나누면 프로젝트 정보, 패키지 정보로 나눌 수 있습니다.
- 프로젝트의 정보 - name, version 영역
- 패키지 버전 정보 - dependencies 또는 devDependencies 영역
프로젝트 정보
package.json 파일은 반드시 name과 version 항목을 포함해야합니다.
name: 소문자 한 단어로 이루어져야합니다. 그리고 하이픈( - )과 언더스코어( _ )가 포함될 수 있습니다.
versoin: x.x.x 형식을 따라야 하며, 작성 규칙을 시맨틱 버저닝이라고 합니다.
패키지 정보
패키지 정보는 dependencies 또는 devDependencies에 작성됩니다.
dependencies와 devDependencies의 차이는 다음과 같습니다.
- "dependencies": 프로덕션 환경에서 응용 프로그램에 필요한 패키지.
- "devDependencies": 로컬 개발 및 테스트에만 필요한 패키지.
# 참고한 곳 #
'항해99_6기_TIL' 카테고리의 다른 글
항해99 👩💻23일차 TIL (0) | 2022.03.30 |
---|---|
항해99 👩💻22일차 TIL (0) | 2022.03.28 |
항해99 👩💻20일차 TIL (0) | 2022.03.26 |
항해99 👩💻19일차 TIL (0) | 2022.03.25 |
항해99 👩💻18일차 TIL (0) | 2022.03.24 |