본문 바로가기

개발 일지/TIL

[ #31 ] TIL

✏️ 0529      


Spring 숙련 과제

[ 특강 ] 좋은 개발자의 비밀


Spring 숙련 과제

중에 찾아본 내용들 정리

 

spring.jpa.open-in-view is enabled by default

 

 

스프링 부트로 프로젝트를 생성하고 처음 실행 하면 나타나는 WARN

 

딱히 다른 기능을 실행하는데 전혀 문제가 없어서 놔뒀는데 계속 보니 거슬려서 찾아봤다

 

기본적으로 스프링 부트에서 OSIV (Open Session in View) 가 활성화 (true) 되어 있고

OSIV 는 성능 및 확장성 측면에서 좋지 않다고 한다

 

그러니까 true 로 설정되어 있으니 false 로 바꾸라는 경고 알림인 것

 

🔸참고 사이트

 

 

spring.jpa.open-in-view=false

 

application.properties 에 spring.jpa.open-in-view=false  입력해주면 된다고 한다

 

 

Spring Boot Log Level

 

로그 레벨 (Log level) 은 로그 메시지의 중요도를 나타내는 수준을 의미한다

로그 메시지의 중요도에 따라 해당 메시지를 기록할지 결정하는 데 사용

 

// 로그 레벨 중요도
TRACE > DEBUG > INFO > WARN > ERROR > FATAL

 

 

TRACE
가장 상세한 로그 레벨, 애플리케이션의 실행 흐름과 디버깅 정보를 상세히 기록
주로 디버깅 시 사용

DEBUG
디버깅 목적으로 사용, 개발 단계에서 상세한 정보를 기록
애플리케이션의 내부 동작을 이해하고 문제를 분석하는 데 도움

INFO
정보성 메시지 기록
애플리케이션의 주요 이벤트나 실행 상태에 대한 정보를 전달

WARN
경고성 메시지 기록
예상치 못한 문제나 잠재적인 오류 상황을 알리는 메시지
애플리케이션이 정상적으로 동작하지만 주의가 필요한 상황을 알려준다

ERROR
오류 메시지 기록
심각한 문제 또는 예외 상황을 나타내며, 애플리케이션의 정상적인 동작에 영향을 미칠 수 있는 문제를 알려준다

FATAL
가장 심각한 오류 메시지 기록
애플리케이션의 동작을 중단시킬 수 있는 치명적인 오류
일반적으로 이러한 오류는 복구가 불가능하거나 매우 어려운 상황을 의미

 

 

 

content.trim().isEmpty() 와 content.length() == 0

 

private void nullCheckByContent(String content) {
    if (content == null || content.trim().isEmpty()) {
        throw new IllegalArgumentException("댓글 내용은 필수입니다");
    }
}

private void nullCheckByContent(String content) {
    if (content == null || content.length() == 0) {
        throw new IllegalArgumentException("댓글 내용은 필수입니다");
    }
}

 

content.trim().isEmpty() 와 content.length() == 0 은 비슷한 결과를 반환하지만 약간의 차이가 있다

 

 

  • content.trim().isEmpty() 
    • content 문자열의 앞뒤 공백을 제거한 후에 문자열이 비어 있는지를 확인
    •  "  " 와 같이 공백만 있는 문자열도 비어 있는 것으로 간주한다
  • content.length() == 0
    • content 문자열의 길이가 0인지를 직접 확인
    • 문자열에 공백이 있더라도 모든 문자열을 고려한다

 

 content.trim().isEmpty() 는 공백 문자열을 고려하고, content.length() == 0은 공백 문자열을 고려하지 않는다

사용하고자 하는 상황에 따라 다르게 사용하면 된다

앞뒤 공백을 제거하고 빈 문자열을 고려하려면 content.trim().isEmpty()를 사용하는 것이 좋다

 

 

회고

 

과제를 하면서 디테일하게 찾아보는 시간을 가질 수 있었다

어제 종일 붙잡고 있던 걸 오늘 몇시간만에 해결해서 풀었다

항상 처음 시작할 때는 너무 어렵게 생각해서 문제인가보다..

'개발 일지 > TIL' 카테고리의 다른 글

[ #33 ] TIL  (0) 2024.05.31
[ #32 ] TIL  (0) 2024.05.30
[ #30 ] TIL  (0) 2024.05.28
[ #29 ] TIL  (0) 2024.05.27
[ #28 ] TIL  (0) 2024.05.24