본문 바로가기

전체 글76

CQRS CQRS (Command Query Responsibility Segregation)1. 개요CQRS는 **Command (쓰기)**와 Query (읽기) 작업을 분리하는 디자인 패턴입니다.Command (쓰기): CREATE, UPDATE, DELETEQuery (읽기): SELECT이를 통해 데이터 처리 효율성을 높이고, 부하를 분산할 수 있습니다.2. CQRS vs DataSourceRoutingDataSource Routing주로 Master-Slave 데이터베이스 구조에서 사용됨트랜잭션이 필요한 경우, Master에서 처리SELECT 요청은 Slave에서 처리하여 부하를 분산CQRS쓰기와 읽기 로직을 코드 레벨에서 분리Master-Slave 구조가 아니라, 별도의 Read Storage를 운영데.. 2025. 2. 19.
웹 소켓(Web Socke!) vue.js + spring boot  build.gradledependencies { implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-websocket' compileOnly 'org.projectlombok:lombok:1.18.36' annotationProcessor('org.projectlombok:lombok') implementation 'org.springframework.boot:spring-boot-starter' testImplementation 'org.springframew.. 2025. 2. 17.
Amazon S3 오늘은 Amazon S3가 무엇이고, 어떻게 만들고 사용할  수 있는지 알아보겠습니다. Amazon S3 란?Amazon S3 는 객체 스토리지로 저장된 데이터를 객체로 접근 및 저장할 수 있는 기술입니다. 클라우드 + 객체 스토리지 이므로 외부에 저장된 내 데이터를 객체 형식으로 저장 및 접근할 수 있는 것입니다. 우선 S3 사이트로 가봅시다. https://ap-northeast-2.console.aws.amazon.com/s3/get-started?region=ap-northeast-2&bucketType=general https://ap-northeast-2.console.aws.amazon.com/s3/get-started?bucketType=general®ion=ap-northeast-2 ap.. 2025. 2. 16.
DIP(Dependency Inversion Principle) 의존성 역전 원칙 오늘은 SOLID 원칙 중 DIP 원칙에 대해서 공부한 것을 정리해 보려고 합니다. DIP : 의존성 역전 원칙 상위 모듈은 하위 모듈에 의존하지 말고, 둘 다 추상화에 의존해야 한다. 의존한다는 것은 Java 에서 구체적으로 표현하면 다음과 같습니다.public interface ImageService { public List upload(MultipartFile[] file);}//@Service@RequiredArgsConstructorpublic class LocalImageService implements ImageService { @Value("${project.upload.path}") private String defaultUploadPath; private Strin.. 2025. 2. 15.