diff --git "a/docs/42_\353\271\204\353\217\231\352\270\260 \355\224\204\353\241\234\352\267\270\353\236\230\353\260\215/\353\254\270\354\206\214\355\235\254.md" "b/docs/42_\353\271\204\353\217\231\352\270\260 \355\224\204\353\241\234\352\267\270\353\236\230\353\260\215/\353\254\270\354\206\214\355\235\254.md"
new file mode 100644
index 00000000..60e32958
--- /dev/null
+++ "b/docs/42_\353\271\204\353\217\231\352\270\260 \355\224\204\353\241\234\352\267\270\353\236\230\353\260\215/\353\254\270\354\206\214\355\235\254.md"
@@ -0,0 +1,110 @@
+# π λΉλκΈ° νλ‘κ·Έλλ°
+
+## π 1. λκΈ° μ²λ¦¬μ λΉλκΈ° μ²λ¦¬
+
+> μλ°μ€ν¬λ¦½νΈ μμ§μ **λ¨ νλμ μ€ν 컨ν
μ€νΈλ₯Ό κ°μ§κΈ° λλ¬Έμ ν λ²μ νλμ νμ€ν¬λ§ μ€νν μ μλ μ±κΈ μ€λ λ λ°©μμΌλ‘ λμνλ€.** νμ¬ μ€ν μ€μΈ νμ€ν¬κ° μ’
λ£ν λκΉμ§ λ€μμ μ€νλ νμ€ν¬κ° λκΈ°νλ λ°©μμ **λκΈ°synchronous μ²λ¦¬λΌκ³ νκ³ ,** μ’
λ£λμ§ μμ μνμλ λ€μ νμ€ν¬λ₯Ό 곧λ°λ‘ μ€ννλ λ°©μμ **λΉλκΈ°asynchronous μ²λ¦¬λΌκ³ νλ€.**
+
+ν¨μλ₯Ό νΈμΆνλ©΄ ν¨μ μ½λκ° νκ°λμ΄ ν¨μ μ€ν 컨ν
μ€νΈμ½ μ€νκ° μμ±λκ³ , μ€ν 컨ν
μ€νΈ μ€νμ νΈμλλ©΄μ ν¨μ μ½λκ° μ€νλλ€. ν¨μ μ½λμ μ€νμ΄ μ’
λ£λλ©΄ μ€νμμ νλμ΄ μ κ±°λλ€.
+
+```javascript
+const foo = () => {};
+const bar = () => {};
+
+foo();
+bar();
+```
+
+![](https://velog.velcdn.com/images/zivivle/post/2b377843-f8f5-45e6-9401-b807ac7a7284/image.png)
+
+μ€ν 컨ν
μ€νΈ μ€νμ ν¨μ μ€ν 컨ν
μ€νΈκ° νΈμλλ κ²μ ν¨μ μ€νμ μμμ μλ―Ένλ€. ν¨μκ° νΈμΆλ μμλλ‘ μμ°¨μ μΌλ‘ μ€νλλ μ΄μ λ νΈμΆλλ μμλλ‘ ν¨μ μ€ν 컨ν
μ€νΈκ° μ€ν 컨ν
μ€νΈ μ€νμ νΈμλκΈ° λλ¬Έμ΄λ€. μ¦, _ν¨μμ μ€ν μμλ μ€ν 컨ν
μ€νΈ μ€νμΌλ‘ κ΄λ¦¬νλ€._
+
+**μλ°μ€ν¬λ¦½νΈ μμ§μ λ¨ νλμ μ€ν 컨ν
μ€νΈλ₯Ό κ°μ§λ©°,** μ΄λ ν¨μλ₯Ό μ€νν μ μλ μ°½κ΅¬κ° λ¨ νλμ΄κ³ 2κ° μ΄μμ ν¨μλ₯Ό λμμ μ€νν μ μλ€λ κ²μ μλ―Ένλ€. μ€ν 컨ν
μ€νΈ μ€νμ μ΅μμ μμμΈ `μ€ν μ€μΈ μ€ν 컨ν
μ€νΈ`λ₯Ό μ μΈν λͺ¨λ μ€ν 컨ν
μ€νΈλ μ€ν λκΈ° μ€μΈ νμ€ν¬λ€μ΄λ©°, λκΈ° μ€μΈ νμ€ν¬λ€μ νμ¬ μ€ν μ€μΈ μ€ν 컨ν
μ€νΈκ° νλμ΄ μ€νμμ μ κ±°λλ©΄(νμ¬ μ€ν μ€μΈ ν¨μκ° μ’
λ£νλ©΄) μ€νλκΈ° μμνλ€.
+
+μλ°μ€ν¬λ¦½νΈ μμ§μ ν λ²μ νλμ νμ€ν¬λ§ μ€νν μ μλ μ±κΈ μ€λ λ λ°©μμΌλ‘ λμνλ€. λλ¬Έμ μ²λ¦¬μ μκ°μ΄ 걸리λ νμ€ν¬λ₯Ό μ€ννλ κ²½μ° **λΈλ‘νΉblocking (μμ
μ€λ¨)μ΄ λ°μνλ€.** μ΄μ²λΌ νμ¬ μ€ν μ€μΈ νμ€ν¬κ° μ’
λ£ν λκΉμ§ **λ€μμ μ€νλ νμ€ν¬κ° λκΈ°νλ λ°©μμ λκΈ°synchronous μ²λ¦¬λΌκ³ νλ€.**
+
+![](https://velog.velcdn.com/images/zivivle/post/d2905f9a-a22a-4f68-8d59-bde5bbaff7de/image.png)
+
+`setTimeout` ν¨μλ μΌμ μκ°μ΄ κ²½κ³Όν μ΄νμ μ½λ°± ν¨μλ₯Ό νΈμΆνμ§λ§ μ΄νμ νμ€ν¬λ₯Ό λΈλ‘νΉνμ§ μκ³ κ³§λ°λ‘ μ€ννλ€. μ΄μ²λΌ **νμ¬ μ€ν μ€μΈ νμ€ν¬κ° μ’
λ£λμ§ μμ μνλΌ ν΄λ λ€μ νμ€ν¬λ₯Ό 곧λ°λ‘ μ€ννλ λ°©μμ λΉλκΈ°asynchronous μ²λ¦¬λΌκ³ νλ€.**
+
+λΉλκΈ° ν¨μλ μ ν΅μ μΌλ‘ μ½λ°± ν¨ν΄μ μ¬μ©νλλ°, μ΄ μ½λ°± ν¨ν΄μ μ½λ°± ν¬callback hellμ λ°μμμΌ κ°λ
μ±μ λμκ² νκ³ , λΉλκΈ° μ²λ¦¬ μ€ λ°μν μλ¬μ μμΈ μ²λ¦¬κ° κ³€λνλ©°, μ¬λ¬ κ°μ λΉλκΈ° μ²λ¦¬λ₯Ό ν λ²μ μ²λ¦¬νλ λ°λ νκ³κ° μλ€.
+
+**νμ΄λ¨Έ ν¨μμΈ setTimeoutκ³Ό setInterval, HTTP μμ², μ΄λ²€νΈ νΈλ€λ¬λ μ΄λ²€νΈ 루νμ νμ€ν¬ νμ κΉμ κ΄κ³κ° μλ λΉλκΈ° μ²λ¦¬ λ°©μμΌλ‘ λμνλ€.**
+
+![](https://velog.velcdn.com/images/zivivle/post/bbcd16ec-72c9-4748-bc17-3e23392a0d3c/image.png)
+
+| μ₯/λ¨μ | λκΈ° μ²λ¦¬ λ°©μ | λΉλκΈ° μ²λ¦¬ λ°©μ |
+| ------- | ----------------------------------- | ---------------- |
+| μ₯μ | μ€ν μμ 보μ₯ | λΈλ‘νΉ λ°μ X |
+| λ¨μ | μμ νμ€ν¬ μ’
λ£ μκΉμ§ λΈλ‘νΉ λ°μ | μ€ν μμ 보μ₯ X |
+
+## π 2. μ΄λ²€νΈ 루νμ νμ€ν¬ ν
+
+> μ΄λ²€νΈ 루νevent loopλ λΈλΌμ°μ μ λ΄μ₯λμ΄ μλ κΈ°λ₯ μ€ νλλ‘, μλ°μ€ν¬λ¦½νΈμ λμμ±concurrencyμ μ§μνλ€.
+
+λλΆλΆμ μλ°μ€ν¬λ¦½νΈ μμ§μ ν¬κ² 2κ°μ μμμΌλ‘ ꡬλΆν μ μλ€.
+
+#### β¨ μ½ μ€νcall stack
+
+> μμ€μ½λ νκ° κ³Όμ μμ μμ±λ μ€ν 컨ν
μ€νΈκ° μΆκ°λκ³ μ κ±°λλ **μ€ν 컨ν
μ€νΈ μ€νμ μ½ μ€νμ΄λΌκ³ νλ€.**
+
+ν¨μλ₯Ό νΈμΆνλ©΄ ν¨μ μ€ν 컨ν
μ€νΈκ° μμ°¨μ μΌλ‘ μ½ μ€νμ νΈμλμ΄ μμ°¨μ μΌλ‘ μ€νλλ€. μλ°μ€ν¬λ¦½νΈ μμ§μ λ¨ νλμ μ½ μ€νμ μ¬μ©νκΈ° λλ¬Έμ μ΅μμ μ€ν 컨ν
μ€νΈκ° μ’
λ£λμ΄ μ½ μ€νμμ μ κ±°λκΈ° μ κΉμ§λ λ€λ₯Έ μ΄λ€ νμ€ν¬λ μ€νλμ§ μλλ€.
+
+#### β¨ νheap
+
+> **νμ κ°μ²΄κ° μ μ₯λλ λ©λͺ¨λ¦¬ 곡κ°μ΄λ€.** μ½ μ€νμ μμμΈ μ€ν 컨ν
μ€νΈλ νμ μ μ₯λ κ°μ²΄λ₯Ό μ°Έμ‘°νλ€.
+
+λ©λͺ¨λ¦¬μ κ°μ μ μ₯νλ €λ©΄ λ¨Όμ κ°μ μ μ₯ν λ©λͺ¨λ¦¬ 곡κ°μ ν¬κΈ°λ₯Ό κ²°μ ν΄μΌ νλ€. κ°μ²΄λ ν¬κΈ°κ° μ ν΄μ Έ μμ§ μμΌλ―λ‘ ν λΉν΄μΌ ν λ©λͺ¨λ¦¬ 곡κ°μ ν¬κΈ°λ₯Ό λ°νμμ κ²°μ (λμ ν λΉ)ν΄μΌ νλ€. λ°λΌμ κ°μ²΄κ° μ μ₯λλ λ©λͺ¨λ¦¬ 곡κ°μΈ νμ ꡬ쑰νλμ΄ μμ§ μλ€λ νΉμ§μ΄ μλ€.
+
+#### β¨ Web API
+
+> λΈλΌμ°μ μμ μ 곡νλ APIμ΄λ©°, DOM APIμ νμ΄λ¨Έ ν¨μ, HTTP μμ²ajaxκ³Ό κ°μ λΉλκΈ° μ²λ¦¬λ₯Ό ν¬ν¨νλ€.
+
+![](https://velog.velcdn.com/images/zivivle/post/420c45ef-3403-4420-ab46-5ab4a298132e/image.png)
+
+μ½ μ€νκ³Ό νμΌλ‘ ꡬμ±λμ΄ μλ μλ°μ€ν¬λ¦½νΈ μμ§μ _νμ€ν¬κ° μμ²λλ©΄ μ½ μ€νμ ν΅ν΄ μμ²λ μμ
μ μμ°¨μ μΌλ‘ μ€ννλ€._ **λΉλκΈ° μ²λ¦¬μμ μμ€μ½λμ νκ°μ μ€νμ μ μΈν λͺ¨λ μ²λ¦¬λ μλ°μ€ν¬λ¦½νΈ μμ§μ ꡬλνλ νκ²½μΈ λΈλΌμ°μ λλ Node.jsκ° λ΄λΉνλ€.** μλ₯Ό λ€μ΄, `setTimeout`μ μ½λ°± ν¨μ νκ°μ μ€νμ μλ°μ€ν¬λ¦½νΈ μμ§μ΄ λ΄λΉνμ§λ§ _νΈμΆ μ€μΌμ€λ§μ μν νμ΄λ¨Έ μ€μ κ³Ό μ½λ°± ν¨μμ λ±λ‘μ λΈλΌμ°μ λλ Node.jsκ° λ΄λΉνλ€._
+
+μ΄λ₯Ό μν΄ λΈλΌμ°μ νκ²½μ νμ€ν¬ νμ μ΄λ²€νΈ 루νλ₯Ό μ 곡νλ€.
+
+#### β¨ νμ€ν¬ νtask queue/event queue/callback queue
+
+> λΉλκΈ° ν¨μμ μ½λ°± ν¨μ λλ μ΄λ²€νΈ νΈλ€λ¬κ° μΌμμ μΌλ‘ 보κ΄λλ μμμ΄λ€.
+
+νμ€ν¬ νμλ λ³λλ‘ νλ‘λ―Έμ€μ νμ μ²λ¦¬ λ©μλμ μ½λ°± ν¨μκ° μΌμμ μΌλ‘ 보κ΄λλ λ§μ΄ν¬λ‘νμ€ν¬ νλ μ‘΄μ¬νλ€.
+
+#### β¨ μ΄λ²€νΈ 루νevent loop
+
+> μ½ μ€νμ νμ¬ μ€ν μ€μΈ μ€ν 컨ν
μ€νΈκ° μλμ§, νμ€ν¬ νμ λκΈ° μ€μΈ ν¨μ(μ½λ°± ν¨μ, μ΄λ²€νΈ νΈλ€λ¬ λ±)κ° μλμ§ λ°λ³΅ν΄μ νμΈνλ€.
+
+**λ§μ½ μ½ μ€νμ΄ λΉμ΄ μκ³ νμ€ν¬ νμ λκΈ° μ€μΈ ν¨μκ° μλ€λ©΄ μ΄λ²€νΈ 루νλ μμ°¨μ FIFO, Fist In First OutμΌλ‘ νμ€ν¬ νμ λκΈ° μ€μΈ ν¨μλ₯Ό μ½ μ€νμΌλ‘ μ΄λμν¨λ€.** μ΄λ μ½ μ€νμΌλ‘ μ΄λν ν¨μλ μ€νλλ€. μ¦, _νμ€ν¬ νμ μΌμ 보κ΄λ ν¨μλ€μ λΉλκΈ° μ²λ¦¬ λ°©μμΌλ‘ λμνλ€._
+
+![](https://velog.velcdn.com/images%2Fboram_in%2Fpost%2Fe3d6254b-5b87-47d1-8847-02b44b93ee6a%2FλΉλκΈ°.gif)
+
+**λΉλκΈ° ν¨μμΈ `setTimeout`μ μ½λ°± ν¨μλ νμ€ν¬ νμ νΈμλμ΄ λκΈ°νλ€κ° μ½ μ€νμ΄ λΉκ² λλ©΄ μ½ μ€νμ νΈμλμ΄ μ€νλλ€.** μ±κΈ μ€λ λ λ°©μμΌλ‘ λμνλ κ²μ λΈλΌμ°μ κ° μλ λΈλΌμ°μ μ λ΄μ₯λ μλ°μ€ν¬λ¦½νΈ μμ§μ΄λ€. **λ§μΌ λͺ¨λ μλ°μ€ν¬λ¦½νΈ μ½λκ° μλ°μ€ν¬λ¦½νΈ μμ§μμ μ±κΈ μ€λ λ λ°©μμΌλ‘ λμνλ€λ©΄ μλ°μ€ν¬λ¦½νΈλ λΉλκΈ°λ‘ λμν μ μλ€. μ¦, μλ°μ€ν¬λ¦½νΈ μμ§μ μ±κΈ μ€λ λλ‘ λμνμ§λ§ λΈλΌμ°μ λ λ©ν° μ€λ λλ‘ λμνλ€.** λΈλΌμ°μ μ μλ°μ€ν¬λ¦½νΈ μμ§μ΄ νλ ₯ν΄ λΉλκΈ° ν¨μμΈ `setTimeout` ν¨μλ₯Ό μ€ννλ κ²μ΄λ€. π
+
+### π μ΄λ° μμΌλ‘ λμν΄μ
+
+```javascript
+function foo() {
+ console.log('foo');
+}
+
+function bar() {
+ console.log('bar');
+}
+
+setTimeout(foo, 0); // 0μ΄(μ€μ λ‘λ 4ms) νμ foo ν¨μ νΈμΆ
+bar();
+```
+
+1. μ μ μ½λκ° νκ°λμ΄ μ μ μ€ν 컨ν
μ€νΈκ° μμ±λκ³ μ½ μ€νμ νΈμλλ€.
+2. μ μ μ½λκ° μ€νλκΈ° μμνμ¬ setTimeout ν¨μκ° νΈμΆλλ©΄μ ν¨μ μ€ν 컨ν
μ€νΈκ° μμ±λκ³ μ½ μ€νμ νΈμλμ΄ νμ¬ μ€ν μ€μΈ μ€ν 컨ν
μ€νΈκ° λλ€. λΈλΌμ°μ μ Web APIμΈ νμ΄λ¨Έ ν¨μλ ν¨μ μ€ν 컨ν
μ€νΈλ₯Ό μμ±νλ€.
+3. setTimeout ν¨μκ° μ€νλλ©΄ μ½λ°± ν¨μλ₯Ό νΈμΆ μ€μΌμ€λ§νκ³ μ’
λ£λμ΄ μ½ μ€νμμ νλλ€. μ΄λ νΈμΆ μ€μΌμ€λ§, μ¦ νμ΄λ¨Έ μ€μ κ³Ό νμ΄λ¨Έκ° λ§λ£λλ©΄ _μ½λ°± ν¨μλ₯Ό νμ€ν¬ νμ νΈμνλ κ²μ λΈλΌμ°μ μ μν μ΄λ€._
+4. λΈλΌμ°μ κ° μννλ 4-1κ³Ό μλ°μ€ν¬λ¦½νΈ μμ§μ΄ μννλ 4-2λ λ³ν μ²λ¦¬λλ€.
+ 4-1. λΈλΌμ°μ λ νμ΄λ¨Έλ₯Ό μ€μ νκ³ νμ΄λ¨Έμ λ§λ£λ₯Ό κΈ°λ€λ¦°λ€. μ΄ν νμ΄λ¨Έκ° λ§λ£λλ©΄ **4ms νμ μ½λ°± ν¨μ fooκ° νμ€ν¬ νμ νΈμλμ΄ λκΈ°νκ² λλ€.** (μ§μ° μκ°μ΄ 4ms μ΄νμΈ κ²½μ° μ΅μ μ§μ° μκ° 4msκ° μ§μ λλ€.) νμ€ν¬ νμ νΈμλμ΄ λκΈ°νλ μ½λ°± ν¨μλ μ½ μ€νμ΄ λΉμ΄μΌ νΈμΆλλ―λ‘ `setTimeout` ν¨μλ‘ νΈμΆ μ€μΌμ€λ§ν μ½λ°± ν¨μλ μ νν μ§μ° μκ° νμ νΈμΆλλ€λ 보μ₯μ μλ€. μ¦, μ½κ°μ μκ°μ°¨κ° λ°μν μ μλ€.
+ 4-2. bar ν¨μκ° νΈμΆλμ΄ bar ν¨μμ μ€ν 컨ν
μ€νΈκ° μμ±λκ³ μ½ μ€νμ νΈμλμ΄ νμ¬ μ€ν μ€μΈ μ€ν 컨ν
μ€νΈκ° λκ³ , μ’
λ£λλ©΄ μ½ μ€νμμ νλλ€. μ΄λ λΈλΌμ°μ κ° νμ΄λ¨Έλ₯Ό μ€μ ν ν 4msκ° κ²½κ³Όλμλ€λ©΄ **foo ν¨μλ μμ§ νμ€ν¬ νμμ λκΈ° μ€μ΄λ€.**
+5. μ μ μ½λ μ€νμ΄ μ’
λ£λκ³ μ μ μ€ν 컨ν
μ€νΈκ° μ½ μ€νμμ νλλ©΄μ μ½ μ€νμλ μλ¬΄λ° μ€ν 컨ν
μ€νΈλ μ‘΄μ¬νμ§ μκ² λλ€.
+6. μ΄λ²€νΈ 루νμ μν΄ μ½ μ€νμ΄ λΉμ΄ μμμ΄ κ°μ§λκ³ νμ€ν¬ νμμ λκΈ° μ€μΈ μ½λ°± ν¨μ fooκ° μ΄λ²€νΈ 루νμ μν΄ μ½ μ€νμ νΈμλλ€. μ΄λ κ² νμ¬ μ€ν μ€μΈ μ€ν 컨ν
μ€νΈκ° λκ³ , foo ν¨μκ° μ’
λ£λλ©΄ μ½ μ€νμμ νλλ€.
+
+## π REFERENCE
+
+λͺ¨λ μλ°μ€ν¬λ¦½νΈ Deep Dive 42μ₯ λΉλκΈ° νλ‘κ·Έλλ°