Skip to content

Commit

Permalink
챕터 2
Browse files Browse the repository at this point in the history
  • Loading branch information
sangbooom committed Apr 16, 2024
1 parent 715d802 commit 099970c
Showing 1 changed file with 55 additions and 0 deletions.
55 changes: 55 additions & 0 deletions 챕터_2/상범.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# 2장

피자 가게를 운영하는 토니는 로봇에 함수형 사고를 주입시킨다.

기대효과: 파트 1이 끝나면 액션과 계산을 구분하고 액션과 계산을 자유롭게 옮길 수 있을 것

## 파트 1. 액션과 계산, 데이터

### 액션

호출 횟수와 시점에 의존함

- 반죽 펴기
- 피자 배달
- 재료 주문

### 계산

실행해도 다른곳에 영향을 주지 않음

- 조리법
- 재료 쇼핑 목록

### 데이터

변경 불가능한 데이터를 사용하려고 함

- 고객 주문
- 영수증
- 조리법

## 변경가능성에 따라 코드 나누기

계층화 설계를 한다. 레이어에 대한 비즈니스 규칙, 도메인 규칙, 기술 스택을 나누는데 피자 예시에 적합한지는 아직 모르겠음. 맛보기라고 함

## 파트 2. 일급 추상

### 타임라인 다이어그램 만들기

1. 주문접수
2. 반죽 만들기
3. 치즈 갈기
4. 소스 만들기
… 생략
5. 버거 조립

---

타임라인 다이어그램을 사용하면 액션이 시간 순서에 따라 어떻게 실행되는지 볼 수 있음

⇒ 실행 순서가 중요. 동기적

근데 2,3,4번은 병렬적으로 가능함. 근데 타임라인에 맞는 순서가 있기 때문에 2,3,4 번 다 한다음에 5번이 가능함

타임라인 커팅이라는게 있는데 독립적으로 동작하되 다른 타임라인이 끝나기를 기다림 ⇒ Promise.all()

0 comments on commit 099970c

Please sign in to comment.