본문 바로가기

분류 전체보기

(181)
TIL-230905(항해99 실전 프로젝트-행동대장(25)) 📝오늘 공부한 것 실전프로젝트 - '행동대장' 발표준비 실전프로젝트 - '행동대장' 코드리팩토링 및 보완 📌 코드 리팩토링 및 보완 1. controller에 남아있던 service 로직들을 service로 넘겼다. ex) ✔ UserConrtoller @PostMapping("/login") public ResponseEntity login(@RequestBody @Valid LoginRequestDto requestDto, HttpServletResponse response){ CommonResponse commonResponse = userService.login(requestDto); LoginResponseDto responseDto = commonResponse.getData(); respon..
TIL-230904(항해99 실전 프로젝트-행동대장(24)) 📝오늘 공부한 것 실전프로젝트 - '행동대장' 유저피드백 정리 및 반영 📌 User Feedback 유저피드백 받은 내용들을 프로젝트에 반영하기 위해 정리를 해보았다. 75개의 유저피드백이 들어왔다. 짧은 기간이었는데도 불구하고, 생각보다 많은 사람들이 피드백을 주어서 뿌듯했다!! 서비스에 대한 만족도는 8~10 점이 60%로 높은 편이었다. 서비스를 이용하면서 만족스러웠던 기능으로는 지도의 지도의 클러스터 기능 및 핀 기능, 회원가입 완료 시 컨페티 효과, 게시글 필터링 기능(최신순, 불편순, 해결완료) 등이 있었고, 우리 사이트를 아래의 이유로 만족한다고 답변했다. - 공익적이고 긍정적인 서비스 - 사용 방법이 직관적이에요 - 지도로 한눈에 볼 수 있어서 편해요 - 미리 피해갈 수 있어서 - 복잡하지..
WIL-2023/9월 (1) 2023.08.28. ~ 2023.09.03. 📝이번주 목표 1. 실전프로젝트 - refresh token API 로직으로 다시 구현 2. 실전프로젝트 - 코드 리팩토링 3. 실전프로젝트 유저피드백 준비 및 진행 4. 인프런 김영한 Spring 끝까지 듣기 ✍🏻이번주 목표 달성 여부 ✅ 실전프로젝트 - refresh token API 로직으로 다시 구현 2. 실전프로젝트 - 코드 리팩토링 ✅ 실전프로젝트 유저피드백 준비 및 진행 4. 인프런 김영한 Spring 끝까지 듣기 + ✅ 마이페이지 기능구현 💡알게 된 점 총정리(TIL회고) 실전프로젝트를 진행하며 가장 고민했던 부분 (해결했다면 과정과 결과 포함) 이제 실전프로젝트가 거의 마무리되어 간다. 다음주면 이제 진짜 끝이다!! 처음 프로젝트를 시작할 때..
TIL-230902(항해99 실전 프로젝트-행동대장(23)) 📝오늘 공부한 것 실전프로젝트 - '행동대장' CORS에러 해결 ⛔문제점 [프론트에러 메시지] Access to XMLHttpRequest at 'https://~~백엔드 주소~~:8080/api/posts/177' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. :3000/detail/178:1 Access to XMLHttpRequest at 'https://~~백엔드 주소~~::8080/api/posts/178' from origin 'http://localhost:3000' has be..
TIL-230901(항해99 실전 프로젝트-행동대장(22)) 📝오늘 공부한 것 실전프로젝트 - '행동대장' 로그인 시 refresh token 추가 기능 구현 📌 Refresh Token 추가 처음에 refresh token기능을 구현할 때, 프론트에서 만료된 access token으로 request를 하면 나는 만료된 access token인 것이 확인이 되고 refresh token이 유효한 것도 확인이 되면 새로운 access token을 발급하는 방식을 사용하였다. 뭐가 문젠지는 모르겠지만, 계속 프론트에서 새로 발급받은 access token을 받지 못한다고 하였다. CORS에러가 난것도 아니고, fostman으로 잘 확인이 되어서 뭐가 문젠지를 찾지 못했다. 그래서 프론트분과 다른 기능을 먼저 구현을 끝내고 refresh token을 다시 도전해보기로 ..
TIL-230831(항해99 실전 프로젝트-행동대장(21)) 📝오늘 공부한 것 실전프로젝트 - '행동대장' 닉네임 변경 트러블슈팅 실전프로젝트 - '행동대장' 마이페이지 구현 ⛔문제점 마이페이지를 추가하면서 닉네임 변경 기능을 구현하게 되었다. JWT 생성 시 닉네임 정보를 사용하는데, 이로 인해 닉네임이 변경된 경우 이전에 발급받았던 JWT가 더 이상 유효하지 않게 되는 문제가 발생했다. 즉, 닉네임이 변경된 후에도 사용자는 이전 닉네임으로 생성된 JWT를 가지고 있어서 권한 관련 문제가 생긴것이다!! [createAccessToken메서드] [updateNickname메서드] 💯해결 사용자의 닉네임이 변경될 때마다 새로운 access token과 refresh token을 발급하여 클라이언트로 전달하도록 처리했다. [updateNickname메서드] 이렇게 함..
TIL-230830(항해99 실전 프로젝트-행동대장(20)) 📝오늘 공부한 것 실전프로젝트 - '행동대장' 마이페이지 구현 📌 마이페이지 카카오로그인 시 이메일제공에 동의하지 않고 가입하는 유저는 이메일에 대한 정보가 들어오지 않아 DB에 저장을 할 수 없다. 그런데 우리 프로젝트에서 알림기능을 추가로 구현하기로 하였다. 사이트에서의 알림뿐만 아니라 '해결했어요'가 5개 넘으면 게시글이 완료처리되면서 완료되었다는 알림을 이메일로 보내는 기능을 추가하였다. 그런데 이메일이 없는 카카오유저에게는 이메일이 가지 않아, 나중에 받고 싶어도 받을 수 있는 방법이 없기 때문에 이메일을 따로 받게 하자고 하였다. 그래서 이메일을 따로 등록하는 기능을 만들기 보다는 마이페이지를 만들어서 그 기능을 추가하자는 의견이 나왔다. 마이페이지에는 이메일 추가등록, 닉네임 변경, 비밀번호..
TIL-230829(항해99 실전 프로젝트-행동대장(19)) 📝오늘 공부한 것실전프로젝트 - '행동대장' 트러블 슈팅실전 프로젝트 - '행동대장'  유저피드백 준비 📌 트러블 슈팅⛔ 문제점 : Dirty Checking이 작동되지 않음마이페이지에서 이메일, 닉네임, 비밀번호 update기능을 구현하였는데 DB에 반영되지 않는 문제가 발생하였다. [updateNickname메서드]닉네임 변경에 대한 코드를 작성하고 dirty checking을 기대하며 Transactional을 걸어주었다.@Transactional을 걸어주면 JPA Entity를 업데이트할 때 Dirty Checking을 지원하여 트랜잭션 안에 save를 명시적으로 호출하지 않아도 commit시에 판단해서 update를 해준다. [Postman][User table] 그런데 코드를 실행하였을 때..