ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 항해 99 5기 WIL_3
    항해 99 2022. 1. 30. 19:16

    ▶ Weekly I Learned (회고)

    이번 주도 정신없이 지나갔다.

    현재는 홈페이지 구현의 첫주차 과제를 성공적으로 끝 마치고 두번째 주차에 접어들어있다.

    기존 기능에 로그인이나 댓글같은 기능을 더해 홈페이지를 업그레이드하는 과정이다.

    쉽지 않아 시간이 꽤 소요될 것 같지만 다양한 기술스택을 사용해보는 것과 코드 복기를 위해 기존 코드를

    ajax대신 axios를 이용해 다시 짜고 있다.

    특징에 대해서도 조사해보았는데 현재까지 써본바로는 좀 더 직관적이고 사용이 간편하다는 특징이 있다.

    앞으로도 사용해보고 다음에는 fetch()를 써보는 방식으로 기술 스택들에 대해 좀 더 알아보아야 겠다.

    또한 얼른 마무리 짓고 다음 단계로 넘어가보아야 겠다.

    매일 같이 문제를 해결해내고 고민하며 조금씩 성장해가는 자신의 모습이 마음에 든다.

    이번 한주도 고생많았다 내 자신! ;)

     

    (나의 한 주가 궁금하다면 이번 주 작성한 TIL을 참고해보자.)

     

    아래는 이번 주차를 마무리지으며 추가로 조사해본 내용들이다.

     

    <Restful API>

     

    REST는 Representational State Transfer의 약자,

    REST라는 아키텍쳐에 따라 사람이 알아보기 쉽게 만든 API,

    개발자들의 생산성과 상호작용을 증진시키기 위해 만들어졌다.

     

    자원을 이름으로 구분하여 해당 자원의 상태를 주고 받는 것이라고 하는데,

    예를 들어 DB에 담긴 정보가 전화번호 정보라면 해당 데이터의 테이블 헤더 명을 phoneNumber와 같은 식으로 표현하는 것이다.

     

    특징: 

    HTTP URI를 통해 Resource를 명시하고 HTTP 메서드인 POST, GET, PUT, DELETE를 통해 해당 Resource에 CRUD 작업을 적용하는 것.

    즉, REST는 자원 기반의 구조 설계 (Resource Oriented Architecture)이며 HTTP를 통해 Resource를 처리하도록 설계된 것.

     

    HTTP 프로토콜의 인프라를 그대로 사용하므로 REST API 사용을 위한 별도의 인프라를 구축할 필요가 없음

     

    REST API 설계 규칙

    1) 슬래시는 계층 관계를 나타내는 데 사용한다. 

    ex) https://entertain.naver.com/read 를 보면 알 수 있듯 네이버의 연예 섹션에서 특정 글을 읽는 것을 알 수 있음

     

    2) URI 마지막 문자로 슬래시를 포함하지 않는다.

    URI에 들어가는 모든 글자는 유일한 식별자 역할을 해야하는데 구분자인 슬래시를 마지막에 포함시켜버린다면 

    https://entertain.naver.com/read/content

    에서 read다음 content로 들어가고 싶을 때  read/content를 통째로 인식할 수 있어 구분자가 역할을 제대로 할 수가 없을 것이다.

    read//content와 같은 식으로 해도 //를 구분자가아니라 하나의 식별자로 인식할 듯 하다.

     

    3) 밑줄(_)은 URI에 사용하지 않고 하이픈(-)을 이용해 가독성을 높인다.

    불가피하게 긴 URI를 쓰게 된다면 하이픈을 이용해 가독성을 높인다.

    ex) http://주소/I-am-soooooooooooo-long, 밑줄은 주소창에서 가려지는 등 보기 힘들 수 있어 쓰지 않는다.

     

    4) 전달하고자 하는 Resource는 명사형으로 표현하되, 무언가를 컨트롤하는 Resource는 예외적으로 동사형을 허용한다.

     

    5) URI 경로에는 소문자가 적합하므로 되도록 소문자를 쓴다.

    RFC 3986(URI 문법 형식)은 URI 스키마와 호스트를 제외하고는 대소문자를 구별하도록 규정하기 때문이라고 한다.

     

    6) 파일 확장자는 URI에 포함시키지 않는다.

    즉, 주소 끝에 jpg라던가 html같은 것이 나타나면 안된다.

     

    7) URL에 사용되는 영어를 복수형으로 작성한다.

     

     

    참조 블로그

    http://www.incodom.kr/REST#:~:text=REST%EC%9D%98%20%ED%8A%B9%EC%A7%95%20%23&text=%EC%84%B8%EC%85%98%20%EC%A0%95%EB%B3%B4%EB%82%98%20%EC%BF%A0%ED%82%A4%20%EC%A0%95%EB%B3%B4,%EC%9C%BC%EB%A1%9C%EC%8D%A8%20%EA%B5%AC%ED%98%84%EC%9D%B4%20%EB%8B%A8%EC%88%9C%ED%95%B4%EC%A7%84%EB%8B%A4.

     

    https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html

     

    https://velog.io/@pjh612/REST-API-URI-%EA%B7%9C%EC%B9%99

     

     

    <Package.json>

     

    npm 설치 시 프로젝트의 root 경로에서 볼 수 있는 JSON 형태의 파일, 프로젝트의 핵심이라 할 수 있음

    프로젝트 네임이나 설명과 같은 프로젝트의 메타데이터 뿐만아니라 애플리케이션에 의해 요구되는

    dependancy 리스트, 패키지 버전과 같은 기능데이터들에 대한 메타데이터를 가지고 있다.

     

    해당 파일이 있기에 npm이 프로젝트 시작, script 실행, dependancy 설치

    NPM 레지스트리로 배포 등등 많은 유용한 일을 할 수 있다.

     

     

     

    ▶ 공부 시 참고 링크들

     

    https://heynode.com/tutorial/what-packagejson/

     

    What Is package.json?

    Understand how to manage package.json in node.js

    heynode.com

     

    '항해 99' 카테고리의 다른 글

    항해 99 5기 TIL_23  (0) 2022.02.02
    항해 99 5기 TIL_22  (0) 2022.02.01
    항해 99 5기 TIL_21  (0) 2022.01.30
    항해 99 5기 TIL_20  (0) 2022.01.30
    항해 99 5기 TIL_19  (0) 2022.01.29
Designed by Tistory.