전체 글(150)
-
간단한 Debugging 사용법
✔오늘 배운 중요한 🔑 point특정 지점에 실행을 중지하고 싶을 때는 Break Point코드의 흐름을 보고싶을때는 Step Over(F8)중단된 시점에서 표현식이나 변수의 세부적인 값을 알고싶을 때는 Evaluate Expression(Alt+F8)🎯 오늘 배운 내용 프로젝트를 진행하면서 수도없이 많은 오류를 직면하게 되는데 chatGpt나 구글링을 통해서 오류를 해결하는 경우도 매우 많지만 Gpt나 구글링 만으로는 도저히 해결이 되지 않는 상황 또한 많이 발생하게 된다.그럴때에는 직접 해당 오류를 스스로 찾고 해결해야하는 경우가 생기는데 그럴때에 매우 유용하게 사용할 수 있는 것이 디버거(Debugger) 모드이다. 인텔리제이(Intellij)에서 디버거 모드 사용하는 법 윈도우 기준 Shif..
2024.07.28 -
기존 회원가입,로그인 서비스에 소셜로그인 합치기
❎ 오늘의 진행상황 소셜 로그인용 dto 추가package sparta.nbcamp.wachu.domain.member.dtodata class SocialSignUpRequest( val nickname: String, // nickname을 넣은 이유는 동일한 소셜로그인으로 회원가입한 유저의 nickname이 기존 서비스 회원의 nickname과 중복됬을 경우를 고려했기 때문 val email: String,) service 추가fun socialLogin(request: OAuthResponse): TokenResponse { val loginMember = memberRepository.findByProviderAndProviderId(request.provider, reque..
2024.07.27 -
네이버 소셜 로그인 Error while extracting response for type 오류
❎ 문제발생 카카오에 이어 네이버 소셜 로그인 기능을 추가하여 시도하던 도중 오류 발생 json타입 에러가 발생하였다. 🆘 해결 과정 현재 네이버 소셜로그인을 통해 가져온 정보를 팀프로젝트의 dto로 가져오는 상황에서 문제가 발생한 것으로 보여 디버깅을 실시하였다. .let { naverOAuth2LoginClient.retrieveUserInfo(it) }부분까지는 실행이 잘 되지만.let { OAuthResponse( nickname = it.properties.nickname, providerId = it.id.toString(), profileImageUrl = it.properties.profileImageUrl, provider = ..
2024.07.26 -
소셜 로그인 오류 해결
🆘 해결 과정 화이트 라벨이 발생하니 경로를 확인해보자 @GetMapping("/oauth2/callback/kakao")fun callback( @RequestParam code: String): ResponseEntity { val accessToken: String = kakaoOAuth2LoginService.login(code) return ResponseEntity.ok(accessToken)}callback 함수의 경로를 "/oauth2/kakao/callback " 에서 "/oauth2/callback/kakao"로 수정 수정하고 실행을 해보니 새로운 에러 메시지를 확인하였다.해당 에러 메시지가 발생한 곳에 원인을 찾을수 있을 것으로 보인다.해당부분의 경로에 oauth가..
2024.07.25 -
소셜 로그인 Failed to fetch 오류
❎ 문제발생 와인 서비스 프로젝트에서 기존의 회원가입 로그인 기능에 소셜로그인 기능을 추가하기 위해서 OAuth 기능을 추가한 상황이다.소셜 로그인 기능을 사용하기 위해서 스웨거로 테스트를 했을때 해당 오류가 발생하였다. 🆘 해결 과정 지금 카카오 쪽의 api가 문제인지 아니면 나의 로직 상의 문제인지부터 확인을 해야했다. 디버깅으로 소셜로그인의 흐름을 살펴봤을때는 pageUrl에 값이 들어오긴 한 상황이다.해당 PageUrl은 제대로 된 값인지 확인을 해보았다.https://kauth.kakao.com/oauth/authorize?client_id=3215a3e64cedbd8258a05d024ab3ed66&redirect_url=http://localhost:8080/oauth2/callback/ka..
2024.07.24 -
pagedModel fetchJoin 적용후 redis Cache 적용시 발생하는 오류 해결
✔ 해결 PagedModel은 단순한 데이터 구조가 아닌, 페이지네이션 정보와 함께 리소스 링크 정보를 포함하고 있고 복잡한 구조를 가지고 있기 때문에 직렬화,역직렬화를 진행하는데 문제가 생긴다. 이를 해결하기 위해서는 Redis를 사용할 때 PagedModel을 직접 캐시하기보다는 JSON 형식으로 직렬화하여 저장하거나, 페이지별로 데이터를 캐시하고 페이지네이션을 처리하는 것 또한 하나의 방법이 될 수 있다.하지만 데이터만 캐시하고 후에 캐시된 데이터를 pagedModel 형태로 재조립 하는 과정은 결국에 캐시를 사용하려는 목적(서버의 성능 부하 개선)에는 부합하지 않는다고 판단하여 최종적으로 pagedModel을 사용하지 않고 page 객체를 사용하는 것으로 해결하였다. @Cacheable(value..
2024.07.23