Week1 Retrospection/Summary

Sung Hyun Hong (Jenny)·2022년 1월 24일
0

What I have learned and felt from JWT/API (week1)

JWT라는 명칭은 전공에서 자바를 배우면서 한번쯤은 봤던 키워드로 기억한다. 하지만 이번 웹이라는 개념을 새로 접하게 되면서, 1주차에 팀원들과 함께 로그인 기능을 구현하는 웹을 짜면서, JWT 명칭을 다시 사용하게 되었다.

JWT 방식은 클라이언트로부터 로그인 요청하면, 서버로부터 데이터베이스에서 사용자를 확인 후, 접속(acceess)토큰과 재발급(refresh) 토큰을 통해 저장하고 검증 후 데이터를 넘겨주는 방법이다. 서로 간의 피드백이 이루어져야 하며, 혹시라도 토큰의 기한이 만료되었을땐, 재발급토큰을 통해 다시 새로운 토큰을 발급받을 수 있도록 해주는 역할을 한다.

  1. 이를 통해 깨달은 것은 토큰이라는 개념을 새롭게 들어보았고, 두가지의 토큰이 함께 있다면, 안전하다는 장점을 가지고 있다.
  2. JWT에 사용되는 PAYLOAD에는 유출될 수 있는 가능성이 크기 때문에, sensitive한 정보는 제외하는 것이 좋다.
  3. JWT 방식을 통해 서버에 대한 부담감을 줄일 수 있으면, 서버에 대한 확장성을 높일 수 있어서 좋다는 것이다.
  4. JWT 방식을 사용하게 되면, 저장할 수 없기 때문에, 토큰을 언제까지 사용할 것인지에 대한 시간을 넣어주어야 한다는 것이 단점이라고 볼 수 있다.

API라는 명칭 역시 들어본 개념이다. 실질적으로 C언어 프로그램을 하면서 흔히 접했다. 하지만, API 개념에 대해 알아가거나 그걸 활용하면서 뭔가 해본 적은 없었기에 프로그래밍 관련해서는 생소한 느낌이었다. 내가 아는 것은 API는 어플리케이션 프로그래밍 인터페이스의 약자로 화면을 쉽게 구성하고 움직이며 소통할 수 있도록 만들어진 개념이다라는 점이라는 것과 업무화하고 자동화시키도록 명령시킬 수 있는 실행어이다.

이번 프로젝트를 통해 주로 POST, GET방식을 통해 어떤 작동을 통해 화면을 어떻게 구성할 것인지 계획할 때, 많이 활용했었다.

  1. API는 파이썬의 FLASK 방식을 통해 사용가능하다는 점을 알 수 있었다.
  2. API 를 통해 클라이언트는 서버와 정보를 주고 받는다는 점을 알게 되었다. 그만큼 데이터베이스에 대한 Entrance와 Exit역할을 한다. 하지만, 핵심 정보가 들어있을 수 있기 때문에 "ANYONE" 접근이 불가능하다.
  3. API는 application과 기기가 원활하게 통신할 수 있도록 한다.
  4. API 유형은 private, public, partner 3 가지의 유형이 있다.
  5. API는 효율적이며 시간과 비용을 세이브시킬 수 있다는 장점을 가지고 있다.
  6. API는 프로그래밍의 지식을 알아야하는 것이 단점이며, 실행할 경우 충돌이 날 가능성이 크다. 더불어, 유지보수하는 비용이 매우 높다.

아쉬운 점: week1에서는 대부분 내 노트북이 여러번 작동을 안했고, 프로그래밍의 앱들이 제대로 작동하기까지 여러번 세팅에 들에가서 필요한 정보를 다운로드 받느라, time-consuming이 많았다. 다만, 팀 회의에서는 어느 때보다도 열심히 참여했고, 팀원들에게 아이디어를 제시한 부분이 상당수 많았고, week1부터 시너지가 좋은 팀워크를 만난다는 것은 쉽지가 않은데, 그 사이에서 많이 참여를 못한 거 같아 아쉬움이 가장 컸다고 생각한다.

profile
오늘 하루도 열심히!

0개의 댓글