본문 바로가기
728x90
반응형

ETC7

함수형 프로그래밍 불변성(Immutability): 한 번 생성된 값이 변하지 않는 특성순수 함수(Pure Functions): 동일한 입력에 대해 항상 동일한 출력을 반환하고, 사이드 이펙트가 없는 함수함수의 일급 객체(First-Class Functions): 함수를 값처럼 다룰 수 있도록 하는 개념으로 함수를 변수에 할당하거나, 다른 함수의 매개변수로 전달하거나, 함수의 결과로 반환 가능고차 함수(Higher-Order Functions): 하나 이상의 함수를 인자로 취하거나 함수를 결과로 반환하는 함수재귀(Recursion): 함수가 자기 자신을 호출하여 문제를 해결하는 방법람다(Lambda): 이름이 없는 함수. 일급 객체로 취급되어 변수에 저장하거나 전달 가능Side Effect: 함수가 자신의 상태를 변경하거.. 2025. 1. 25.
헥사고날 아키텍처 포트와 어댑터 아키텍처라고도 불리며 애플리케이션의 핵심 비즈니스 로직을 외부 요소로부터 격리하는 아키텍처 패턴구성 요소도메인(내부)핵심 비즈니스 로직외부 의존성이 없는 순수한 도메인 모델포트를 통해서만 외부 통신포트(인터페이스)인바운드 포트: 애플리케이션 서비스를 외부에 노출아웃바운드 포트: 외부 서비스 사용을 위한 인터페이스어댑터(외부)주도하는 어댑터: REAT API, 웹 UI 등주도되는 어댑터: 데이터베이스, 외부 API 등장점테스트 용이성: 외부 의존성을 쉽게 모킹 가능유지보수성: 핵심 비즈니스 로직 보호유연성: 기술 스택 변경에 용이도메인 주도 설계(DDD)와 잘 어울리며 복잡한 엔터프라이즈 애플리케이션에 적합함 2025. 1. 24.
MSA & Monolithic Architecture MSA(MicroService Architecture)하나의 애플리케이션을 독립적인 서비스로 나누어 개발하고 운영하는 아키텍처특징도메인 기반 분리(각 서비스가 독립적)독립적인 배포(서비스별로 배포주기 및 확장 가능, 다른 서비스에 영향을 주지않고 복구 가능)다양한 기술 스택 사용 가능장점개발 및 배포 속도 향상확장성유지보수 용이탄력적인 기술 선택장애 격리단점복잡한 서비스 관리: 서비스간 통신, 배포 관리, 모니터링 복잡해결하기 위해 API gateway, service discovery, 중앙 로그화 등 추가적인 도구 필요서비스간 통신 비용 증가데이터 일관성 관리가 어려움: SAGA 패턴이나 이벤트 기반 아키텍처 사용운영 복잡도 증가모놀리틱 아키텍처(Monolithic Architecture)소프트웨어의.. 2025. 1. 24.
728x90
반응형