전체 글60 스프링 로깅 Spring Logging 로깅은 프로그램 동작 시 발생하는 모든 일(서비스 동작 상태 및 장애)을 기록하는 행위를 말하며, 이를 통해 애플리케이션의 동작을 이해하고 모니터링하는 데 도움이 됩니다.System.out.println() 사용 지양System.out.println() 등의 코드 내부 구현을 살펴보면, 메소드 내 부분적으로 synchronized 키워드가 붙어 있어 임계 영역이 존재합니다. 이로 인해 멀티 스레드 환경에서 동작할 때, 성능 측면에서 좋지 못한 영향을 끼칠 수 있습니다.로깅 프레임워크(Logging Framework)SLF4J, Logback 과 같은 로깅 프레임워크를 통해 로깅을 수행합니다. 해당 프레임 워크에서는 6가지 레벨로 로그를 나누어 관리할 수 있도록 돕습니다.로그 레벨Fatal : 매우 심각한.. 2025. 2. 24. [TIL]오늘의 노트 @NotNull, @NotEmpty, @NotBlank 의 차이점@NotNull@NotNull은 이름 그대로 Null 만 허용하지 않는다."" 이나 " " 은 허용한다.@NotEmptynull 과 "" 둘 다 허용하지 않는다.@NotNull에서 "" validation 이 추가된다.@NotBlanknull 과 "" 과 " " 를 허용하지 않는다.@NotEmpty에서 " " validation 이 추가된다.JPA에서 JOIN 과 FETCH JOIN 차이둘 다 관계된 엔티티를 조인하는 방법이지만, 데이터 로딩 방식과 영속성 컨텍스트 내 관리 여부가 다르다.Join (일반 조인)단순 SQL 조인을 수행하지만, 연관된 엔티티는 로딩하지 않고 프록시 상태가 된다.연관 엔티티의 프로퍼티를 호출하면 Lazy Load.. 2025. 2. 20. [TIL]오늘의 노트 CI/CDCI(Continuous Integration)CI 는 소프트웨어 개발에서 다음과 같은 과정을 자동화하는 것을 의미한다.코드 변경 사항을 저장소에 통합하는 과정코드를 빌드하는 과정코드를 테스트하는 과정코드를 배포 가능한 상태로 만드는 과정CD(Continuous Deployment/Delivery)CD 는 지속적인 배포 자동화를 의미한다.NGINX의 LOAD BALANCING로드 밸런싱은 여러 서버에 트래픽을 분산시켜 부하를 줄이고 성능을 최적화 하는 기술을 의미한다.niginx 가 제공하는 로드 밸런싱은 4가지 방식이 존재한다.1. 라운드 로빈(Round Robin) 방식 - default서버들에게 순차적으로 요청을 배분하는 방식이다.2. Least Connections 방식연결 개수가 가장 .. 2025. 2. 19. [TIL]오늘의 노트 git 서브모듈git 에서 제공하는 서브모듈은 하나의 레포지토리의 하위에서 다른 레포지토리를 함께 관리할 수 있도록 돕는 도구를 의미한다.즉, 하나의 레포 내에 다른 레포를 포함해 관리할 수 있다.서브 모둘에서 변경된 사항들은 추적되지 않고 커밋 단위로만 보여진다.서브모듈 설정하기기준 레포의 루트에서 아래 명령어를 입력하여 하위에 서브모듈 레포지토리를 등록할 수 있다.git submodule add {추가할 서브모듈에 해당하는 레포지토리 url}서브모듈 변경 내용 커밋/푸쉬하기서브모듈 디렉토리 내로 들어가서 git 명령어 작업을 수행한다.서브모듈 업데이트아래의 명령어를 이용해 서브모듈 레포를 최신화 한다.# 처음 세팅할 때 init 을 수행한다 git submodule initgit submodule u.. 2025. 2. 18. 이전 1 2 3 4 5 ··· 15 다음