[Java/SpringBoot] Spring에서 예외를 던지지 않고 API 응답은 유지하며 로그는 ERROR로 남기지 않도록 처리하는 방법
·
개발 (Development)/Java
Spring 기반의 백엔드 개발을 하다 보면 다음과 같은 요구사항이 생길 수 있습니다.클라이언트에게는 일정한 응답 포맷을 유지하면서내부적으로는 경고 상황임을 감지해야 하며로그에는 ERROR 레벨이 아닌 WARN 또는 INFO 수준으로만 기록하고 싶다이 글에서는 위와 같은 상황에서 예외 처리 방식을 어떻게 구성하면 좋을지 실제 구현 예제를 기반으로 정리하였습니다.문제 상황예외가 발생할 때 다음과 같이 @ResponseStatus가 지정되어 있는 커스텀 예외를 사용하고 있었습니다.@ResponseStatus(value = HttpStatus.BAD_REQUEST, reason = "custom error")public class CustomException extends RuntimeException { ..
[Java] printStackTrace() 경고 해결 및 로깅 적용하기
·
개발 (Development)/Java
Java 코드를 작성하던 중, printStackTrace()에 노란색 경고 줄이 생기는 것을 발견했습니다. 단순히 예외 정보를 콘솔에 출력하는 방식은 실제 서비스 코드에 적절하지 않다는 것을 의미하는 경고였습니다. 이에 따라 로깅 프레임워크를 적용하여 문제를 개선한 과정을 정리해 보았습니다.문제 상황다음은 기존 코드입니다:HashMap thresholds = new HashMap();try { thresholds = getThresholds();} catch (Exception e) { e.printStackTrace(); // 여기서 경고 발생}이 코드는 getThresholds() 메서드에서 예외가 발생할 경우 콘솔에 에러 스택을 그대로 출력합니다. 이는 개발 단계에서는 유용할 수 있지..
[AWS] AWS 환경에서 모델 학습 API 호출 시 Broken pipe 에러 해결 과정
·
개발 (Development)/AWS
최근 Spring Boot 기반 API 서버에서 모델 학습 요청을 처리하는 도중, IOException: Broken pipe 예외가 발생하는 상황을 경험했습니다. 문제는 AWS 환경에서 발생했고, 처음에는 에러 메시지만 보고 정확한 원인을 파악하기가 쉽지 않았습니다. 이 글에서는 해당 문제를 어떻게 진단하고 해결했는지 과정을 정리합니다.문제 상황모델 학습을 위한 POST API(/api/models/train)를 호출하면 내부에서 학습이 시작되고, 이후 클라이언트에 성공 여부를 응답하도록 구현되어 있었습니다. 그런데 간헐적으로 아래와 같은 에러가 로그에 남는 문제가 있었습니다.IOException: Broken pipeSpring Web MVC에서 발생한 에러로, 응답을 전송하는 도중 예외가 발생하며 ..
[ADsP] 제45회 데이터 분석 준전문가(ADsP) 시험 사전점수 공개
·
자격증 (Certifications)/ADsP
2025년 6월 6일 16시 ADsP(데이터분석 준전문가) 시험의 사전점수 결과가 발표되어 총점 76점으로 합격 기준을 충족했습니다.세 과목 중 상대적으로 난이도가 높은 ‘데이터 분석’ 영역에서 42점을 획득해 아슬아슬하게 기준을 넘겼고, ‘데이터 이해’와 ‘분석 기획’은 비교적 안정적인 점수를 받을 수 있었습니다. 사전점수이기 때문에 아직 최종 확정은 아니지만, 기준 점수를 넘겨 합격 가능성에 대한 기대감을 갖고 있습니다. 실제 시험에서는 시간 관리보다는 정확한 문제 풀이와 검토 과정이 더욱 중요하다고 느꼈습니다. 특히 검토 과정에서 한두 문제를 수정한 것이 정답으로 이어져, 끝까지 꼼꼼히 확인하는 것이 실질적인 영향을 줄 수 있다는 점을 체감했습니다. 시험 체감 난이도는 제가 준비했던 교재에 비해 조..
[React] npm install 시 의존성 충돌 오류 해결 방법
·
개발 (Development)/React
문제 상황npm install 명령어를 실행했을 때 다음과 같은 에러가 발생했습니다.npm ERR! code ERESOLVEnpm ERR! ERESOLVE unable to resolve dependency treenpm ERR! While resolving: web@0.26.0npm ERR! Found: react@18.3.1npm ERR! Could not resolve dependency:npm ERR! peer react@"0.14.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" from react-masonry-component@6.3.0에러 원인 분석현재 프로젝트에서는 react@18.3.1을 사용하고 있음.하지만 react-masonry-component@6.3.0은 reac..