우아한테크코스 5기 팀바팀 Project/Trouble Shooting

우아한테크코스 5기 팀바팀 Project/Trouble Shooting

[Spring] 팀바팀 회원 탈퇴 기능 Trouble Shooting (feat. 스프링 이벤트)

0. 문제 상황 팀바팀에서는 회원을 나타내는 'Member' 엔티티와 RefreshToken을 나타내는 'Token' 엔티티가 존재했습니다. 엔티티 설계를 진행할 때, Member와 Token 엔티티는 1:1 관계로 설계를 진행했습니다. Member가 생성될 때 Token이 생성되고, Member가 삭제될 때 Token도 삭제되므로 생명주기도 비슷해서 직접 참조를 하는 것으로 설계를 진행했습니다. 이때, Member라는 엔티티에서 Token을 직접 참조하면 편하긴 하겠지만, 닉네임, 이메일 등 회원 정보가 담겨있는 Member 테이블에 인증 정보인 Token 정보가 담긴다는 것이 조금 이상했습니다. 이후에 Token만 만료시킬 상황에도 Member에서 참조를 하게 된다면 token_id를 null로 처리..

우아한테크코스 5기 팀바팀 Project/Trouble Shooting

구글 로그인 Trouble Shooting (feat. Base64 / Base64Url)

❌ 0. 문제 상황 서비스를 배포하고 나서 피드백을 받을 때, 일부 사용자의 구글 로그인이 정상적으로 작동하지 않는 문제가 발생했습니다. 서버의 로그를 확인해보니, 다음과 같은 에러가 발생하고 있었습니다. 구글 로그인에 관한 에러인데 왜 Base 64 에러가 뜨는지 상당히 궁금했었습니다. 그래서 구글링을 거쳐 'Base64와 Base64Url의 차이'라는 키워드를 알게 되었고, 위의 키워드가 문제 원인 & 해결 방법을 제시해주고 있었습니다. 📘 1. Base64와 Base64Url의 차이 Base64와 Base64Url의 차이를 알아보기 전에, Base64와 Base64Url이 무엇인지 간단하게 살펴봅시다. ✅ 1-1. Base64 Base64는 8비트 이진 데이터를 텍스트(ASCII 문자)로 인코딩하는..

우아한테크코스 5기 팀바팀 Project/Trouble Shooting

[Spring] LocalDateTime 원하는 Format으로 바인딩하기 (feat.@DateTimeFormat, @JsonFormat)

이 글은 팀바팀 기술 블로그에 작성된 글입니다. https://team-by-team.github.io/local-date-time-binding/ LocalDateTime 원하는 Format으로 바인딩하기 (feat.@DateTimeFormat, @JsonFormat) 해당 글은 우아한테크코스 5기 팀바팀 크루 성하가 작성했습니다! 📘 0. 일정 등록 API Request Body API 명세를 정할 당시에는 LocalDateTime이 요청으로 들어왔을 때 어떻게 Request Dto의 필드로 바인딩되 team-by-team.github.io 📘 0. 일정 등록 API Request Body API 명세를 정할 당시에는 LocalDateTime이 요청으로 들어왔을 때 어떻게 Request Dto의 필..

BE_성하
'우아한테크코스 5기 팀바팀 Project/Trouble Shooting' 카테고리의 글 목록