Home
June's Blog
Cancel

도메인 주도 설계 첫걸음 - 07장 시간 차원의 모델링

범위 [Part 2] 전술적 설계 - 07장: 시간 차원의 모델링 개념 정리 책에서 기억하고 싶은 내용 이벤트 소싱 이벤트 소싱 패턴은 데이터 모델과 시간 차원을 도입한다. 애그리게이트의 현재 상태를 반영하는 스키마 대신 이벤트 소싱 기반 시스템은 애그리게이트의 수명주기의 모든 변경사항을 문서화하는 이벤트를 유지한다. 검색...

객체 지향 프로그래밍의 5원칙 - S.O.L.I.D

객체 지향 프로그래밍이란? 객체 지향 프로그래밍(영어: Object-Oriented Programming, OOP)은 컴퓨터 프로그래밍의 패러다임 중 하나이다. 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 “객체”들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받...

MSA(microservice architecture, 마이크로서비스 아키텍처)의 특징

정의 마이크로서비스(microservice)는 애플리케이션을 느슨하게 결합된 서비스의 모임으로 구조화하는 서비스 지향 아키텍처(SOA) 스타일의 일종인 소프트웨어 개발 기법이다.[마이크로서비스] “단일 애플리케이션을 작은 서비스 모음으로 개발하는 접근 방식으로서 작은 서비스는 자체적으로 실행할 수 있고, 경량 메커니즘을 통해 서로 통신한다....

코틀린으로 배우는 함수형 프로그래밍 - 8장 애플리케이티브 펑터

범위 8장 애플리케이티브 펑터 개념 정리 애플리케이티브 스타일 프로그래밍(applicative style programming): 컨텍스트를 유지한 상태에서 함수에 의한 연속적인 데이터 변환을 체이닝하는 방식. 이더(either): 성공과 실패를 모두 포함하는 컨텍스트. 성공한 경우는 라이트가 되고, 실패한 경우는 레프트가 된다. 두...

코틀린으로 배우는 함수형 프로그래밍 - 7장 펑터

범위 7장 펑터 개념 정리 펑터(Functor): 매핑할 수 있는 것(can be mapped over)이라는 행위를 선언한 타입 클래스. 메이비(Maybe): 어떤 값이 있을 수도 있고 없을 수도 있는 하스켈의 컨테이너형 타입이다. 자바8에는 옵셔널(Optional), 스칼라에서는 옵션(Option)이라는 이름으로 동일한 역할을 하...

코틀린으로 배우는 함수형 프로그래밍 - 6장 함수형 타입 시스템

범위 6장 함수형 타입 시스템 개념 정리 대수적 데이터 타입(Algebraic data type): 다른 타입들을 모아서 형성되는 합성 타입의 종류로, 곱 타입(product type)과 합 타입(sum type)이 있다. 대수적 데이터 타입의 핵심은 기존 타입들을 결합하여 새로운 타입을 정의하는 것이다.[대수적 자료형] 곱 타입(p...

코틀린으로 배우는 함수형 프로그래밍 - 5장 컬렉션으로 데이터 다루기

범위 5장 컬렉션으로 데이터 다루기 개념 정리 컬렉션 다루기에서 명령형 방식 대비 함수형 프로그래밍의 장점 코드가 간결해져서 가독성이 좋다. 결괏값을 저장하기 위해서 별도의 리스트를 생성할 필요가 없다. 비지니스 로직에 집중할 수 있다. 버그가 발생할 확률이 적다. 테스트가 ...