μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- float
- μ½λ©ν μ€νΈ
- Flex
- μκ³ λ¦¬μ¦
- νλ‘ νΈμλ
- Gatsby
- μλ°μ€ν¬λ¦½νΈ
- λ°λΈμ½μ€3κΈ°
- fetch API
- CSS
- REACT
- νλ‘κ·Έλλ¨Έμ€
- history api
- position
- Props
- λ°λΈμ½μ€
- useEffect
- useRef
- λΈλ‘κ·Έ
- Today
- Total
Daehyunii's Dev-blog
42μ₯ λΉλκΈ° νλ‘κ·Έλλ° λ³Έλ¬Έ
42μ₯ λΉλκΈ° νλ‘κ·Έλλ°
Daehyunii 2022. 7. 29. 20:4742.1 λκΈ° μ²λ¦¬μ λΉλκΈ° μ²λ¦¬
ν¨μλ₯Ό νΈμΆνλ©΄ ν¨μ μ½λκ° νκ°λμ΄ ν¨μ μ€ν 컨ν μ€νΈκ° μμ±λλ€. μ΄λ μμ±λ ν¨μ μ€ν 컨ν μ€νΈλ μ€ν 컨ν μ€νΈ μ€ν(μ½ μ€ν)μ νΈμλκ³ ν¨μμ½λκ° μ€νλλ€. ν¨μ μ½λμ μ€νμ΄ μ’ λ£νλ©΄ ν¨μ μ€ν 컨ν μ€νΈλ μ€ν 컨ν μ€νΈ μ€νμμ νλμ΄ μ κ±°λλ€.
23μ₯ μ€ν 컨ν μ€νΈ
μ€ν 컨ν μ€νΈλ μλ°μ€ν¬λ¦½νΈμ λμ μ리λ₯Ό λ΄κ³ μλ ν΅μ¬ κ°λ μ΄λ€. μ΄ κ°λ μ λͺ ννκ² μ΄ν΄νλ©΄ μλ°μ€ν¬λ¦½νΈκ° μ€μ½ν κΈ°λ°μΌλ‘ μλ³μμ μλ³μμ λ°μΈλ©λ κ°μ κ΄λ¦¬νλ λ°©μκ³Ό νΈ
pinetree93.tistory.com
μλ°μ€ν¬λ¦½νΈ μμ§μ λ¨ νλμ μ€ν 컨ν μ€νΈ μ€νμ κ°λλ€. μ΄λ ν λ²μ νλμ νμ€ν¬λ§ μ€νν μ μλ€λ λ»μ΄κ³ , λ€μ λ§ν΄ μλ°μ€ν¬λ¦½νΈ μμ§μ ν λ²μ νλμ νμ€ν¬λ§ μ€νν μ μλ μ±κΈ μ€λ λ λ°©μμΌλ‘ λμνλ€. μ±κΈ μ€λ λ λ°©μμ νλμ νμ€ν¬λ§ μ€νν μ μκΈ° λλ¬Έμ μ²λ¦¬μ μκ°μ΄ 걸리λ νμ€ν¬λ₯Ό μ€ννλ κ²½μ° λΈλ‘νΉ(μμ μ€λ¨)μ΄ λ°μνλ€.
// sleep ν¨μλ μΌμ μκ°μ΄ κ²½κ³Όν μ΄νμ μ½λ°± ν¨μ(func)λ₯Ό νΈμΆνλ€.
function sleep(func, delay){
const delayUntil = Date.now() + delay;
while (Date.now() < delayUntil);
func();
}
function foo(){
console.log('foo');
}
function bar(){
console.log('bar');
}
//sleep ν¨μλ 3μ΄ μ΄μ μ€νλλ€.
sleep(foo, 3 * 1000);
//bar ν¨μλ sleep ν¨μμ μ€νμ΄ μ’
λ£λ μ΄νμ νΈμΆλλ―λ‘ 3μ΄ μ΄μ λΈλ‘νΉλλ€.
bar();
//(3μ΄ κ²½κ³Ό ν) foo νΈμΆ -> bar νΈμΆ
μ μ½λ μ²λΌ μ€ν μ€μΈ νμ€ν¬κ° μ’ λ£ν λκΉμ§ λ€μμ μ€νλ νμ€ν¬κ° λκΈ°νλ λ°©μμ λκΈ° μ²λ¦¬λΌκ³ νλ€. λκΈ° μ²λ¦¬ λ°©μμ νμ€ν¬λ₯Ό μμλλ‘ νλμ© μ²λ¦¬νλ―λ‘ μ€ν μμκ° λ³΄μ₯λλ€λ μ₯μ μ΄ μμ§λ§ μμ νμ€ν¬κ° μ’ λ£ν λκΉμ§ μ΄ν νμ€ν¬λ€μ΄ λΈλ‘νΉλλ λ¨μ μ΄ μλ€.
function foo(){
console.log('foo');
}
function bar(){
console.log('bar');
}
// νμ΄λ¨Έ ν¨μ setTimeoutμ bar ν¨μλ₯Ό λΈλ‘νΉνμ§ μλλ€.
setTimeout(foo, 3 * 1000);
bar();
// bar ν¨μ νΈμΆ -> 3μ΄ κ²½κ³Ό ν foo ν¨μ νΈμΆ
setTimeout ν¨μλ sleep ν¨μμ μ μ¬νκ² μΌμ μκ°μ΄ κ²½κ³Όν μ΄νμ μ½λ°± ν¨μλ₯Ό νΈμΆνμ§λ§ setTimeout ν¨μ μ΄νμ νμ€ν¬λ₯Ό λΈλ‘νΉνμ§ μκ³ κ³§λ°λ‘ μ€ννλ€. μ΄μ²λΌ νμ¬ μ€ν μ€μΈ νμ€ν¬κ° μ’ λ£λμ§ μμ μνλΌ ν΄λ λ€μ νμ€ν¬λ₯Ό κ³§λ°λ‘ μ€ννλ λ°©μμ λΉλκΈ° μ²λ¦¬λΌκ³ νλ€. λΉλκΈ° μ²λ¦¬ λ°©μμ νμ¬ μ€ν μ€μΈ νμ€ν¬κ° μ’ λ£λμ§ μμ μνλΌ ν΄λ λ€μ νμ€ν¬λ₯Ό κ³§λ°λ‘ μ€ννλ―λ‘ λΈλ‘νΉμ΄ λ°μνμ§ μλλ€λ μ₯μ μ΄ μμ§λ§, νμ€ν¬μ μ€ν μμκ° λ³΄μ₯λμ§ μλ λ¨μ μ΄ μλ€. λΉλκΈ° μ²λ¦¬λ₯Ό μννλ λΉλκΈ° ν¨μλ μ ν΅μ μΌλ‘ μ½λ°± ν¨ν΄μ μ¬μ©νλ€. νμ§λ§ λΉλκΈ° μ²λ¦¬λ₯Ό μν μ½λ°± ν¨ν΄μ μ½λ°± ν¬μ λ°μμμΌ κ°λ μ±μ λμκ² λ§λ€κ³ , λΉλκΈ° μ²λ¦¬ μ€ λ°μν μλ¬μ μμΈ μ²λ¦¬κ° κ³€λνλ©°, μ¬λ¬ κ°μ λΉλκΈ° μ²λ¦¬λ₯Ό ν λ²μ μ²λ¦¬νλ λ°λ νκ³κ° μλ€.
νμ΄λ¨Έ ν¨μμΈ setTimeoutκ³Ό setInterval, HTTPμμ², μ΄λ²€νΈ νΈλ€λ¬λ λΉλκΈ° μ²λ¦¬ λ°©μμΌλ‘ λμνλ€. λΉλκΈ° μ²λ¦¬λ μ΄λ²€νΈ 루νμ νμ€ν¬ νμ κΉμ κ΄κ³κ° μλ€.
42.2 μ΄λ²€νΈ 루νμ νμ€ν¬ ν
μλ°μ€ν¬λ¦½νΈμ νΉμ§ μ€ νλλ μ±κΈ μ€λ λλ‘ λμνλ€λ κ²μ΄λ€. νμ§λ§ λΈλΌμ°μ κ° λμνλ κ²μ μ΄ν΄λ³΄λ©΄ λ§μ νμ€ν¬κ° λμμ μ²λ¦¬λλ κ²μ²λΌ λκ»΄μ§λ€. μ΄μ²λΌ μλ°μ€ν¬λ¦½νΈμ λμμ±μ μ§μνλ κ²μ΄ λ°λ‘ μ΄λ²€νΈ 루νλ€. μ΄λ²€νΈ 루νλ λΈλΌμ°μ μ λ΄μ₯λμ΄ μλ κΈ°λ₯ μ€ νλλ€.
μλ°μ€ν¬λ¦½νΈ μμ§μ ν¬κ² μ½ μ€ν(μ€ν 컨ν μ€νΈ)μ ν(κ°μ²΄κ° μ μ₯λλ λ©λͺ¨λ¦¬ 곡κ°)μΌλ‘ ꡬμ±λλ€. μλ°μ€ν¬λ¦½νΈ μμ§μ λ¨μν νμ€ν¬κ° μμ²λλ©΄ μ½ μ€νμ ν΅ν΄ μμ²λ μμ μ μμ°¨μ μΌλ‘ μ€νν λΏμ΄λ€. λΉλκΈ° μ²λ¦¬μμ μμ€μ½λμ νκ°μ μ€νμ μ μΈν λͺ¨λ μ²λ¦¬λ μλ°μ€ν¬λ¦½νΈ μμ§μ ꡬλνλ νκ²½μΈ λΈλΌμ°μ λ Node.jsμμ λ΄λΉνλ€.
μλ₯Ό λ€μ΄, λΉλκΈ° λ°©μμΌλ‘ λμνλ setTImeoutμ μ½λ°± ν¨μμ νκ°μ μ€νμ μλ°μ€ν¬λ¦½νΈ μμ§μ΄ λ΄λΉνμ§λ§ νΈμΆ μ€μΌμ€λ§μ μν νμ΄λ¨Έ μ€μ κ³Ό μ½λ°± ν¨μμ λ±λ‘μ λΈλΌμ°μ λλ Node.jsκ° λ΄λΉνλ€. μ΄λ₯Ό μν΄ λΈλΌμ°μ νκ²½μ νμ€ν¬ νμ μ΄λ²€νΈ 루νλ₯Ό μ 곡νλ€.
1. νμ€ν¬ ν
setTimeoutμ΄λ setIntervalκ³Ό κ°μ λΉλκΈ° ν¨μμ μ½λ°± ν¨μ λλ μ΄λ²€νΈ νΈλ€λ¬κ° μΌμμ μΌλ‘ 보κ΄λλ μμ
2.μ΄λ²€νΈ 루ν
μ½ μ€νμ νμ¬ μ€ν μ€μΈ μ€ν 컨ν μ€νΈκ° μλμ§, κ·Έλ¦¬κ³ νμ€ν¬ νμ λκΈ° μ€μΈ ν¨μκ° μλμ§ λ°λ³΅ν΄μ νμΈνκ³ μ½ μ€νμ΄ λΉμ΄ μκ³ νμ€ν¬ νμ λκΈ° μ€μΈ ν¨μκ° μλ€λ©΄ μ΄λ²€νΈ 루νλ μμ°¨μ μΌλ‘ νμ€ν¬ νμ λκΈ° μ€μΈ ν¨μλ₯Ό μ½ μ€νμΌλ‘ μ΄λμν¨λ€. μ¦, νμ€ν¬ νμ μΌμ 보κ΄λ ν¨μλ€μ λΉλκΈ° μ²λ¦¬ λ°©μμΌλ‘ λμνλ€.
μ£Όμν΄μΌ ν κ²μ μ±κΈ μ€λ λ λ°©μμΌλ‘ λμνλ κ²μ λΈλΌμ°μ κ° μλλΌ λΈλΌμ°μ μ λ΄μ₯λ μλ°μ€ν¬λ₯΄λΉνΈ μμ§μ΄λΌλ κ²μ μ£Όμν΄μΌ νλ€. λ§μ½ λͺ¨λ μλ°μ€ν¬λ¦½νΈ μ½λκ° μλ° μ€ν¬λ¦½νΈ μμ§μμ μ±κΈ μ€λ λ λ°©μμΌλ‘ λμνλ€λ©΄ μλ°μ€ν¬λ¦½νΈλ λΉλκΈ°λ‘ λμν μ μλ€. μ¦, μλ°μ€ν¬λ¦½νΈ μμ§μ μ±κΈ μ€λ λλ‘ λμνμ§λ§ λΈλΌμ°μ λ λ©ν° μ€λ λλ‘ λμνκΈ° λλ¬Έμ λΉλκΈ° μ²λ¦¬κ° κ°λ₯ν κ²μ΄λ€.
'π Language & CS knowledge > JavaScript (λͺ¨λμλ°μ€ν¬λ¦½νΈ Deep Dive)' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
45μ₯ νλ‘λ―Έμ€(β»λ¨μ κ°λ λ§ μ 리) (0) | 2022.07.30 |
---|---|
44μ₯ REST API(β»λ¨μ κ°λ λ§ μ 리) (0) | 2022.07.29 |
39μ₯ DOM(λ Έλλ€λ‘ ꡬμ±λ νΈλ¦¬ μλ£κ΅¬μ‘°) (0) | 2022.07.28 |
38μ₯ λΈλΌμ°μ μ λ λλ§ κ³Όμ (0) | 2022.07.28 |
37μ₯ Setκ³Ό Map (0) | 2022.07.28 |