FE
•
트러블 슈팅
[문제]
페이지가 로드된 후 추가 데이터를 불러오는 loadMoreItems() 함수가 호출되지 않거나 예상과 다르게 동작하는 문제가 발생 (=> 새로고침 시 response.data의 값이 html을 반환하는 오류 발생) [원인] useEffect 훅 내에서 데이터를 불러오는 함수가 컴포넌트 렌더링 후 바로 실행되지 않으며, 윈도우가 완전히 로드되기 전에 호출되어 데이터가 정상적으로 로딩되지 않음
[해결]
useEffect(() => {
window.onload = () => {
loadMoreItems();
};
}, []);
Plain Text
복사
window.onload 이벤트 리스너를 사용하여 브라우저의 모든 리소스(이미지, 스크립트 등)가 완전히 로딩된 후에 loadMoreItems() 함수가 호출되도록 설정. 이를 통해 데이터 로딩이 올바르게 처리되며 문제 해결
•
프로젝트 관련 사항
◦
목데이터 생성 시 API 명세서 참고 (필수)
BE
•
댓글 수정 및 삭제 API 인증 방식 논의
◦
토큰을 헤더로 받아 인증하거나 서비스 단에서 getMember() 메서드를 만들어 사용
public Member getMember() {
MemberDetail memberDetail =
(MemberDetail) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
return memberRepository.findByEmail(memberDetail.getUsername())
.orElseThrow(() -> new CustomException(ErrorCode.MEMBER_NOT_FOUND));
}
Plain Text
복사
•
JWT 필터 통과할 때 토큰을 파싱해서 security context에 유저 정보를 저장하고, 오기 때문에 이후 내부에 모든 곳에서 자유롭게 꺼내쓸 수 있음
•
헤더에 있는 토큰을 계속 파싱하는게 번거로우니 context에서 Member 정보를 꺼내오도록 하는 getMember() 메서드 제작
•
특산주 등록, 매니저 승인, 특산주 평균 평점 가져오는 redis 캐시 기능 완료
•
게시글 전체 조회시 태그값들이 null 나오는 문제 로직 변경으로 트러블슈팅
•
기능 구현 속도가 빨라 거의 마무리 되어감에 따라 추가적인 기능 도입의 필요성을 느낌
•
기능 구현 + 테스트 코드 작성 + API 명세 수정 작업중
•
FE와 DB 클라우드 구성 및 AWS 배포 관련 검토할 예정
•
ES 도입 관련 논의 : 태그 검색 외에도 포스팅 내용 검색을 추가하여 ES 사용의 의미를 더할 방안 검토
•
기능 구현 상황
◦
회원가입, 로그인 완료
◦
소셜 로그인 연동 완료
◦
지역(Region) 등록, 조회 완료
◦
게시글 CRUD 완료
◦
특산주 등록, 신청글 조회 완료
◦
댓글 CRUD 완료
◦
신고 등록, 조회 완료
◦
매니저 권한(특산주 등록 승인, 반려) 완료
◦
팔로우 - 태그 기능
◦
알림 기능
◦
추천 기능
◦
검색 기능