일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Vue.js
- userprog
- Flutter
- 크래프톤정글
- 알고리즘
- corou
- defee
- 크래프톤 정글
- Java
- 나만무
- 코드트리
- 시스템콜
- 큐
- 오블완
- JavaScript
- 소켓
- TiL
- 사이드프로젝트
- 백준
- pintos
- 4기
- 스택
- 자바스크립트
- HTML
- 리액트
- CSS
- 티스토리챌린지
- 모션비트
- 핀토스
- 자바
- Today
- Total
미새문지
크래프톤 정글 week00, day02 - 프로젝트 기획 발표 및 작업 본문
전 날에 푹 쉬고 강의장으로 와서 각 팀별로 선정한 주제와 기획안을 작성한 ppt를 발표했다.
본인 팀의 주제는 정글에서 버티기 위한 체력을 위해 운동할 사람을 구하는 프로젝트인데,
스케줄러에 운동할 종목과 시간을 기입해 작성해놓으면 운동 세션에 참여해 약속을 정해주는 페이지이다.
대표님과 코치님 등 현 멘토들이 오셔서 발표에 대한 피드백과 추가로 작업해볼만한 기능의 키워드를 제공해주셨다.
인터넷에 작성된 이전 기수의 후기글을 보고 따끔한 피드백을 받을까 긴장했는데 의외로 부드럽고 깔끔하게 설명해주셔서 좋았던 것 같다.
발표 이후 피드백 받은 개선점과 넣을 기능들을 기획에 추가하고 바로 팀원과 함께 작업을 시작했다.
본인이 맡은 포지션은 백엔드 - 로그인/회원가입 작업
원래는 화면 작업은 한 명이 맡아서 프론트엔드 작업을 하고 본인 포함 두 명이서 백엔드 작업을 할 예정이였는데
화면 작업이 조금 까다로울 것 같아 로그인/회원가입 페이지만 본인이 직접 만들어서 하기로 했다.
작업을 위한 기능을 학습해야 했는데, 로그인을 할 때 로그인한 데이터를 어디에 담아야 할지에 대해 학습해야 했다.
먼저 로그인 구현은 JWT 토큰을 이용하기로 했고 토큰을 담을 저장소를 로컬, 세션, 쿠키 중에 선택해서 골라야 했는데, 본인은 쿠키에 담아 저장해보기로 했다.
먼저 JWT를 공부해야 했는데 JWT는 JSON Web Tokens의 약자로 보통 사용자의 인증을 토큰이라는 객체에 담아 저장소에 저장하게 된다.
JWT의 구조는 HEADER(헤더), PAYLOAD(내용), SIGNATURE(서명)으로 구성되어 있고
- HEADER에는 토큰의 해시 알고리즘과 타입을 알 수 있다. ex) 알고리즘 : HS256, 타입: JWT
- PAYLOAD에는 전달할 데이터와 토큰의 만료일 등을 알 수 있다. 데이터는 key와 value로 작성되어 있다
ex) name : 문미새, age : 99, 만료일 : 6asdfasfdfa ... 등
- SIGNATURE에는 토큰의 변조를 방지하기 위해 인코딩된 HEADER와 PAYLOAD의 값을 합친 후 SECRET KEY로 해쉬를 하여 생성한다.
나중에 알았는데 https://jwt.io/
이 사이트에 토큰을 검증하고 생성할 수 있게 해주는 디버거 서비스라고 하는데 signature부분이 파란색으로 작성되있으면 검증되었다고 한다.
먼저 로그인/회원가입은 html과 bulma를 이용한 css로 화면 작성을 완료했고 프론트와 연결할 백엔드는 파이썬의 flask를 이용해서 연동했다.
회원가입 -
각 input 태그에 입력된 값을 flask에서 받아 변수에 저장하여 데이터베이스로 쏴주면 성공했을 때 로그인 페이지로 이동하거나 실패했을 때 alert창이 뜨며 다시 회원가입창으로 넘어와진다.
데이터베이스에 같은 아이디가 있는지 확인하는 간단한 유효성 검사를 체크하고 비밀번호와 비밀번호 확인이 같지 않으면 못넘어가게 처리했다.
로그인 -
아이디와 비밀번호를 입력 시 데이터베이스에 있는 정보와 비교하여 동일한 정보가 있으면 로그인 성공 후 메인페이지로 이동하고 그 과정에서 로그인한 정보가 토큰으로 생성되어 쿠키에 저장된다.
2일차에는 jwt를 학습하는 과정에서 시간을 꽉 채워 저장소는 3일차에 학습했다.
학습시간 : 10 ~ 26시
'크래프톤 정글 > TIL' 카테고리의 다른 글
크래프톤 정글 week01, day06 - 1주차 공부키워드 - 1 (1) | 2024.02.19 |
---|---|
크래프톤 정글 week01, day05 - 알고리즘 학습 (1) | 2024.02.19 |
크래프톤 정글 week00, day04 - 프로젝트 발표 및 피드백 (1) | 2024.02.19 |
크래프톤 정글 week00, day03 - 프로젝트 작업 및 저장소 학습 (1) | 2024.02.19 |
크래프톤 정글 week00, day01 - 정글 입소 및 적응 (1) | 2024.02.19 |