본문 바로가기

분류 전체보기280

Java8, Stream API와 레거시 For 데이터 매우 많거나 성능이 절대적으로 중요한 상황이 아니라면,스트림과 람다 표현식을 사용하는 편이 장기적 유지보수에 용이하다고 생각된다(병렬처리 차이가 있지만 현재까지 성능차이는 크게 나지 않기는 한다) Stream의 경우, 코드가 간결하고 내부적으로 병렬처리 됨return list.stream() //list를 stream으로 반환 .map(storeConverter::toResponse) //map메서드로 storeConverter 객체의 toResponse 메서드를 각 상점 객체에 적용 .collect(Collectors.toList()); //변환된 스트림 결과를 list로 다시 수집하여 반환 레거시 For문의 경우, 누구나 이해하기 쉽고 반복문 매부에 추가적인 처리에 용이List respons.. 2025. 5. 4.
H2 데이터베이스 연결 시 "Database not found" 에러 아래와 H2 데이터베이스 설정을 하고 h2-console 에 접속을 했는데 에러가 났다.Database "경로" not found, either pre-create it or allow remote database creation (not recommended in secure environments) [90149-214] 90149/90149 (Help) 해결방법JDBC URL 에 해당하는 곳에 (ex. /Users/hayeong/)txt 파일을 생성하고 test.mv.db 로 저장한다. 2025. 5. 4.
[SpringBoot] H2 insert sql script 오류 insert into catalog(product_id, product_name, stock, unit_price) values ('CATALOG-0001', 'pizza', 100, 15000);insert into catalog(product_id, product_name, stock, unit_price) values ('CATALOG-0002', 'chicken', 200, 18000);insert into catalog(product_id, product_name, stock, unit_price) values ('CATALOG-0003', 'noodle', 1000, 8000); DB에 샘플데이터를 미리 넣고 시작하려고 data.sql을 작성하였다. 그런데 다음과 같은 에러가 발생했다. " E.. 2025. 5. 4.
[JAVA]Backend, 안정적인 서비스 운영을 위한 EXCEPTION Java 백엔드 개발 시 꼼꼼히 챙기지 않으면 큰 장애로 이어질 수 있는 예외들을 확인하고 대비!1. OutOfMemoryError (OOM)JVM이 메모리를 더 이상 할당받지 못할 때 발생하는 예외로, 서버 성능에 치명적인 영향을 준다.주요 원인메모리 누수잘못된 컬렉션 사용지나치게 큰 데이터를 메모리에 로딩예시java.lang.OutOfMemoryError: Java heap space 대응 방법JVM 프로파일링(JVisualVM 등)을 통한 메모리 사용량 점검메모리 누수 및 미사용 객체를 정기적으로 제거JVM 설정 튜닝 및 적절한 GC(Garbage Collection) 전략 수립2. SocketTimeoutException외부 API 호출 등에서 설정된 시간 내 응답이 오지 않으면 발생한다.주요 원.. 2025. 5. 4.