🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [92]일차🚀92일차에 발생했었던 오류해결과정 및 수정사항을 회고하고자한다. (2025.04.23)유저 생성 후 팔로우를 하여도 해당 유저의 팔로잉 목록은 비어있는 문제 ⚠️오류원인- userId와 Id 경로 문제- LazyInitializationException 오류 발생➡️JPA의 지연 로딩(Lazy Loading) 관련 문제로, 트랜잭션 범위 밖에서 지연 로딩된 엔티티에 접근하려고 할 때 발생⌛진행과정1. 새로운 유저 생성 (기존에 가입된 유저가 "팔로우할" 유저를 새로 생성함)curl -X POST http://localhost:8090/api/v1/members/signup -H 'Content-Type: application/js..
🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [91]일차🚀91일차에 발생했었던 오류해결과정 및 수정사항을 회고하고자한다. (2025.04.22)🖇️기타 업데이트 사항- ERD 사진 엔티티 추가게시글에 여러 장의 사진이 들어가면서 사진 관리의 복잡도가 증가또한 S3에서 가져온 사진 URL을 저장할 필요가 생김이를 해결하기 위해, 사진 정보를 별도로 저장하는 Photo 엔티티를 도입사진 타입 컬럼 (photo_type) 사진의 용도를 구분하기 위해 PhotoType enum을 정의하여,- 프로필 사진 (PROFILE)- 게시글 메인 사진 (MAIN)- 게시글 추가 사진 (ADDITIONAL) 으로 나눔➡️해당 사진이 어떤 용도로 쓰였는지 빠르게 식별 가능URL 컬럼 (url) S3에서 사..
🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [88]일차🚀88일차에 발생했었던 오류해결과정을 회고하고자한다. 원격저장소 브랜치와 로컬저장소 브랜치의 충돌 해결 ⚠️오류원인기존 원격 저장소의 develop브랜치가 제대로 동작되지 않는 것을 확인다른 인원이 판단 하에 기존 원격 저장소의 develop브랜치를 제거하고 새로운 develop브랜치를 생성하는 것으로 결정다른 인원들은 원격 저장소의 develop브랜치에서 작업한 feature/#이슈번호 커밋들을 올리고 있던 상황이때 원격 저장소의 develop브랜치가 삭제되었으므로 각자 인원들의 로컬저장소에서도 develop브랜치를 삭제한 후원격 저장소의 develop 브랜치를 받아오면서 최신화시켜야함⌛진행과정main 브랜치로 이동 후 forc..
🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [86]일차🚀86일차에 발생했었던 오류해결과정을 회고하고자한다.원격 브랜치를 로컬로 가져올때 로컬에는 해당 브랜치가 없는 경우 ⚠️오류원인원인을 분석해보면 GitHub에 새로 생긴 feature/#52 브랜치를 원격(origin)에서 받아왔는데아직 이 브랜치가 로컬(local)에 만들어지지 않았을때 발생하는 것이다.명령어를 분석해보면 git branch➡️ 로컬 브랜치 목록만 보여줌따라서 git pull을 할 때, 새 원격 브랜치를 알게 된 것뿐이고, 로컬에는 아직 그 브랜치가 없는 상태⌛진행과정git pull로 main브랜치에서 최신화된 내역을 가져올때[new branch] 로 feature/#52도 가져와진 것을 확인할 수 있지만git b..
🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [85]일차🚀85일차에 발생했었던 오류해결과정을 회고하고자한다.빌드가 되지 않는 오류 ⚠️오류원인팀원들이 개발했던 엔티티들을 develop 브랜치에 Merge한 후 기능 개발에 대한 것을 분담할 수 있었다.기능 개발 분담 후 develop 브랜치의 내용을 git pull 해서 실행시켜보려는데 오류가 발생했다.main 클래스 실행시 (SpringBoot) 실행이 되지 않는 문제오류 코드 : Error: LinkageError occurred while loading main class com.likelion.momentreeblog.MomentreeblogApplication✅해결방법SDK 버전 17 → 21로 변경Project Structur..
🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [84]일차🚀84일차에 발생했었던 오류해결과정을 회고하고자한다.브랜치 충돌 ⚠️오류원인- main브랜치에서 develop 브랜치를 만든 후 develop브랜치에서 feature/#이슈번호로 분기해나가야하는데main브랜치에서 바로 feature/#이슈번호로 분기해나가게되어팀원들이 작업한 내용을 다시 브랜치옮겨서 진행해야하는 것이었다.⌛진행과정main브랜치로 이동해서 로컬저장소의 feature/#이슈번호 를 삭제하고develop 브랜치를 만들어 develop → feature/#이슈번호 브랜치도 새로만들고➡️git branch feature/#이슈번호 혹은 git checkout -b feature/#이슈번호💡원인분석충돌 해결하는 과정이 충돌 ..
상황⚠️"특정 사용자 조회" 와 "특정 사용자 삭제" 명령어 처리 시 오류 발생원인 가능성- 각 메소드에 orElseThrow() 와 같은 예외 처리를 하지 않은 것- 삭제 메소드에 존재하지 않는 사용자인 경우 처리할 조건을 지정해주지 않은 것해결방법1. [특정 사용자 조회] 메소드 수정기존 코드 (UserService)// 특정 사용자 조회 (SELECT - READ)public User getUserById(Long id){ return userRepository.findById(id).get();}// JPA가 자동으로 만들어주는 findById()를 이용해서 조회해볼 수도 있음public User findById(Long id){ return userRepository.findById(..
상황hr데이터베이스에 설계된 엔티티들을 생성하면서 많은 엔티티와 관계를 갖고 있는 Employee엔티티를 만들게되었는데 이 Employee 엔티티를 CommandLineRunner에서 findBySalaryBetween() 메소드를 테스트할때 문제가 발생하였다.forEach()를 통해 log.info()로 employee.toString()을 출력하였지만 제대로 출력되지 않았다.원치않는 결과원인 가능성@ToString 어노테이션이 추가되었음에도 "순화참조문제 = 무한루프문제" 가능성으로제대로 출력되지 않을 수 있음@Entity@Getter@Setter@NoArgsConstructor@ToString@Table(name = "employees")public class Employee { ... }@ToSt..
상황 Spring Data JPA 실습을 진행하기 위해 도커를 실행시켰는데 동작하지 않았다.오류 메시지Cannot start Docker Compose application. Reason: compose [start] exit status 1. Container mysql-vacation-db-1 Starting Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:3306 -> 0.0.0.0:0: listen tcp 0.0.0.0:3306: bind: An attempt was made to access a socket in a way forbidden by its access permissions.포트번호 충돌로 ..