분류 전체보기

·MQ
본 글은 RabbitMQ에 대해서 공부한 지식을 정리하는 글입니다.현대의 소프트웨어 시스템은 점점 더 복잡해지고 있으며, 다양한 서비스와 애플리케이션이 서로 상호작용해야 하는 상황이 빈번해졌습니다. 이러한 환경에서 메시징 시스템은 시스템 간의 원활한 통신과 데이터 전송을 보장하는 핵심적인 역할을 합니다. 메시징 시스템은 데이터와 이벤트를 신뢰성 있게 전달하고 처리하기 위한 메커니즘을 제공합니다. 특히, 비동기 처리, 분산 시스템, 이벤트 기반 아키텍처와 같은 현대의 다양한 요구사항을 만족시키기 위해 필수적인 요소로 자리 잡고 있습니다. 메시징 시스템을 통해 서비스 간의 결합도를 줄이고, 시스템의 확장성과 신뢰성을 높이며, 데이터 전송의 실패를 최소화할 수 있습니다. 이러한 필요성에 부응하는 강력한 도구 ..
·Architecture/MSA
현대의 분산 시스템과 마이크로서비스 아키텍처(MSA)는 데이터 관리의 복잡성을 크게 증가시키고 있습니다. 이러한 시스템에서는 다양한 서비스가 독립적으로 운영되며, 데이터 일관성과 성능 요구 사항을 동시에 충족해야 하는 도전 과제가 있습니다. 이를 해결하기 위해 이벤트 소싱(Event Sourcing)과 CQRS(Command Query Responsibility Segregation)와 같은 패턴이 널리 사용되고 있습니다. 이벤트 소싱(Event Sourcing)이란❓이벤트 소싱은 시스템의 상태를 현재 상태로 저장하는 대신, 상태 변화(변경)를 나타내는 이벤트를 기록하는 패턴입니다. 이를 통해 시스템의 모든 상태 변경 이력을 저장하고, 이를 기반으로 현재 상태를 재구성할 수 있습니다. 이벤트 소싱의 주요..
본 글은 Spring boot의 @Valid 어노테이션에 대해서 공부한 지식을 정리한 글입니다.애플리케이션 개발에서 데이터의 유효성을 검증하는 것은 필수적입니다. 사용자로부터 입력받은 데이터가 올바르고 기대한 형식에 맞는지 확인하는 과정은 오류를 방지하고, 애플리케이션의 신뢰성을 높이는 데 중요한 역할을 합니다. Java에서는 Bean Validation API를 통해 이 과정을 효율적으로 처리할 수 있으며, 그 핵심적인 도구 중 하나가 바로 @Valid 어노테이션입니다.  @Valid 어노테이션이란❓@Valid 어노테이션은 Java의 Bean Validation API에서 제공되는 어노테이션으로, 객체의 유효성을 검사하는 데 사용됩니다. 이 @Valid어노테이션은 주로 Spring Framework과 ..
·TIL,일일 회고
본 글은 @RequestParam을 사용할 때 파라미터를 final로 선언하는 이유에 대해서 공부한 지식을 정리한 글입니다.처음 원본 코드는 위와 같이 user_id를 매개변수로 받을 때 final로 선언하지 않았습니다. 그런데 코드리뷰를 받다가, @RequestParam을 사용할 때 final로 선언하면 좋다고 조언을 해주셨습니다. 그 이유는 다음과 같습니다.  불변성 보장final 키워드를 사용하면 해당 파라미터는 메서드 내에서 값이 변경되지 않는다는 것을 보장합니다.이는 코드의 가독성을 높이고 버그를 방지하는 데 도움이 됩니다. 특히 멀티스레드 환경에서는 불변성이 중요한 역할을 할 수 있습니다.코드 명확성 파라미터를 final로 선언하면 해당 파라미터는 메서드 내부에서 변경되지 않으므로, 코드의 ..
지누박
'분류 전체보기' 카테고리의 글 목록 (83 Page)