2023/09/26 4

HTTP 상태 코드

HTTP 상태 코드 HTTP 상태 코드 HTTP 상태 코드는 HTTP 요청에 대한 서버의 응답을 나타내는 3자리 숫자입니다. 첫 번째 숫자는 응답의 종류를 나타내며, 나머지 두 숫자는 세부적인 응답 내용을 나타냅니다. HTTP 상태 코드는 크게 5가지 종류로 나눌 수 있습니다. 1xx (Informational): 요청을 받았으며 프로세스를 계속 진행합니다. 2xx (Success): 요청을 성공적으로 받았으며 인식했고 수용하였다. 3xx (Redirection): 요청 완료를 위해 추가 작업 조치가 필요하다. 4xx (Client Error): 요청의 문법이 잘못되었거나 요청을 처리할 수 없다. 5xx (Server Error): 서버가 유효한 요청을 명백하게 수행하지 못했음을 나타낸다. 1xx (In..

LRU/LFU/FIFO 캐시 삭제 알고리즘

LRU/LFU/FIFO 캐시 삭제 알고리즘 LRU/LFU/FIFO 캐시 삭제 알고리즘 LRU (Least Recently Used), LFU (Least Frequently Used), FIFO (First-In-First-Out)은 캐시에서 사용되는 다양한 삭제 알고리즘입니다. 이러한 알고리즘은 캐시에서 어떤 아이템을 삭제할지를 결정하는 데 사용됩니다. 각 알고리즘의 동작 방식은 다음과 같습니다: LRU (Least Recently Used - 가장 최근에 사용되지 않은 아이템을 삭제) 이 알고리즘은 캐시에서 가장 오래된(최근에 사용되지 않은) 아이템을 삭제합니다. 가장 최근에 사용된 아이템은 캐시의 앞쪽에 위치하며, 오래된 아이템은 뒤쪽에 위치합니다. 아이템이 캐시에 추가될 때마다, 해당 아이템을 캐..

스프링 @Transactional어노테이션의 동작원리와 전파 속성들

스프링 @Transactional어노테이션의 동작원리와 전파 속성들 스프링 @Transactional어노테이션의 동작원리와 전파 속성들 스프링 @Transactional어노테이션 스프링의 @Transactional 어노테이션은 트랜잭션 관리를 선언적으로 처리할 수 있게 해줍니다. 이 어노테이션을 메소드나 클래스에 붙이면 그 범위에서 실행되는 작업은 트랜잭션으로 처리됩니다. 주요 특징 원자성(Atomicity): 어노테이션을 사용한 메소드 내의 작업은 모두 성공하거나 실패합니다. 일관성(Consistency): 트랜잭션이 성공적으로 커밋되면, 데이터는 일관된 상태를 유지합니다. 격리성(Isolation): 동시에 여러 트랜잭션이 발생하더라도 각 트랜잭션은 독립적입니다. 지속성(Durability): 트랜잭..

스프링 필터와 인터셉터 그리고 차이점

스프링 필터와 인터셉터 그리고 차이점 스프링 필터 스프링 필터 스프링 필터(Spring Filter)는 웹 애플리케이션에서 HTTP 요청이나 응답을 가로채서 추가적인 처리를 할 수 있게 해주는 구성 요소입니다. 필터는 주로 인증, 로깅, 데이터 변환, 인코딩 등 다양한 목적으로 사용됩니다. 서블릿 필터(Servlet Filter)와 마찬가지로 동작하나, 스프링의 라이프사이클과 통합되어 더 다양한 기능을 제공합니다. 필터의 주요 책임: 인증과 권한 확인: 필터를 통해 사용자의 신원을 확인하고, 특정 리소스에 대한 접근을 제어할 수 있습니다. 로깅과 모니터링: HTTP 요청이나 응답을 로깅하여 나중에 분석하거나 모니터링할 수 있습니다. 데이터 가공: 요청이나 응답의 헤더나 본문을 수정하거나 새로운 속성을 추..