Development/Architecture
-
함수형 프로그래밍, 커링, 모노이드, 펑터..Development/Architecture 2026. 2. 18. 18:56
함수형 프로그래밍 순수 함수(Pure function)와 불변 데이터(Immutable data)를 중심으로 프로그래밍을 구성하는 패러다임.순수 함수 : 같은 입력에 대해서 항상 같은 출력을 반환하고, 외부 상태를 변경하지 않는 함수다.불변성 : 데이터를 생성한 후에는 변경이 되지 않고, 변경이 필요하면 새로운 데이터를 만든다.일급 함수(First-Class Function) : 함수를 일반 변수처럼 취급하여 변수 할당, 인자 전달 및 반환값으로 사용 가능하도록 하는 특성이다.고차 함수(Higher-Order Function) : 함수를 인자로 받거나 함수를 반환하는 함수다.함수 합성(Function Composition) : 함수들을 조합하여 다양한 함수를 만들 수 있다.// 작은 단위 함수들val r..
-
아키텍처 퀀텀 (Architecture Quantum)Development/Architecture 2026. 2. 17. 18:24
아키텍처 퀀텀 (Architecture Quantum)아키텍처 퀀텀은 높은 기능 응집도, 높은 정적 커플링, 동기적 동적 커플링의 특성을 띤, 독립적으로 배포 가능한 아티팩트다.모놀리식 아키텍처는 정의에 따라 단일 아키텍처 퀀텀이다.마이크로 서비스와 같은 분산 아키텍처는 서비스를 독립적으로 배포가 가능하기 때문에 각각이 아키텍처 퀀텀이 될 수 있다. (서비스가 서로 격리되어 있다고 해서 퀀텀이 생성되는 것은 아니다.)독립적으로 배포가 가능해도 공유 데이터베이스와 같은 공통 결합점이 생긴다면 아키텍처 퀀텀에 포함된다. 따라서 단순히 배포의 경계만 봐서는 아키텍처 퀀텀을 가늠하기 어렵다. 정적 커플링데이터베이스는 정적 커플링을 판단하는 기준으로, 단일 데이터베이스에 의존하는 시스템은 1 이상의 퀀텀을 가질 ..
-
[Domain Driven Design] 도메인 모델 정리Development/Architecture 2021. 5. 25. 00:44
도메인 모델 도메인 모델이란 사용자가 당면한 문제 영역을 해결하기 위해 사용하는 소프트웨어를 개발할 때, 이와 관련된 지식에 대한 복잡성을 선택적으로 단순화하고 구조화한 형태이다. 도메인 모델은 도메인 전문가의 머릿속에만 존재하는 지식이 아니라 해당 지식을 구성하고 선택적으로 추상화한 것이다. 도메인 주도 설계에서의 모델의 유용성 모델과 핵심 설계는 서로 영향을 주며 구체화된다. 모델과 구현간의 긴밀한 연결은 모델을 이해한 바에 근거하여 코드를 해석할 수 있기 때문에 유지보수와 계속되는 기능 개선에도 도움이 된다. 모델은 모든 팀 구성원이 사용하는 언어의 중추이다. 모델과 구현이 서로 연결돼 있으므로 개발자는 이 언어를 토대로 프로그램에 관해 의견을 나눌 수 있다. 모델은 지식의 정수만을 뽑아낸 것이다...
-
[Clean Architecture] 컴포넌트 결합Development/Architecture 2020. 6. 29. 23:34
이번 포스트에서는 컴포넌트 사이의 관계에 대한 세 가지 원칙에 대해서 정리해보겠습니다. ADP : 의존성 비순환 원칙 (Acyclic Dependencies Principle) 컴포넌트 의존성 그래프에 순환이 있어서는 안 된다. 많은 개발자가 동일한 소스 파일을 수정하는 환경에서는 '숙취 증후군(The morning after syndrome)'이 발생합니다. 여기서 말하는 '숙취 증후군'은 내가 잘 동작하도록 만든 소스 코드가 다음날 아침에는 다른 사람의 수정으로 인해 동작하지 않는 현상을 말합니다. 이 문제를 해결하기 위해서는 개발 환경을 릴리스 가능한 컴포넌트 단위로 분리해야 합니다. 이를 통해 컴포넌트 개발자 또는 단일 개발팀이 책임을 질 수 있는 작업 단위가 됩니다. 담당 개발자는 이 컴포넌트에..