항해 1주차 회고 (WIL)

Lee·2022년 1월 16일
0

항해99

목록 보기
5/50
post-thumbnail

1. 팀 프로젝트

프로젝트 개요

첫날 일지에 작성한 것 처럼 OT가 끝나고 바로 처음 만나는 조원들과 함께 프로젝트를 시작했다. 처음 보는 사람들과 팀을 짜서 진행하는 것은 대학교 이후로 오랜만이어서 초반에는 긴장도 되었고 어색함도 있었던 것 같다. 어색함을 해소하기 위해 서로 자기소개를 간략하게 한 후에 팀장님의 지휘하에 프로젝트를 진행하게 되었다.

프로젝트 주제를 정하기 위해 아이이어 회의를 하면서 영어단어장, 개인물품 소개 등 여러 아이디어가 제시되었으나 구현 가능성 및 이번 프로젝트에서 요구하는 기능들을 고려했을 때 영어단어장이 가장 많은 표를 얻어 '두유노우?'라는 프로젝트를 시작하게 되었다.

프로젝트 진행

조원들이 모두 12시에 가까운 시간까지 프로젝트를 진행을 하는 것을 보며 나도 열심히 해야겠다는 생각이 들었다. 우리 조는 매일 9시에 모여 진행상황을 공유하고 계획을 수정, 보완하는 것으로 일과를 시작했고 이 과정을 점심, 저녁에 반복하는 것으로 큰 틀을 잡게 되었다.

초반에는 어색함 때문인지 서로 소통이 적었으나 뒤로 갈수록 서로 알아가고 소통의 부재로 인한 문제가 발생을 하면서 적극적으로 조원들끼리 문제점이나 팁, 진행상황을 공유하고 화면 공유를 이용한 문제해결방식도 적극적으로 사용하게 되었다.

프로젝트 완성

프로젝트 명 : 두유노우?
데모영상
프로젝트 진행

github주소 : https://github.com/Shinnybest/studyEnglishWithMe

마지막의 마지막까지 기능오류와 에러와 싸우면서 조마조마 했지만 모두 열심히 한 결과 프로젝트를 무사히 완성할 수 있었다. 남의 글을 마음대로 삭제 혹은 수정 할 수 있다거나 og태그가 없는 사이트는 불러올 수 없다던가 하는 아쉬운 점도 있으나 처음 계획했던 기능만큼은 모두 구현을 성공했다는 것에 만족한다.

학습한 주요내용

1. JWT 방식

JWT 사용방식

1. 사용자가 로그인을 한다.
2. 서버에서 계정정보를 읽어 사용자를 확인 후, 사용자의 고유한 ID값을 부여한 후, 기타정보와 함께 payload에 넣는다.
3. JWT 토큰의 유효기간을 설정한다.
4. 암호화 할 secret key를 이용해 access token을 발급한다.
5. 서버에서 토큰의 verify signature를 secret key로 복호화한 후, 조작 여부, 유효기간을 확인
7. 검증 완료 후, payload를 decode하여 사용자의 ID에 맞는 데이터를 가져온다.

장점

  • JWT 방식은 토큰을 발급한 후 검증만 하면 되기 때문에 세션/쿠키 방식과 다르게 추가 저장소가 필요하지 않다.
  • 토큰 기반으로 하는 다른 인증 시스템에 접근이 가능하다. -> 확장성이 뛰어나다.

단점

  • 이미 발급한 JWT에 대해 처리할 방법이 없다. -> 유효기간이 만료될 때 까지 기다리는 방법 밖에 없다.
  • payload는 암호화되지 않기 때문에 누구나 정보를 확인 할 수 있다. -> 중요한 정보는 payload에 넣을 수 없다.
  • 세션/쿠키 방식과 비교해 JWT의 길이가 길다 -> 요청이 많을 수록 서버의 자원낭비가 발생한다.

2. API

정의
API(Application Programming Interface, 응용 프로그램 프로그래밍 인터페이스)는 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. 주로 파일 제어, 창 제어, 화상 처리, 문자 제어 등을 위한 인터페이스를 제공한다. - 위키백과

api에 대해 찾아보니 많은 사람들이 api를 레스토랑에 비교하여 표현하였다. 손님(내 프로그램), 웨이터(API), 주방(API제공자)로 표현하여 손님의 주문을 웨이터가 주방에 전달하는 내용으로 비유하며
손님이 주방에서 무슨일이 일어나는 지 모르는 것처럼 내가 쓰는 API의 기능의 구현방법을 몰라도 API가 가져다주는 것을 사용하면 된다는 것이 API의 장점이다.

2. 알고리즘

목요일에 프로젝트가 끝나고 금요일에 바로 새로운 팀이 구성되어 알고리즘 공부를 하게 되었다. 글을 작성하는 현재 달리기반을 선택한 필자는 항해에서 목표로 제시한 문제를 모두 완료하고 추가로 제공되는 문제를 학습하고 있다.

알고리즘 주차는 CS 스터디와 함께 다음주 부터 본격적으로 시작할 것 같아 중요내용은 다음주 회고로 넘어갈 것이다.

profile
발전하고 싶은 백엔드 개발자

0개의 댓글