본문 바로가기

분류 전체보기104

대수(Algebra), 증명(Proof), 법칙(Law)의 개념과 예시 1. 대수(Algebra)란? 대수는 수학의 한 분야로, 숫자와 연산 및 그들 간의 관계, 패턴, 구조를 연구합니다. 이는 기본적인 산수(덧셈, 뺄셈, 곱셈, 나눗셈)에서부터 더 복잡한 연산까지 포함합니다. 예시: x + 3 = 7 과 같은 방정식을 생각해보세요. 여기서 x의 값을 찾는 것이 대수의 기본적인 예입니다. 이 경우 x = 4가 됩니다. 2. 증명(Proof)이란? 증명은 수학적 진리를 논리적으로 보여주는 과정입니다. 어떤 명제가 참임을 보이기 위해 논리적 추론을 사용합니다. 증명은 수학의 근본적인 요소로, 수학 이론의 타당성을 확인하는 데 필수적입니다. 예시: '짝수의 합은 항상 짝수이다'는 명제에 대한 증명을 생각해봅시다. 임의의 두 짝수를 2a와 2b라고 하면(여기서 a와 b는 정수), .. 2023. 11. 21.
헥사고날 아키텍쳐(feat. 코틀린 멀티 모듈) 정말 오랜만에 째찌삐띠형님이 아닌 직접 쓴 글을 게시하게 되었습니다! 오늘의 주제는 헥사고날 아키텍쳐 입니다. 헥사고날 아키텍쳐란? 출처 :엉클 밥 님의 Clean Coder Blog 클린 아키텍쳐를 깔끔하게 구현할 수 있는 아키텍쳐 중 하나로, 도메인 비즈니스 로직과 외부세계를 격리하고 외부에 어떤 의존성도 갖지 않게 하기 위한 아키텍쳐 입니다. 결국 커플링이 문제다! 그렇다면 이같은 클린 아키텍쳐를 지향하는 이유는 무엇일까요? 이는 결국 유지 보수를 쉽게 하기 위함입니다. 먼저 헥사고날 아키텍쳐는 모듈간 결합도를 현저히 낮춰줍니다. 모듈간 결합도를 떨어뜨리면 모듈 별로 단위 테스트를 하기 쉽고, 오류 발생시 오류 추적과 수정이 쉬워집니다. ) 출처 : Peer Richelsen Twitter 최근 N.. 2023. 11. 20.
바운디드 컨텍스트(Bounded Context)와 애그리게이트(Aggregate)의 차이 바운디드 컨텍스트(Bounded Context)란? 바운디드 컨텍스트는 도메인 주도 설계(DDD, Domain-Driven Design)에서 중요한 개념입니다. 이는 특정 도메인 모델이 적용되는 경계를 정의합니다. 바운디드 컨텍스트는 도메인의 일부분으로서, 도메인 모델의 용어와 규칙이 유효한 특정 '문맥' 또는 '경계'를 의미합니다. 각 바운디드 컨텍스트는 독립적인 도메인 모델을 가지며, 이를 통해 복잡한 시스템을 여러 개의 관리 가능한 부분으로 나눕니다. 애그리게이트(Aggregate)란? 애그리게이트는 도메인 모델 내의 객체 그룹으로, 일반적으로 엔티티(Entity)와 값 객체(Value Object)의 집합입니다. 애그리게이트는 하나의 루트 엔티티(Aggregate Root)를 중심으로 구성되며, .. 2023. 11. 13.
데이터베이스 트랜잭션이 둘 이상의 애그리거트 인스턴스를 수정하지 못하게 하라! Domain-Driven Design(DDD)의 중요한 원칙 중 하나인 "데이터베이스 트랜잭션이 애그리게이트의 둘 이상의 인스턴스를 수정하지 못하게 하라"에 대해 설명하겠습니다. 이 원칙은 애그리게이트의 일관성과 경계를 유지하는 데 중요한 역할을 합니다. 애그리게이트란 무엇인가? DDD에서 애그리게이트는 관련된 객체의 클러스터로, 일관된 변경을 보장하는 역할을 합니다. 각 애그리게이트는 단일 루트 엔티티를 갖고, 이 루트 엔티티를 통해서만 애그리게이트 내의 다른 객체들과 상호작용할 수 있습니다. 이런 구조는 애그리게이트의 내부 상태를 외부로부터 보호하고, 복잡성을 관리하는 데 도움이 됩니다. 원칙의 중요성 이 원칙은 각 애그리게이트가 자체적으로 일관성을 유지할 수 있도록 보장합니다. 둘 이상의 애그리게이.. 2023. 11. 12.