Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[김동규] 챕터 16: 타임라인 사이에 자원 공유하기 #75

Merged
merged 1 commit into from
Jul 30, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions 챕터_16/김동규.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# 챕터 16: 타임라인 사이에 자원 공유하기

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

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

- 자원을 공유해서 생기는 버그를 찾는 방법을 배운다.
- 안전하게 자원을 공유할 수 있는 자원 공유 기본형을 만드는 방법을 이해한다.

## DOM이 업데이트되는 순서를 보장해야 합니다

큐를 이용하면 공유 자원을 안전하게 공유 할 수 있다. 들어온 순서대로 나오는 데이터 구조이기 때문에 사용자 클릭을 큐에 넣으면 순서대로 꺼낼 수 있다.

```
실제로 큐를 이용해서 이벤트를 제어하신 경험들이 있으신가요?
```

## 자바스크립트에서 큐를 만들기

큐는 자료 구조이지만, 타임라인 조율에 사용한다면 동시성 기본형이라고 부른다. 동시성 기본형은 자원을 안전하게 공유할 수 있는 재사용 가능한 코드를 말한다.

## 지금까지 만든 타임라인 분석하기

모든 실행 가능한 순서를 확인해 본다면

### 동시에 실행: 불가능

자바스크립트 스레드 모델에서 동시에 실행하는 것은 불가능 합니다. 이 순서는 생각하지 않아도 되지만 다른 스레드 모델에서는 가능할 수 있기 때문에 고려해야합니다.

### 왼쪽 먼저 실행: 기대한 순서

클릭한 순서대로 실행되는 원하는 순서

### 오른쪽 먼저 실행: 불가능

클릭한 순서대로 실행되기 때문에 이 동작은 실행되지 않는다.

## 큐를 건너뛰도록 만들기

AJAX 요청에 의해 최종결과 업데이트가 될 때 까지 몇 초가 걸릴 수 있다. 새로운 작업이 들어오면 건너뛸 수 있는 드로핑 큐를 만들어 사용한다.
Loading