From 3e4ad3b69c16176b0c6f6626669a5c4807eacf6b Mon Sep 17 00:00:00 2001
From: Dongkyu Kim <desktop@kakao.com>
Date: Tue, 28 May 2024 01:38:32 +0900
Subject: [PATCH] =?UTF-8?q?Create=20=EA=B9=80=EB=8F=99=EA=B7=9C.md?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../\352\271\200\353\217\231\352\267\234.md"  | 67 +++++++++++++++++++
 1 file changed, 67 insertions(+)
 create mode 100644 "\354\261\225\355\204\260_15/\352\271\200\353\217\231\352\267\234.md"

diff --git "a/\354\261\225\355\204\260_15/\352\271\200\353\217\231\352\267\234.md" "b/\354\261\225\355\204\260_15/\352\271\200\353\217\231\352\267\234.md"
new file mode 100644
index 0000000..964de49
--- /dev/null
+++ "b/\354\261\225\355\204\260_15/\352\271\200\353\217\231\352\267\234.md"
@@ -0,0 +1,67 @@
+# 챕터 15: 타임라인 격리하기
+
+#스터디-쏙쏙들어오는함수형코딩
+
+## 이번 장에서 살펴볼 내용
+
+- 코드를 타임라인 다이어그램으로 그리는 방법을 배우기
+- 버그를 찾기 위해 타임라인 다이어그램 보는 법을 이해
+- 타임라인끼리 공유하는 자원을 줄여 코드 설계를 개선하는 방법을 알아보기
+
+## 두 가지 타임라인 다이어그램 기본 규칙
+
+- 두 액션이 순서대로 나타나면 같은 타임라인에 넣습니다.
+- 두 액션이 동시에 실행되거나 순서를 예상할 수 없다면 분리된 타임라인에 넣습니다.
+  이 규칙을 적용해서 다이어그램을 그리면 시간이 지남에 따라 코드가 어떻게 실행 되는지 이해할 수 있습니다.
+
+## 자세히 보면 놓칠 수 있는 액션 순서에 관한 두 가지 사실
+
+- ++ 와 +=는 사실 세 단계 입니다.
+- 인자는 함수를 부르기 전에 실행합니다.
+
+## 타임라인 다이어그램으로 순서대로 실행되는 코드에도 두 가지 종류가 있다는 것을 알 수 있습니다
+
+- 순서가 섞일 수 있는 코드
+  - 두 액션 사이에 시간은 얼마나 걸릴지 알 수 없다.
+- 순서가 섞이지 않는 코드
+  - 두 액션사이에 다른 작업이 끼어들지 못한다.
+
+## 타임라인 다이어그램으로 동시에 실행되는 코드는 순서를 예측할 수 없다는 것을 알 수 있다.
+
+여러개의 타임라인은 시간에 따라 다양한 방식으로 실행 될 수 있다. 타임라인이 실행 가능한 방법을 “가능한 순서”라고 한다.
+
+## 좋은 타임라인 원칙
+
+- 타임라인은 적을수록 이해하기 쉽다
+- 타임라인을 짧을수록 이해하기 쉽다
+- 공유하는 자원이 적을수록 이해하기 쉽다
+- 자원을 공유한다면 서로 조율해야한다.
+- 시간을 일급으로 다룬다.
+
+## AJAX와 이벤트 큐
+
+자바스크립트에서 AJAX를 사용하는 부분은 비동기이다. 네트워트 환경은 예측할 수 없기 때문에 응답은 요청 순서대로 오지 않는다.
+콜백을 통해 요청에 대한 응답과 에러 처리를 진행한다.
+
+## 타임라인 단순화 하기
+
+플랫폼의 스레드 모델에 따라 다이어그램을 단순하게 만드는 것 이다. 자바스크립트의 단순화하는 단계는 두 단계로 정리할 수 있다.
+
+- 하나의 타임라인에 있는 모든 액션을 하나로 통합한다.
+- 타임라인이 끝나느 곳에서 새로운 타임라인이 하나 생긴다면 통합한다.
+
+## 자원을 공유하는 타임라인은 문제가 생길 수 있습니다
+
+공유하는 자원을 업애 문제를 해결할 수 있다.
+
+## 전역변수를 지역변수로 바꾸기
+
+전역변수중에 지역변수로 바꿀 수 있는 것을 찾아 바꾸기.
+
+## 전역변수를 인자로 바꾸기
+
+암묵적 인자를 확인하고 바꾸기
+
+## 재사용하기 더 좋은 코드로 만들기
+
+함수 본문을 콜백으로 바꾸기 리팩토링을 이용하 변경해본다!