DDD와 애그리거트(Aggregate) 그리고 결론 2026-07-08
·
Java
애그리거트(Aggregate)애그리거트의 단순한 의미로서는 '모으다', '합계하다'라는 뜻으로,여러 개별 요소나 데이터를 한데 모아 '총합' 또는 '집합체'를 만드는 것을 의미합니다. 이렇듯, 무언가를 하나로 묶는 단위로써 작동합니다.이 단어가 개발쪽으로 넘어오면, 연관 객체들을 하나로 묶는 단위로 작동합니다. 하나 예시를 들어보자면, 상품(Product)를 예시로 들겠습니다. 애그리거트 루트(Aggregatge Root) : 상품(Product)상품의 고유 ID, 이름, 설명, 가격, 등하위 객체(Entities/Value Objects)재고상품의 여러 객체 (크기, 사이즈, 색상 등)public void updateProductDetails(Long productId, int newQuantity, ..
DDD 4계층과 계층형 아키텍처 그리고 DIP 2026-07-06
·
Java
이번에 알게 된 도메인 주도 설계(DDD)에서 사용하는 계층형 아키텍처에 대해서 다시 한 번 공부해보면서 알아보겠습니다. 이전에 공부했던 계층형 아키텍처에 DDD가 붙으면서 조금더 세분화되고 네이밍을 다르게 한 것이 이번에 설명드릴 계층형 아키텍쳐(New!) 라고 할 수 있을 것 같습니다. Service 라는 하나의 계층에 묶여 있던 Application과 Domain 으로 쪼개어 4계층이 됩니다. 기존 구조를 조금더 정교하게 다듬은 버전이 되겠네요. DDD에서의 핵심 개념 몇가지와 약간의 내용1. 의존성 역전 원칙 (Dependency Inversion Principle), 이하 DIP2. 밸류 오브젝트 (Value Object), 이하 VO3. 애그리게이트 (Aggregate)4계층 설명컨트롤러(C..
헥사고날 아키텍처 (Hexagonal Architecture) 2026-07-01
·
Java
계층형 아키텍쳐에 대해서 간단 정리계층형 아키텍처전통적인 아키텍처 패턴, 애플리케이션을 프레젠테이션 → 서비스/비즈니스 → 영속성/DB 같은 일련의 레이어로 나누는 구조. 가장 흔한 예시는 Controller → Service → Repository 구조장점 : 이해와 도입이 쉽고, 간단한 CRUD 중심 시스템에 적합하고프레임 워크 구조와 자연스럽게 매핑이 됩니다.단점 :도메인과 인프라 간의 강한 결합상위 계층(서비스/비즈니스)이 하위 계층(DB/프레임워크 등) 구현에 직접적으로의존하는 경향이 있어서 변경에 취약하다. 클린/헥사고날 아키텍처와 달리 의존성 방향을 통제하지않기 때문에, 데이터베이스나 프레임워크가 바뀌면 도메인 코드까지 수정이 필요할 수 있습니다.비즈니스 로직의 서비스 집중 현상비즈니스 규칙..
아크 브라우저 리뷰 Arc Browser Review
·
Mac/Application
Arc Browser 아크 브라우저 우선 Arc 브라우저를 사용한지 어언 2주정도가 되었다. 2주간의 사용기와 장단점을 한번 읊어보고자 글을 쓰게 되었다. 현재는 MacOS에서만 사용가능한 브라우저 이다. ​ 1번 PIP 모드 글을 쓰면서 PIP모드에 대해서 한번 보여드리면 좋겠다는 생각에 작성했다. 저상태로 원하는 크기로 조절이 가능하다. ​ 2번 Chromium 기반의 확장 프로그램의 연동 ​ 개인적인 확장프로그램이 보이는거에 조금 부끄럽긴 하지만... Chromium 기반으로 만들어진 브라우저 이기에, 기존 크롬에서 사용하던 모든 확장 프로그램을 가져올 수 있다. ​ 3번 Arc 브라우저만의 3가지 탭 기능 상단부터 아이콘 고정형, 탭 고정형, 일반 탭 으로 분류할 수 있겠다. 고정형의 특징은 비교..
내돈내산 칼디짓 소호 독 리뷰 Caldigit SOHO Dock Review
·
Mac/Review
제품명 : Caldigit SOHO Dock 제품 상세 내용 : ⦁ 10Gb/s USB-C 허브 ⦁ 4K 60Hz 모니터 출력 ⦁ UHS-II & microSD 카드 리더 ⦁ 최대 100W 패스 스루 충전 ⦁ USB-C, 썬더볼트3 호환 구매 일자 : 2023.06.23 구매처 : 쿠팡 사용환경 : MacBook Air M1 16G RAM 512G 구매 이유 : 모니터 연결, 외장SSD 연결, USB-A 허브 연결 필자는 소호독에 관해 이야기 해보려 한다. 하루동안의 사용기와 솔직담백한 후기를 작성해보려 한다. 우선적으로 장점을 먼저 나열하겠다. 장점 : 허브와 독사이의 중간쯤 되는 하이브리드 장비 기존에 사용하던 모니터와 연결하여 맥북과 함께 듀얼모니터로 사용 맥북의 부족한 포트를 보완 한손에 들어오는..
맥OS 소노마 베타 리뷰 MacOS Sonoma Beta Review
·
Mac/Review
사용 환경 : MacBook Air M1 16G 512GB WLAN : 802.11ac 기존에 내가 사용하던 언어가 영어인지, 한국어인지 기억나지 않아 쓰고 지우고 변경하던 기억이 나는가? 기존에는 상단바를 보면서 번거롭게 우상단을 체크하곤 했다. 그러나 이제 그러지 않아도 된다. 단순히 Caps Lock(한/영변환) 혹은 Caps Lock 의 켜져있는지의 유무조차 확인할 수 있다. 필자가 빠르게 한/영전환을 한 관계로 오래 떠있진 않았지만, 약 1초간의 버블을 보여준다. 무슨 언어를 사용하고 있는지 확인하기에 충분한 시간이다. 또한 아이폰, 아이패드에 있던 위젯기능이 추가됬다. 일단 둘러보기로 하자. 다양한 위젯들을 추가할 수 있다. 필자는 필요하지 않아서 추가하지 않았지만 상당히 유용한 기능이다. 액..