Skip to content

Commit

Permalink
Create 김동규.md
Browse files Browse the repository at this point in the history
  • Loading branch information
Dongkyuuuu authored May 27, 2024
1 parent 4f83c79 commit 68ef4c2
Showing 1 changed file with 43 additions and 0 deletions.
43 changes: 43 additions & 0 deletions 챕터_17/김동규.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# 챕터 17: 타임라인 조율하기

#스터디-쏙쏙들어오는함수형코딩

## 이번 장에서 살펴볼 내용

- 타임라인을 조율하기 위한 동시성 기본형을 만들어봅니다.
- 시간에 관한 중요한 관점인 순서와 반복을 함수형 개발자들이 어떻게 다루는지 확인합니다.

## 왜 지금 타임라인이 더 빠를까요?

한쪽은 두 응답을 순서대로 기다려야 하고, 한쪽은 응답을 병렬로 기다리고 있다. 기존 타임라인은 더 빨리 끝나긴하지만 문제가 있다. 이럴 경우 동시성 기본형을 만들어서 빠르고 항상 올바른 순서로 동작하게 만들 수 있다.

## 모든 병렬 콜백 기다리기

목표는 동시에 도착하는 ajax 응답을 모두 기다렸다가 DOM업데이트를 진행하는 것 이다. 각 응답의 콜백은 서로 끝나기를 기다리는데 이것을 컷 이라고 부른다.
컷을 만들면 좋은 점은 컷은 앞부분과 뒷부분이 서로 섞이지 않는다는 것 이다. 실행 가능한 순서를 줄이기 때문에 애플리케이션의 복잡성을 줄여준다.

## 타임라인을 나누기 위한 동시성 기본형

여러 타임라인이 다른 시간에 종료되어도 서로 기다릴 수 있는 간단하고 재사용 가능한 기본형이 필요하다. 이런것은 결국 레이스 컨디션을 막을 수 있다.

## 여러번 클릭하는 경우 분석

우리는 크게 3가지 복잡성을 다루고 있다.

- 비동기 웹 요청
- 결과를 합쳐야 하는 두 개의 API응답
- 예측 불가능한 사용자 액션
1번과 3번은 아케텍쳐에 의해 생기는 복잡성이다. 애플리케이션을 만들 때 사용자 인터랙션을 적게 만들어 3번을 없앨 수 있다.
ajax 요청을 사용하지 않으면 1번을 없앨 수 있다.

```
실무에서 가능한 방법일까요...
```

## 딱 한 번만 호출하는 기본형

첫번째로 done()을 부르면 콜백이 실행되는 동시성 기본형이 있다면 콜백을 한번만 부를 수 있다. 최초 한번만 효과를 발생하는 액션을 멱등원 이라고 합니다.

## 암묵적 시간 모델 vs 명시적 시간 모델

간단한 프로그램에서는 암묵적 시간 모델은 좋다. 암묵적 시간 모델의 실행 방식이 애플리케이션에서 필요한 실행 방식과 딱 맞을 일은 거의 없습니다. 그래서 함수형 개발자는 필요한 실행 방식에 가깝게 새로운 시간 모델을 만듭니다.

0 comments on commit 68ef4c2

Please sign in to comment.