Backend

    [Spring Boot] @Transactional 내부에서 발생한 Exception과 rollback (+ 고찰 추가)

    📕 목차 1. @Transactional 내부에서 Exception 발생 2. 로그 추적 3. 코드 추적 4. 문제의 근원 5. 결론 1. @Transactional 내부에서 Exception 발생 📌 발단 @Slf4j @Helper @RequiredArgsConstructor public class UserSyncHelper { private final UserService userService; /** * 일반 회원가입 시 이미 가입된 회원인지 확인 * * @param phone String : 전화번호 * @return Pair : 이미 가입된 회원인지 여부 (TRUE: 가입되지 않은 회원, FALSE: 가입된 회원), 가입된 회원인 경우 회원 ID 반환 * @throws UserErrorExcep..

    [Spring Boot] Controller & Controller Advice Unit Test에 대하여

    📕 목차 1. Annotation 2. Test planning 3. Test case implementation 1. Annotation 💡 개념 설명은 잘 되어 있는 곳이 너무 많아서, 사용 방법에 대해 보다 상세하게 서술했습니다. 📌 @SpringBootTest 통합 테스트를 위한 어노테이션 그야 말로 만능. 하지만 만능이기 위해서 모든 Bean을 등록시켜야 하기 때문에 느리다. Test는 빨라야 한다. 그렇지 않으면 테스트 케이스의 이점을 가질 수 없다. 불필요한 데이터 생성이 많고, 테스트 대상 범위가 넓어져 실제 테스트 대상에 집중이 어렵다. (Controller만 테스트 하려는데, Service나 Repository까지 신경써야 한다.) 단위 테스를 위함이라면 @SpringBootTest를 ..

    [Nginx] iOS 연동 시 Error Domain=NSURLErrorDomain Code=-1200 에러 해결

    iOS 개발자랑 협업을 진행하면서 서버를 개발하는데, 프론트 팀에서 "간헐적으로 서버에 요청을 보내면 이런 에러가 뜨면서 연결이 실패해요."라고 아래 로그를 내게 보여줬다. 2024-01-21 16:31:12.778463+0900 fit-a-pet-client[4048:19194] [LayoutConstraints] Unable to simultaneously satisfy constraints. Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) ..

    [Spring Boot] 프로젝트 멀티 모듈화 고찰

    💡 해당 포스트는 필자의 빈약한 이해 지식을 기반으로 한 프로젝트 멀티 모듈화입니다.개발이 진행됨에 따라 추후 지속적으로 내용이 변경될 수 있으며, 혹시나 본인의 프로젝트에도 반영을 하실 거라면 아래 첨부해둔 영상과 포스팅들을 보시는 게 훨씬 도움이 됩니다.일시설명`24.02.03• 포스팅 작성`24.03.15• jwt 모듈 변경`24.04.02• 다른 진행 중인 프로젝트 링크 업로드• @SpringBootApplication 테스트 환경 충돌 제어`24.04.30• Soft Delete 정책과 @SQLRestriction, 멀티 모듈`24.06.04• 더 고민해야 할 것들: Domain 모듈의 OpenAPI 의존 문제 • 더 고민해야 할 것들: UseCase와 파사드 패턴의 적용 📕 목차1. 서론2..