Skip to content

Commit

Permalink
챕터2 정대윤
Browse files Browse the repository at this point in the history
  • Loading branch information
sensecodevalue committed Apr 16, 2024
1 parent 715d802 commit 20540d7
Showing 1 changed file with 41 additions and 0 deletions.
41 changes: 41 additions & 0 deletions 챕터_2/정대윤.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
> 계층형 설계를 통한 소프트웨어 구조
> 타임라인을 통한 문제 해결
- 액션: 호출 횟수와 시점에 의존
- 계산: 어떤것을 결정, 계획 및 부수 효과가 없는것
- 데이터: 결제정보 재고, 피자 조리법

### 변경 가능성에 따라 코드 나누기 (계층형 설계)

- 비즈니스
- 이번 주 특별 조리법, 재료 구입
- 도메인
- 조리법, 재료 목록
- 기술
- 자바스크립트

비즈니스 → 도메인 → 기술 순으로 기술이 가장 밑바닥에 존재하는 형태

아래일 수록 잘 안바뀌며, 위일 수록 의존성이 없음.

그리고 각각의 레이어가 존재(주방, 창고 등)

계층형 설계는 의존성에 대한 관리를할 수 있음으로 유지 보수를 더 잘할 수 있게됨.

### 타임라인 다이어그램

시간순으로 액션을 나열한 것. (일급 함수를 통해 작성)

나열을 통해 병렬 처리할 수 있는 것들을 분리 → 분산 시스템으로 개선 가능

- 병렬 처리에 대한 문제를 파악하고 개선할 수 있지만
- 서로 다른 타임라인의 액션간의 실행 순서는 보장할 수 없음

### 타임라인 커팅

서로 다른 타임라인의 액션간의 실행 순서는 보장을 위함.

`고차 동작`으로 구현됨. 각각의 독립적인 작업이 완료되면 다른 작업이 끝나기를 기다린 후 나머지 작업을 진행. ( `Promise.all` `Promise.allSettled` )

- 커팅으로 잘려진 작은 단위로 시간 관계없는 타임라인 파악가능
- 타임라인 커팅으로 서로 다른 작업의 시간적 관계를 파악가능

0 comments on commit 20540d7

Please sign in to comment.