다시 돌이킬 수 없는 이 순간
다시 돌아올 수 없는 이 곳
망설이지말고 해보자
내가 포기하고 들어온 것을 생각하면서 내가 선택한 항해를 내가 책임져야한다. 설렁설렁 할 수 없다.
오늘 회의 (22년 7월 7일 (목))
- 트러블 슈팅 잘 작성하자!!
내일 할 거
- 유저 정보 프론트에 내려주기 (닉네임, 사진, 메일)
=> GET 메서드, /user/inform
- 커픽 등 이전 기수 실전 프로젝트를 참고하면서 (accessToken, refreshToken 알아보자)
- 로그아웃 API 작성하고 만들기
- 카카오/네이버/구글 지금은 테스트로 로그인하고 있는데 나중에 앱게시를 어떻게 하는지 찾아보기
오늘 내가 할 거
1. 소셜 로그인 - 네이버/구글
- 이메일 (카카오/네이버/구글 안 겹치려나..)
- 프론트분과 같이 소셜로그인 카카오/네이버/구글 같이 맞춰보기
프론트 분과 같이 맞춰본 거 (내가 해야할 거)
1. 소셜 로그인에서 이메일 null 값이 들어오면 이메일 랜덤값으로 주자
-> 카카오는 이메일 선택 동의
-> 네이버는 이메일 필수 동의
-> 구글은 이메일 필수 동의
2. 카카오/네이버/구글 이미지 선택 동의
-> 이미지 없이 null값으로 들어오면 기본 이미지를 집어넣자
3. 닉네임은 랜덤값을 줄거니깐 사용자 정보 동의 에서 빼자
4. 네이버 소셜로그인에서 쓰던 이메일이랑 카카오 소셜로그인이랑 이메일이 같을때 ...
어떻게 하지 ㅠㅠ
5. 소셜로그인 지금은 테스트인데 앱게시 하는 거 알아보자
2. 로그아웃 / accessToken, refreshToken
3. 마이페이지
(닉네임, 사진 수정가능하게) / 이메일도 수정 가능한데 이메일 인증 하고나서 수정 가능하게 하기
오늘 내가 한 거
- 프론트분과 같이 소셜로그인 카카오/네이버/구글 같이 맞춰보기 ->일단 카카오/네이버/구글 다 된다.
내가 해야할 거
-- 백에서만 할 수 있는 거 생각해보기
- 나는 회원가입, 로그인, 소셜 로그인, 로그아웃, 마이페이지 담당
- 로그인, 회원가입 API, 마이페이지 API 작성하기, 로그아웃 API 작성
- accessToken, refreshToken 찾아보기
- 마이페이지 만들 때 피그마 보면서 하기
- 회원가입할 때 이미지를 등록 안하고 싶은 분들을 위해서 기본이미지 생성 의견 말해보기 - 추진
- API 반환값 ResponseEntity로 변경하기 그리고 API명세서 수정하기 - 다 한거 같지만 다시 확인하기
/ - 에러코드 exceptionHandler 로 바꾸기
회원가입, 로그인
- RestAPIException 알아보기
회원가입, 로그인, 소셜 로그인 (일단 2주간의 시간 안에 다 해야함)
=> 카카오/네이버/구글 로그인 해야함
- 회원가입 할 때나 소셜 로그인 할 때 프로필 사진 없으면 기본 사진 넣을 수 있게 만들기 -> 일단 기본 이미지 넣음
->- 회원가입, 소셜로그인 둘다 이미지 없을 때 null일 때 기본 이미지 넣는 거 생각해보기
- 카카오/네이버/구글에서 이메일 가져올 때 이미 존재하는 이메일이면 회원가입 안되게 하자 - 회원가입할 때 존재하는 메일인지 메일 인증 (회원가입 누르면 메일 발송되게 해보자)
- 소셜 로그인에서 받아오는 이메일이나 닉네임들이 일반 로그인이랑 겹칠 수 있음 -> 카카오 로그인 할 때 이메일을 랜덤값으로 가져오자
- 회원가입 누르면 이메일 인증하고 이메일 인증 가능하게 하기
-> 회원가입 정보들을 적어놓고 이메일 인증을 하러가면 잠시 정보를 저장해야하는데 백에서 할지 프론트에서 할지 정하기!! 알아보자
-> 잠시 저장하고 이메일 인증이 완료되면 그 저장된 정보 DB에 저장하기
소셜로그인
- 카카오 로그인 할 때 kakaoService 코드에서 system.out 다 없애기 -프론트랑 연동 잘 된거 본 후에 없애자
- 카카오 로그인 username을 email로 받아오기 + 프로필 사진도 추가해야함
=> 카카오 email 로 받아오는 거 그냥 회원가입 한 사람이랑 겹칠 수 있는 문제 해결하기
/ 카카오 이메일 (선택 동의) 선택이라서 선택을 안하면 어떻게 해야할 지 프론트분과 논의 해보기
/ 카카오 로그인할 때 이메일은 선택사항이라서 이걸 어떻게 할지 물어보기
(아니면 카카오에 이메일 필수동의 신청할 수 있는 지 찾아보기)
마이페이지
-- 마이페이지 / PUT, GET (로그인 한 사용자) => 사진 포함 되어있으니 다 formdata로 만들기
=> 닉네임, 사진, (선호커피브랜드는 빼기로 했음)
-- 로그인을 만들고 소셜 로그인 알아보자
- 비밀번호 정규식 어떻게 할지 프론트분께 물어보기
=> 로그인 기능 맡은 프론트분께 비밀번호 정규식 알려드리기
- 로그아웃 처리 백엔드도 알아보기
- 아이디 찾기, 비번 찾기, 로그아웃하기 기능추가
- 마이페이지 닉네임, 프로필 사진, 현재 내 포인트(자동으로 적립), 찜한 목록/찜한 게시글 볼 수 있게하기
- 회원가입할 때 FormData 필요 프로필 사진이 필요해서
=> 마이페이지 수정할 때도 FormData 필요 수정(PATCH로 해보자) or PUT 알아보기
- (닉네임, 사진 수정가능하게) / 이메일도 수정 가능한데 이메일 인증 하고나서 수정 가능하게 하기
- 사진, 닉네임, 메일, 내가 좋아요한 목록들(채팅, 커피, 게시판, 내가 쓴 글)
기타
- 이전 기수 실전프로젝트 코드 분석하기
- SkipPahtList로 GET으로 불러올 수 있는 거 다 허용해주기 / 주기적으로 확인하면서 바꾸기
- 백엔드 카카오 로그인 APP key 깃이그노어에 등록하기 / sw님꺼를 참고해서 물어보자
=> 내 카카오앱키도 깃허브에 올라가져있어서 나중에 따로 빼는 방법 알아보자.
아니면 다시 삭제하고 새로 만들어야겠다.
완료한 거
회원가입, 로그인
- 사용자에게 관리자 권한 부여하는 건 했고 관리자 허용 가능한 인증 코드가 필요한데 이거를 이메일 인증으로 해볼까 생각중 이었는데 관리자 권한 한개 아이디에만 부여하기로 바꿈
(우리 팀만 아는 아이디 하나만 관리자 권한을 부여하자)
- 닉네임 한글로 적을 때 프론트에 가면 한글 깨지는 현상 공부하기 -> 프론트에서 받을 때 이상 없다고 하셨음
- JWT 토큰 안에 USER 정보를 담아서 보내야한다. 로그인 시 중요한 사항 -> 프론트분께 token에 user 정보를 담아서 보내는 데 프론트 쪽에서 복호화해야 한다고 말해드리기 (프론트에 복호화 라이브러리가 있다.)
=> 로그인 성공하면 body값에 넣기로 함
-- ID, 닉네임 중복, 패스워드
-- 로그인 - 관리자 권한 설정
=> 로그인 후 따로 관리자 권한 설정 할 수 있는 API 작성
-- 로그인 / 월요일까지 하기(22년 6월 27일)
- 아이디(username) 형식 / 이메일로 할지 그냥 기존 아이디 (예. dkdlel78) 로 할지 프론트분께 물어보기
- 회원가입, 로그인 등 ResponseEntity 반환하는 거로 바꾸기 / errorcode 추가함
- 회원가입할 때 사진 저장 / 사용자(USER) DB에 프로필 이미지 추가하기
- 이메일 글자 수 제한 -> 정규식으로 대체
- 회원가입 formdata로 받을 수 있게 하기
- 패스워드 체크 넣을 지 물어보자 -> 백에서는 password 하나만 받아오기로 함
- 구글링으로 소셜 로그인(네이버, 구글) 따라해보기 -> 실전 프로젝트 보고 따라하기
-- 회원가입 약관 동의 를 만들어야 하나? ->회원가입 약관동의 프론트에서 백은 아무것도 안함
- 닉네임 길이 제한 둘지 물어보기 / 2자 이상 10자 이하
- 비밀번호 8자 이상 20자 이하 / 영어, 숫자, 특수문자 필수
- 닉네임 2자 이상 10자 이하 / 영어, 한글, 특수문자 다 가능하게 하자
- 네이버 로그인 할 때 String state 추가해줘야 한다.
- JWT 토큰 안에 USER 정보를 담아서 보내야한다. 로그인 시 중요한 사항
- 로그인할 때 유저 닉네임 정보 프론트로 갈 수 있게 해주자 -> 로그인시 body에 담아서 보낸다.
- API마다 반환타입에 Status 붙여주기 필수
- 프론트분과 맞춰보기 / 로그인 ResponseEntity에서 뭐 받으실지 결정하기
소셜 로그인
- 구글 로그인은 HTTPS 필요 -> 네이버랑 구글 로그인 https 안 해도 됨
-- 카카오 로그인 / 아이디, 사진
-- 네이버 로그인 / 프로필 사진
-- 구글 로그인 / 프로필 사진
=> 사진 들고 올 수 있는 지 확인하기 (카카오/네이버/구글 모두 사진 가능)
- 소셜 로그인에서 받아오는 이메일이나 닉네임들이 일반 로그인이랑 겹칠 수 있음
-> 소셜 로그인의 닉네임은 다 랜덤값으로 주고 마이페이지에서 변경하도록하자
- 프론트분과 같이 소셜로그인 카카오/네이버/구글 같이 맞춰보기 -> 잘 되었다.
프로젝트 해야할 거
- HTTPS => 지도 golocation하려면 HTTPS 사용해야 함
=> front쪽
=> 백엔드쪽 Springboot에서 SSL 인증 적용하는 방식
- 도커는 자동으로 인스턴스 배포 (무중단 배포)
무중단 배포는 테스트? 실제 배포는 EC2
- NGINX - 서버의 부하를 줄여준다.
- 로그인 (+ SSL은 이메일 인증)
- 실전 이전 기수들 보면서 아키텍처 연구하기
매일 해야할 거
- 알고리즘 하루에 1개 풀기 - 1시간이상 고민하지 말기 1시간 후에 답지보면서 이해하고 정리하기
- TIL 쓰기
- 공책에 적은 거 정리하기
- 메모장에 적은 거 정리하기
↓↓↓↓↓
-- 정신차리자
- 수학 - 하루에 한개만이라도 풀어보기
- 단계별로 풀어보기
- TIL 적기
- 알고리즘 하루 한개라도
-- 알고리즘 하루 1개 해보자 (자료구조 스택/큐/힙 중요!!)
- exceptionHandler
- 공책정리
'Today I Learned' 카테고리의 다른 글
TIL_항해99_61일차 (실전 프로젝트 15일 차) - 정신 차리자 (0) | 2022.07.09 |
---|---|
항해99 <Spring 트러블슈팅 특강> (0) | 2022.07.07 |
TIL_항해99_59일차 (실전 프로젝트 13일 차) - 정신 차리자 (0) | 2022.07.06 |
TIL_항해99_58일차 (실전 프로젝트 12일 차) - 정신 차리자 (0) | 2022.07.06 |
TIL_항해99_57일차 (실전 프로젝트 11일 차) - 정신 차리자 (0) | 2022.07.05 |