처음 WIL을 쓰려느 어색하다..
이번주 향해 첫 주를 지나면서 많은 걸 배우고 느꼈다 1주차는 웹 미니 프로젝트를 만들었다 처음으로 협업하는 거라 팀원들과 많이 어색했다.. 미니 프로젝트를 하면서 Git hub을 사용하여 코딩한 거를 공유하기도 하고 수정 하기도 했다 우선 우리 팀의 미니 프로젝트 주제는 'Animal 119' 라고 동물들이 밤에 아플때 시간 상관없이 언제든지 갈 수 있는 24시간 동물병원 리스트를 찾아 병원에 대한 상세정보를 알려주고 그 병원에 대한 별점 및 코멘트를 남길 수 있는 웹 서비스이다. 우선 이 기능들을 구현 하기 위해서는 로그인 기능이 필요하다 로그인 기능을 실현하기 위해서는 JWT 기능을 알아야 한다
JWT란 ?
JWT는 일반적으로 클라이언트와 서버, 서비스와 서비스 사이 통신 시 권한 인가(Authorization)를 위해 사용하는 토큰이다. URL에대해 안전한 문자열로 구성되어 있기 때문에 HTTP 어디든(URL, Header, ...) 위치할 수 있다. 이게 JWT에 대한 정확한 정의는 아니지만 조금의 이해를 하고 넘어간다. JWT 구조는 헤더(Header), 페이로드(Payload), 서명(Signature) 세 부분을 점(.)으로 구분하는 구조다.
Header
JWT를 검증하는데 필요한 정보를 가진 JSON 객체는 Base64 URL-Safe 인코딩된 문자열이다. 헤더(Header)는 JWT를 어떻게 검증(Verify)하는가에 대한 내용을 담고 있다
Payload
JWT의 내용이다. 페이로드(Payload)에 있는 속성들을 클레임 셋(Claim Set)이라 부른다. 클레임 셋은 JWT에 대한 내용(토큰 생성자(클라이언트)의 정보, 생성 일시 등)이나 클라이언트와 서버 간 주고 받기로 한 값들로 구성된다.
Signature
점(.)을 구분자로 해서 헤더와 페이로드를 합친 문자열을 서명한 값이다. 서명은 헤더의 alg에 정의된 알고리즘과 비밀 키를 이용해 성성하고 Base64 URL-Safe로 인코딩한다.
JWT
점을 구분자로 해서 헤더, 페이로드, 서명을 합치면 JWT가 완성된다.
API란?
API는 응용프로그램들 사이에 데이터를 주고 받는 방법이다. 이를 풀어 말하면, 프로그램과 소통하게 해주는 매게체(인터페이스)이다. API는 어플리케이션을 프로그래밍하는 데 쓰이는 인터페이스로 프로그램과 또 다른 프로그램을 연결해주는 중간 다리 역할을 한다고 볼수 있다
API를 사용하면 좋은 점은 앱 개발을 비교적 수월하게 할 수 있기 때문이다 예를 들어 우리가 동물병원 앱을 만드는 데 앱에서 가장 필요한 동물병원들의 상세정보를 누군가가 만들어 놓은 API를 이용하면 쉽게 동물병원 상세정보를 만들 수 있다. 그래서 우리는 이 오픈 API를 이용해 동물병원 리스트가 있는 페이지를 만들었다. 방법은 알았지만 기능을 구현하는게 생각보다 쉽지 않아서 생각보다 시간을 많이 썼다.
문제는 지금부터이다. 병원 정보를 클릭하면 병원에 대한 상세 정보가 나와야 하는 데 나는 그 기능을 구현할 줄 몰랐다 그것을 구현하기 위해 구글링을 해야 하는 데 시간이 너무 부족했다. 제출까지 2시간 가량 밖에 남지 않았었다. 그래서 팀원들과 의논한 후 상세 페이지 까지는 기능을 구현하지 않고 동물병원의 리스트를 보여주는 것 까지만 하자고 결정이 났다. 그리고 발표 후 멘토님께 피드백을 받았는데 페이지네이션 이라는 기능을 이용해야 한다는 것이었다. 다음을 위해서 페이지네이션을 공부해야 겠다는 생각이 많이 들었다
후기
처음 팀 프로젝트 후기를 남기자면 내가 너무 무능력한 것 같았다. 내가 구현 할 수 있는 기능들이 너무 없어서 팀원들에게 너무 죄송했다. 이번 계기로 공부를 더 열심히 해야겠다는 생각이 들었다.
'WIL' 카테고리의 다른 글
| WIL 7/25 ~ 31 (0) | 2022.07.31 |
|---|---|
| WIL 7/18 ~24 (0) | 2022.07.23 |