2025. 3. 25. 23:41γFront-end (Basic)/κ°λ μ 리

νλ‘ νΈμλ ν μ€νΈμ λν μμ κ°λ νμ
λͺ©μ°¨
1. νλ‘ νΈμλ ν μ€νΈλ?
1. νλ‘ νΈμλ ν μ€νΈλ?
μ ν리μΌμ΄μ μ΄ κΈ°λν κ²°κ³Όλλ‘ λμνλμ§ κ²μ¦νλ μΌμ΄λ€.
μ ν리μΌμ΄μ μ μμ μ±κ³Ό μ μ§λ³΄μμ± ν₯μμ λͺ©μ μΌλ‘ νλ©°, μ’μ ν μ€νΈ μμ±μ λΉ λ₯΄κ³ ν¨κ³Όμ μΌλ‘ νΌλλ°±μ λ°μ λ²κ·Έλ₯Ό κ²μΆν μ μλ€.
νλ‘ νΈμλλ λ΄λΆ μ½λμ μ°μ° λΏλ§ μλλΌ ν΄λΌμ΄μΈνΈ μμμμ μ¬μ©μμμ μΈν°λμ λν κ³ λ €ν΄μΌνλ€.
DOM μμλ€μ΄ μ μ ν λͺ¨μμΌλ‘ μ μ ν μμΉμ λ°°μΉλμ΄μλ μ§ λ± μμ κ²μ¦ν΄μΌνλ€.
2. μ’μ ν μ€νΈλ?
λͺ¨λ ν μ€νΈλ λ 립μ μΌλ‘ μ€νλμ΄μΌ νλ€.
- Aν
μ€νΈκ° Bν
μ€νΈλ³΄λ€ λμ€μ μ€νλ κ²½μ° κ²μ¦μ μ€ν¨νλ€λ©΄, λ€λ₯Έ μν©μμ μ±κ³΅νλλΌλ μ λ’°ν μ μλ€.
κ° ν μ€νΈλ€μ λ€λ₯Έ ν μ€νΈμ μ€ν μ¬λΆμ μκ΄μμ΄ λ 립μ μΌλ‘ μνλμ΄μΌ νλ€.
ν μ€νΈμ κ²°κ³Όλ μΌκ΄μ±μ΄ μμ΄μΌ νλ€.
- μΈλΆ νκ²½(OS, λ€νΈμν¬, ν μμ€ν
κ³Όμ μΈν°νμ΄μ€)μ μκ΄μμ΄ μΌκ΄μ± μλ κ²μ¦μ μνν΄μΌνλ€.
μ€μ λ°μ΄ν°λ₯Ό μΆ©λΆν νμ©νλ€λ©΄ ν μ€νΈμ μ λ’°λλ₯Ό λμΌ μ μμΌλ©°, μΈλΆ μΈν°νμ΄μ€ μ²λ¦¬μ λ°λΌ λ³κ²½λ μ μλ λΆλΆμ λͺ¨νΉμΌλ‘ λ체νμ§ μκ³ λ°λμ ν μ€νΈλ₯Ό μμ±ν΄μΌ νλ€.
λ΄λΆ ꡬνμ μ’ μλ ν μ€νΈλ μ§μν΄μΌ νλ€.
- λ΄λΆ ꡬνμ μ’
μμ μΈ ν
μ€νΈ μ½λλ μμ ꡬνμ λ³κ²½μλ κΉ¨μ§κΈ° μ¬μ°λ©°, μ μ§ λ³΄μ λΉμ©μ΄ ν¬λ€.
λ°λΌμ ν μ€νΈ μ½λλ λ΄λΆ ꡬν보λ€λ μΈν°νμ΄μ€ κΈ°μ€μΌλ‘ ν μ€νΈνλ κ²μ΄ μ’λ€.
ν μ€νΈλ λ¨μνκ³ μ΄ν΄νκΈ° μ¬μμΌ νλ€.
- ν
μ€νΈ λͺ¨λμ κ°λ
μ±μ΄ μ€μνλ€. λ€λ₯Έ μ¬λλ€μ΄ ν
μ€νΈ μ½λλ§ λ³΄κ³ μ΄λ€ ν
μ€νΈλ₯Ό νλ κ²μΈμ§ ν λμ νμ
ν μ μλλ‘ μμ±νλ κ²μ΄ μ’λ€.
λ°λΌμ νλμ ν μ€νΈμμ λ무 λ§μ ν μ€νΈλ₯Ό μννμ§ μλ κ²μ΄ μ’μΌλ©°, κ²°κ³Ό κ²μ¦ μ½λκ° λ³΅μ‘νλ€λ©΄ λ³λμ ν¨μλ‘ μΆμννμ¬ μ¬μ©νλ κ²μ΄ μ’λ€.
μ μ§ λ³΄μκ° κ°λ₯ν ν μ€νΈλ₯Ό μμ±ν΄μΌ νλ€.
- μ ν리μΌμ΄μ μ½λκ° λ³κ²½λ¨μ λ°λΌ ν μ€νΈ μ½λ μμ κ΄λ¦¬λμ΄μΌ νλ€. λ무 μμ λ¨μμ ν μ€νΈλ μ μ§ λ³΄μλ₯Ό μ΄λ ΅κ² λ§λ λ€.
3. TDDμ Trade off
TDD(Test Driven Development)λ ν μ€νΈ μ£Όλμ κ°λ°μ μλ―Ένλ€.
μ€μ λ‘ κ°λ° μ½λλ₯Ό μμ±νκΈ° μ μ κΉ¨μ§λ ν μ€νΈ μ½λλ₯Ό λ¨Όμ μμ±νκ³ , μ§μμ μΈ λ¦¬ν©ν λ§μ ν΅ν΄ ν μ€νΈκ° κ²μ¦λλ κ³Όμ μ λ°λ³΅νλ©° κ°λ°νλ λ°©λ²λ‘ μ΄λ€.
1. μ μ : μΆκ°νλ €λ κΈ°λ₯μ κ°λ°νκΈ° μ μ ν μ€νΈλ₯Ό λ¨Όμ μμ±νλ€. => ν μ€νΈ μ€ν¨λ‘ μ€λ₯ λ©μμ§ νμ
2. λ Ήμ : μ½λλ₯Ό ꡬννμ¬ ν μ€νΈλ₯Ό ν΅κ³Όμν¨λ€ => μ±κ³΅ λ©μμ§ νμ
3. 리ν©ν λ§ : μμ±ν μ½λλ₯Ό μ΄ν΄λ³΄κ³ μ΄ν΄νκΈ° μ¬μ°λ©° μ μ€κ³λμλμ§ νμΈ
4. λ°λ³΅
TDD κ³Όμ μμμ μΈν°νμ΄μ€λ κ° κ³μΈ΅ κ°μ μμ‘΄μ±μ λν΄ μ§μμ μΈ λ¦¬ν©ν λ§μ μ€ννμ¬ κΉλν μ½λλ₯Ό μ»μ μ μλ€.
4. ν μ€νΈμ μ’ λ₯
νλ‘ νΈμλ ν μ€νΈμ μ’ λ₯λ ν¬κ² λ¨μ ν μ€νΈ, ν΅ν© ν μ€νΈ, E2E ν μ€νΈ, μκ°μ νκ· ν μ€νΈλ‘ λλ μ μλ€.
μμ μΈ κ°μ§λ μ ν리μΌμ΄μ μ λμ λ° μν¬ νλ‘μ°λ₯Ό κ²μ¦νλ€λ©΄, μκ°μ νκ· ν μ€νΈλ μκ°μ μΈ μμλ€μ λΉκ΅νμ¬ κ²μ¦νλ€.
λ¨μ ν μ€νΈ
λ¨μ ν μ€νΈλ λ¨μΌ ν¨μμ κ²°κ³Όκ°, ν΄λμ€λ μ»΄ν¬λνΈμ μν, νμλ₯Ό κ²μ¦νλ€.
λ€λ₯Έ μμμμ μνΈμμ©μ κ²μ¦νκΈ° 보λ€λ κ° μμμ λμμ λ 립μ μΌλ‘ κ²μ¦νλ ν μ€νΈμ΄λ€.
μμ λ΄μ λͺ¨λ νμ/μνλ₯Ό κ²μ¦νκΈ° 보λ€λ ν΅μ¬ μ½λλ§ κ²μ¦νλ κ²μ΄ μ’λ€.
μλ₯Ό λ€μ΄ μΈν°νμ΄μ€λ‘ λ ΈμΆλλ publicν λ©μλλ€μ λν΄μλ§ ν μ€νΈλ₯Ό μμ±ν μ μλ€.
private λ©μλ ν μ€νΈ μ½λλ λ무 λ§μμ§ μ μμΌλ©° λ΄λΆ ꡬν λ³κ²½μ λ°λΌ κΉ¨μ§κΈ° μ½κΈ° λλ¬Έμ μ§μνλ κ²μ΄ μ’λ€.
ν΅ν© ν μ€νΈ
ν΅ν© ν μ€νΈλ κ°λ³ μμλ€μ΄ μ‘°ν©λμμ λ μ¬λ°λ₯΄κ² λμνλ μ§ νμΈνλ€.
λ¨μ ν μ€νΈμ λΉν΄ ν μ€νΈμ μ¬μ νκ²½ μ€μ μ΄ λ³΅μ‘ν μ μμΌλ©°, 'λͺ¨νΉ'μ΄ νμν μ μλ€.
νμ§λ§ λͺ¨νΉμ μ΅λν μ κ²νλ κ²μ΄ μ’λ€.
E2E ν μ€νΈ
E2Eλ End-To-Endμ μ€μλ§λ‘, μ€μ μ ν리μΌμ΄μ μ μ€ννμ¬ μ 체 μν¬ νλ‘μ°λ₯Ό κ²μ¦νλ ν μ€νΈμ΄λ€.
μ ν리μΌμ΄μ μ μ€μ μ¬μ©μκ° μ¬μ©νλ κ²μ²λΌ μλ리μ€λ₯Ό μμ±νμ¬ κ²μ¦νλ€.
5. ν μ€νΈ νΌλΌλ―Έλ

κ°κ°μ ν
μ€νΈνλμ λ€μ΄κ°λ λΉμ©μ΄ λ€λ₯΄λ€.
λ°λΌμ κ° ν μ€νΈλ₯Ό μμ±ν¨μΌλ‘μ¨ μ»μ μ μλ ν¨κ³Όμ μ λ’°μ±μ λ°μ Έλ³΄κ³ , μ΄λ€ κ²μ΄ Trade Offλ₯Ό μ΅μνν μ μλμ§ μκ°ν΄λ³΄μμΌ νλ€.
μ¬λ¬ ν μ€νΈ νλλ₯Ό μ λ ₯νκ³ λ²νΌμ ν΄λ¦νμ¬ λ΄μ©μ΄ μ¬λ°λ₯΄κ² μ μ‘λλμ§ νμΈνκ³ μΆλ€λ©΄,
-> E2E보λ€λ ν΅ν© ν μ€νΈκ° μ μ ν μ μλ€.
μ΄λ€ λͺ¨λμ 볡μ‘ν κ³μ° λ‘μ§μ΄ μλ€λ©΄,
-> λ¨μ ν μ€νΈμμ ν΄λΉ μ°μ°λ§ κ²μ¦νλ κ²μ΄ μ μ ν μ μλ€.
6. jest
jestλ νμ΄μ€λΆμμ λ§λ μλ°μ€ν¬λ¦½νΈ ν μ€ν νλ μμν¬μ΄λ€.
κ²μ¦μ μ€ννλ λ§€μ²(matcher)μ λͺ¨νΉμ νμν APIλ€μ λλΆλΆ μ 곡νκΈ° λλ¬Έμ λ³λμ λΌμ΄λΈλ¬λ¦¬λ₯Ό κ²°ν©νμ§ μκ³ λ μ½κ² ν μ€νΈλ₯Ό μμ±ν μ μλ€.
λ€λ§ Node.js νκ²½μμ ν μ€νΈλ₯Ό μ€ννκΈ° λλ¬Έμ λΈλΌμ°μ μ²λΌ DOMμ μ κ·Όνκ±°λ μ‘°μνλ κ²μ λΆκ°λ₯νλ€.
λμ jestμμ μ 곡νλ jsdomμ΄λΌλ νκ²½μμ DOM APIλ₯Ό νΈμΆνμ¬ κ²μ¦ν μ μλ€.

μ°Έκ³
κΈ°μ΄λΆν° μμ±κΉμ§, νλ°νΈμλ
κΈ°μ΄λΆν° μμ±κΉμ§, νλ°νΈμλ | μ΄μ¬μ± | λΉμ μ΄νΌλΈλ¦(BJνΌλΈλ¦) - μμ€24
λλμ΄, μ΅μ΄μ κ°λ‘ μκ° λμμ΅λλ€! νλ°νΈμλμ κ°λ κ³Ό μ리λ₯Ό λͺ¨λ λ΄μ “νλ°νΈμλμ μ μ”첫째, κ°λ κ³Ό μ€μ΅, μ μ©κ³Ό ν¨μ¨μ λͺ¨λ μ‘μ λμ! νννκ² κ°λ μ μ‘κ³ , κ°λ μ λ°λ‘ μ
www.yes24.com
'Front-end (Basic) > κ°λ μ 리' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| CORSλ λκΉ (0) | 2025.11.08 |
|---|---|
| CSR vs SSR (0) | 2025.10.28 |
| λΌμ΄λΈλ¬λ¦¬μ νλ μμν¬λ λ°©μΉμ μλ°μ΄λ€ (0) | 2025.10.28 |
| κ°λ°μ λꡬ (1) | 2025.03.25 |
| νλ‘ νΈμλμ νλ‘ νΈμλ κ°λ°μλ (0) | 2025.01.16 |
GitHub