WIL 2023-04-23 Restful API와 package.json

오성인·2023년 4월 23일
0

WIL

목록 보기
3/12
post-thumbnail

이번 주 배운 것들 리마인드, 중요한 개념정리

이번주 배운 것
1. jwt, refresh token (토큰 인증 방식의 로그인 흐름과 refresh token을 통한 방어적인 프로그래밍)
2. swagger
3. 관계형 디비인 mysql, 그리고 orm인 sequelize (sequezile의 db:migrate과 model 설정을 통한 싱크 맞추기)

Restful API

  1. Restful API (restful 하다 -> 내가 사용할 자원을 주로 구성된다.)
    • restful하다는 것은 rest라는 구조를 구현한 웹 서비스를 나타낸다. 이러한 rest라는 구조는 api 설계를 통해 나타난다.
    • rest란 “Representational State Transfer” 의 약자로 자원을 이름으로 구분하여 자원의 상태를 주고 받는 모든것을 의미한다고 하는데, 정리하자면 사용할 자원이 이름이고, 자원으로 할 작업이 method인 규칙을 따르는 api라고 할 수 있다.
    • 해서 api의 uri를 자원의 이름으로 정하고, 자원으로 할 작업을 CRUD로 구분하여 정해놓은 메소드를 사용한다.
    • 자원 -> url, 동작 -> method 로 구분한다. 또한 각 자원마다 나뉘기 때문에 생각하기도 편하겠죠?!
    • 정해놓은 메소드
      - CRUD Operation
      Create : 생성(POST)
      Read : 조회(GET)
      Update : 수정(PUT, PATCH)
      Delete : 삭제(DELETE)

package.json

  1. 우리가 node로 프로젝트를 진행할 시에, 해당 프로젝트에 대한 전반적인 정보와 그 프로젝트가 의존(사용)하고 있는 패키지들에 대한 정보를 명시해 주는 파일이다.

간단한 예시로 내가 진행한 프로젝트의 package.json 파일을 살펴보자.

  1. 상단 부의 이름, 버전, 상세 설명, 시작점 파일, cli 명령어 지정, 작성자, 저작권 허용 범위 등 프로젝트에 대한 전반적인 정보를 표시한다.
  2. dependencies 부터 이 프로젝트가 의존(사용)하고 있는 패키지들을 작성하여 해당 프로적트를 구성하기 위해서는 어떠한 환경이 주어져야 하는지 알 수 있게 한다.

-> 이처럼 package.json은 해당 프로젝트를 처음 보는 사람들로 하여금 대충 이것이 어떤 프로젝트이며, 어떤 특성을 가졌고, 어떠한 환경에서 실행 가능한 프로젝트인지를 한번에 인지할 수 있게 한다. 또한 이러한 패턴을 모두가 공유하고 통용하기 때문에 누구나 금방 프로젝트에 대해 인지할 수 있다.

profile
기여하는 개발자

0개의 댓글