λ Έλλ μ λ°μ μΌλ‘ μλ²λ₯Ό μ€ννλ λ°©λ²μΌλ‘ μ¬μ©λμ§λ§, Javascript λ°νμμΌλ‘μ μλ°μ€ν¬λ¦½νΈ νλ‘κ·Έλ¨μ μ€ννλ λ°μλ μ¬μ©λ μ μλ€.
κ·Έλ λ€λ©΄ μλ²μ λ°νμμ μ°¨μ΄μ μ 무μμΌκΉ?
ν΄λΌμ΄μΈνΈ(λΈλΌμ°μ )μμ μ λ ₯ ν, μμ²μ 보λ΄λ©΄ λ΄λ €λ°κΈ°, μ¦ μλ΅μ΄ κ°λ₯νκ² λλ€.
λ°μ΄ν°λ₯Ό μμ±νκ³ , μ μ₯νκ³ , μ μ‘νλ μν μ νλ κ²μ΄ μ¦ μλ²μ΄λ€.
νΉμ μΈμ΄λ‘ λ§λ νλ‘κ·Έλ¨λ€μ μ€νν μ μλ νκ²½μ λ»νλ€.
μ¦, λ Έλλ μλ°μ€ν¬λ¦½νΈ μ€νκΈ°λΌκ³ λ΄λ 무방νλ€.
μ΄λ²€νΈ (ν΄λ¦, λ€νΈμν¬ μμ² λ±) λ°μ μ, 미리 μ§μ ν΄ λ μμ μ μννλ λ°©μμ μλ―Ένλ€.
μ΄λ²€νΈ 리μ€λμ μ½λ°± ν¨μλ₯Ό μ¬μ μ λ±λ‘ν΄ λκ³ , μ΄λ²€νΈκ° λ°μνλ©΄ ν΄λΉ 리μ€λμ μλ μ½λ°± ν¨μλ₯Ό νΈμΆνλ λ°©μμ΄λ€.
β μ΄λ²€νΈ 루ν
μ¬λ¬ μ΄λ²€νΈκ° λμμ λ°μνμ λ, μ΄λ€ μμλ‘ ν¨μλ₯Ό νΈμΆν μ§ νλ¨νλ μν
FILO μμλ‘ μ€νμ΄ λλ©°, λ Έλκ° μ’ λ£λ λκΉμ§ μμ μ λ°λ³΅νκΈ°μ 루ν(Loop)λΌκ³ λ λΆλ¦
I/O == Input, Output, μ λ ₯/μΆλ ₯μ μλ―Ένλ©°, νμΌ μμ€ν μ κ·Ό (νμΌ μ½κΈ°, μ°κΈ°, ν΄λ λ§λ€κΈ° λ±) λλ λ€νΈμν¬λ₯Ό ν΅ν μμ² λ±μ΄ I/Oμ μΌμ’ μ΄ λ μ μλ€.
λ ΌλΈλ‘νΉ I/O λͺ¨λΈμ μ΄μ μμ μ΄ μλ£λ λκΉμ§ λκΈ°νμ§ μκ³ , λ°λ‘ λ€μ μμ μ μννλ κ²μ μλ―Ένλ€.
β λΈλ‘νΉ λͺ¨λΈ
μ΄μ μμ μ΄ λλμΌμ§λ§ λ€μ μμ μ μννλ κ²μ μλ―Έν¨
λ ΌλΈλ‘νΉμ λΈλ‘νΉμ λΉν΄ μμ μκ°λ λ¨μΆλλ©°, μ΄μ λ°λΌ μ±λ₯λ ν¬κ² λ¬λΌμ§ μ μλ€.
I/O μμ μ΄ μλλΌλ, μ€λ 걸리λ μμ μ μ²λ¦¬ν λ μ€ν μμλ₯Ό λ°κΏμ€μΌλ‘μ¨ μμ μκ°μ λ¨μΆν μ μλ€λ μ₯μ μ΄ μλ€.
λλΆμ΄, λ ΌλΈλ‘νΉκ³Ό λμλ λ€λ₯Έ μλ―Έμ΄λ€.
β λμμ±
λμ μ²λ¦¬κ° κ°λ₯ν μμ μ λ Ό λΈλ‘νΉ μ²λ¦¬ν΄μΌ μ»μ μ μλ κ²
μ€λ λκ° νλλΏμ΄λΌλ κ²μ μλ―Ένλ©°, μλ°μ€ν¬λ¦½νΈ μ½λκ° λμμ μ€νλ μ μλ μ΄μ μ΄κΈ°λ νλ€.
β νλ‘μΈμ€ VS μ€λ λ
νλ‘μΈμ€ : μ΄μ체μ μμ ν λΉνλ μμ μ λ¨μλ‘, νλ‘μΈμ€ κ° λ©λͺ¨λ¦¬ λ±μ μμμ 곡μ νμ§ μμ
μ€λ λ : νλ‘μΈμ€ λ΄μμ μ€νλλ νλ¦μ λ¨μλ‘, μ¬λ¬ μμ μ λμμ μ²λ¦¬ν μ μμΌλ©° κ°μ μ£Όμμ λ©λͺ¨λ¦¬λ‘ μ κ·Όμ΄ κ°λ₯ν΄, λ°μ΄ν°λ₯Ό μλ‘ κ³΅μ ν μ μμ
λ Έλκ° μ€μ λ‘ μ±κΈ μ€λ λμΈ κ²μ μλμ§λ§, μ°λ¦¬κ° μ§μ μ μ΄ν μ μλ μ€λ λλ νλλΏμ΄κΈ°μ μ±κΈ μ€λ λλΌκ³ μ¬κ²¨μ§λ€.
μ±κΈ μ€λ λλ μ μ νλκ° νΌμμ λ§μ μΌμ μ²λ¦¬ν μ μμΌλ, CPUλ₯Ό λ§μ΄ μ¬μ©νλ μμ λλ μ μμ΄ μνκ² λ κ²½μ° λ¬Έμ κ° μκΈΈ μ μλ€.
λ©ν° μ€λ λμ λΉν΄ λΉν¨μ¨μ μ΄λΌκ³ λκ»΄μ§ μ μμΌλ, μ€μ λ‘ λ©ν° μ€λ λ λ°©μμΌλ‘ νλ‘κ·Έλλ°νλ κ²μ μ΄λ €μ°λ―λ‘ λ©ν° νλ‘μΈμ± λ°©μμ λμ μ¬μ©νλ€.
β λ©ν° μ€λ λ© VS λ©ν° νλ‘μΈμ±
λ©ν° μ€λ λ© | λ©ν° νλ‘μΈμ± |
νλμ νλ‘μΈμ€ μ μ¬λ¬ μ€λ λ μ¬μ© | μ¬λ¬ νλ‘μΈμ€ μ¬μ© |
CPU μμ μ΄ λ§μ λ μ¬μ© | I/O μμ²μ΄ λ§μ λ μ¬μ© |
νλ‘κ·Έλλ°μ΄ μ΄λ €μ | νλ‘κ·Έλλ°μ΄ λΉκ΅μ μ¬μ |
μλ²μλ I/O μμ²μ΄ λ§μ΄ λ°μνκΈ°μ, I/O μμ μ λ ΌλΈλ‘νΉ λ°©μμΌλ‘ μ²λ¦¬νλ λ Έλλ₯Ό μ¬μ©νμ λ μ₯μ μ΄ λλ¬λλ€.
κ·Έλ¬λ CPU λΆνκ° ν° μμ μΌλ‘λ μ ν©νμ§ μκΈ°μ, κ°μλ λ§μ§λ§ ν¬κΈ°λ μμ λ°μ΄ν°λ₯Ό μ€μκ°μΌλ‘ μ£Όκ³ λ°λ λ°μ μ ν©νλ€.
μ€μκ° μ±ν , μ£Όμ μ°¨νΈ, JSON λ°μ΄ν° μ 곡 API μλ² λ±μμ λ Έλλ₯Ό λ§μ΄ μ¬μ©νκ³ μλ€.
λ Έλλ μΉ μλ²λ₯Ό λ΄μ₯νκ³ μμ΄, WASλ₯Ό μΆκ°λ‘ μ€μΉνμ§ μμλ λλ€λ μ₯μ μ΄ μμΌλ©°, μλ°μΌν¬λ¦½νΈλ₯Ό μ¬μ©νκΈ°μ μλ°μ€ν¬λ¦½νΈ νλλ‘ λͺ¨λ μΉ μ¬μ΄νΈλ₯Ό μ μν μ μλ€.
μμ μ΄μΌκΈ°ν κ²μ²λΌ, λ Έλλ μλ°μ€ν¬λ¦½νΈ λ°νμμ΄κΈ°μ μλ² μΈλ‘λ μ¬μ©ν μ μλ€.
μΉ νλ μμν¬μΈ μ΅κ·€λ¬, 리μ‘νΈ, λ·° λ±μ΄ λ Έλ κΈ°λ°μΌλ‘ λμκ°λ λνμ μΈ μμλΌκ³ ν μ μμΌλ©°,
λͺ¨λ°μΌ κ°λ° λκ΅¬μΈ λ¦¬μ‘νΈ λ€μ΄ν°λΈ, λ°μ€ν¬ν± κ°λ° λκ΅¬μΈ μΌλ νΈλ‘ λ λ Έλ κΈ°λ°μΌλ‘ λμκ°κ³ μλ€.
λ Έλ 곡μ μ¬μ΄νΈ : https://nodejs.org/ko/
λ Έλ 곡μ κ°μ΄λ : https://nodejs.org/ko/docs/guides/
[Node.js] 5μ₯ ν¨ν€μ§ 맀λμ (0) | 2022.10.13 |
---|---|
[Node.js] 4μ₯ http λͺ¨λλ‘ μλ² λ§λ€κΈ° (0) | 2022.10.06 |
[Node.js] 3μ₯ λ Έλ κΈ°λ₯ (0) | 2022.09.29 |
[Node.js] 3μ₯ λ Έλ κΈ°λ₯ (0) | 2022.09.22 |
[Node.js] 2μ₯ μμλμ΄μΌ ν μλ°μ€ν¬λ¦½νΈ (0) | 2022.09.19 |