2장. 현실에서의 함수형 사고
토니 피자에서 피자를 빨리 만들기 위한 방법으로 계층화 설계
를 적용하고 분산 시스템을 이해하기 위해 타임라인 다이어그램
을 사용했다.
계층화 설계 맛보기
-
각 계층은 아래에 있는 계층을 기반으로 만들어짐
⇒
자주 바뀌는 것
~>자주 바뀌지 않는 것
의 순서로 계층을 분리하자 -
일반적으로 비즈니스 규칙, 도메인 규칙, 기술 스택 계층으로 나눔
-
계층형 설계로 만든 코드는 테스트, 재사용, 유지보수가 쉽다.
분산 시스템을 타임라인으로 시각화하기
💡 올바른 순서로 동작하기 위해선 액션(시간에 의존적인) 에 집중하자
-
기본적으로 타임라인은 서로 순서를 맞추지 않는다.
⇒
타임라인 커팅
기술 도입- 타임라인 커팅 : 여러 타임라인이 동시에 진행될 때 서로 순서를 맞추는 방법
⇒ 타임라인 커팅으로 서로 다른 작업들을 쉽게 이해할 수 있다.
-
액션이 실행되는 시간은 중요하지 않다.
-
드물지만 타이밍이 어긋나는 경우는 실제 일어난다.
-
타임라인 다이어그램으로 시스템의 문제를 알 수 있다.