μ’μ μ½λ, λμ μ½λ - 2
π λ μνκΈ°
γμ’μ μ½λ, λμ μ½λγ λ μ νκΈ°
-
PART 2. μ€μ
- 7μ₯. μ½λλ₯Ό μ€μ©νκΈ° μ΄λ ΅κ² λ§λ€λΌ
- 8μ₯. μ½λλ₯Ό λͺ¨λννλΌ
- 9μ₯. μ½λλ₯Ό μ¬μ¬μ©νκ³ μΌλ°νν μ μλλ‘ νλΌ
-
PART 3. λ¨μ ν μ€νΈ
- 10μ₯. λ¨μ ν μ€νΈμ μμΉ
- 11μ₯. λ¨μ ν μ€νΈμ μ€μ
γμ’μ μ½λ, λμ μ½λ - 1γ μ μ΄μ΄μ λ¨μ μ±ν°λ€μ λͺ¨λ λ μν λ€ νκΈ°λ₯Ό λ§μ λ¨κ²¨λ³΄λ €νλ€.
4~5μμ νμ¬ νΉμ±μ μλ°κΈ° κ³΅μ± μμ¦μΌλ‘ μΈν΄ κ΅³μ΄ λλμλ©΄ μ±μκΈ°μ κ°κΉκΈ°μ 격 μ£Ό κ°κ²©μΌλ‘ μ§ννλ βλ
μν λ‘ β μΌμ μλ μ‘°κΈ μ°¨μ§μ΄ μμλ€. (μ λ μ λ μ½κΈ° μ«μ΄μ λ―Έλ£¬κ² μλλ€.. π₯²)
μ΄λ² μ± μ μ무λλ μ΄λ €μ΄ λ΄μ©λ μμκ³ μ 무μ μΌλ‘ λ°λΉ΄λ μκΈ°μ΄κΈ°λ ν΄μ ν κΆμ λͺ¨λ μ½λλ° μ½ νλ¬ μ΄μμ μκ°μ΄ 걸리긴 νμμ§λ§ κ·Έλλ νκΆμ λͺ¨λ μ½κ³ λ λ€μ μ΄νμ λ¨κΈΈ μ μκ² λμ΄ κΈ°μλ€.
7μ₯. μ½λλ₯Ό μ€μ©νκΈ° μ΄λ ΅κ² λ§λ€λΌ
βμ½λλ₯Ό μ€μ©νκΈ° μ΄λ ΅κ² λ§λ€λΌβ 7μ₯μ μ£Όλ λ΄μ© κ°λ¨νλ€.
μ΄ μ± μμλ μ ν λμμΈκ³Ό λΉκ΅νμ¬ μ μ€λͺ ν΄μ€λ€.
βμν κ°κ³΅κΈ°μ λ§μ λμμΈμ λκ² μ μ λλ‘ λΆμ°©ν΄μΌλ§ μλνλ€. μ΄κ²μ μκ°λ½μ΄ λ κ·Όμ²μ μμ λ μ€μλ‘ λ μ΄ νμ νλ κ²μ λ°©μ§νκΈ° μν κ²μ΄λ€.β
μ½λλ μ νκ³Ό λ§μ°¬κ°μ§λ‘ μ€μ©νμ¬ μλͺ»μ¬μ©νμ§ μκ²λ μ€λͺ νλ κ²μ΄ μ€μνλ€ κ°μ‘°νλ€.
βλΆλ³ κ°μ²΄λ₯Ό μ¬μ©νλ κ²μ κ³ λ €ν΄λΌβ, βλμμΈ ν¨ν΄μ μ μ ννμ¬λΌβ, βμ§λμΉ μΌλ° μ νμ νΌνλΌβ.. λ±λ± μ’μ κΈκ³Ό μ¬λ‘λ€μ μ μ½νμ§ μμμ§λ§ π₯² λ§€λ² κ°μ‘°ν΄λ λΆμ‘±ν λ΄μ©λ€μ΄λ€.
νΉν, μκ° μ²λ¦¬μ λν μ£Όμμ¬νμ μ€λ¬΄ νκ²½μμλ λ§μ΄ κ²ͺλ μ΄μλ€μ΄κΈ°μ 곡κ°μ΄ λ§μ΄ κ°λ€. (+μλ°μ€ν¬λ¦½νΈ μ§μμμ js-joda μλ νν° λΌμ΄λΈλ¬λ¦¬ μΆμ²λ κΈ°νκ° λλ©΄ κΌ μ¨λ³Ό μμ μ΄λ€.)
8μ₯. μ½λλ₯Ό λͺ¨λννλΌ
μ΄λ² μ₯μ βμ½λμ μ¬μ¬μ©μ±β κ΄μ μΌλ‘ μ½λ λͺ¨λνμ λν νμμ±μ κ°μ‘°νλ μ±ν°μλ€.
νΉνλ μμ‘΄μ± μ£Όμ μ¬μ©μ λ§μ΄ κ°μ‘°νμλλ°, μ€μ λ‘ λ΄κ° μ°κ³ μλ νλ μμν¬μΈ NestJS μ§μμμλ μ€μ λ‘ λ§μ΄ μ°μ΄λ λ°©λ²λ‘ μ΄κΈ° λλ¬Έμ ν₯λ―Έλ‘κ² μ½μ΄λκ° μ μμλ€.
μ€μ λ‘ μ°λ¦¬λ κΈ°λ₯μ λ΄λΉνλ λ¨μλ³λ‘ λͺ¨λμ λλκ³ λͺ¨λμ ꡬμ±νλ μλΉμ€ λ¨μλ‘ μμ‘΄μ± μ£Όμ μ ν΅νμ¬ μλ‘μ κΈ°λ₯μ 곡μ νκ³ μλ€.
AuthService μμ 2μ°¨ μΈμ¦μ νκΈ° μνμ¬ λ¬Έμ λ°μ‘μ΄ νμνλ€λ©΄ NotificationModuleμ SmsServiceλ₯Ό μ£Όμ λ°μ μ¬μ©νλ€.
κ·Έλ¦¬κ³ μμμ λν μ£Όμμ¬ν λν ν₯λ―Έλ‘κ² μ½μ μ£Όμ μ€ νλμλ€.
μ¬μ€ λ¬΄μ°¨λ³ μμμΌλ‘ μΈνμ¬ μνλ μλ μ΄μμ κΈ°λ₯μ λ ΈμΆν μ μκΈ°μ μΆμν κ³μΈ΅μ΄ 볡μ‘ν΄ μ§ μ μλ€λ μ£Όμμ¬νμ΄μλ€.
7μ₯κ³Ό 8μ₯μ κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°(OOP) κ΄μ μΌλ‘ λ°λΌ λ³Έ μ½λ μ€κ³μ μ£Όμμ¬νμ μ λ°μ μΌλ‘ νκΈ°μν€λ μ±ν°μλ€. (κ·Έλμ μ¬λ―Έ..λ λ~~무 μμλ€. π)
9μ₯. μ½λλ₯Ό μ¬μ¬μ©νκ³ μΌλ°νν μ μλλ‘ νλΌ
μ΄λ² μ±ν°μμλ κ°μ₯ ν₯λ―Έλ‘μ λ λ¬Έμ₯μ κΌ½μΌλΌλ©΄ μλ λ¬Έμ₯μ κΌ½κ³ μΆλ€.
βμ£λΆλ₯Έ μ΅μ νλ₯Ό νΌνλΌ.β
κ°μΈμ μΈ μ견μΌλ‘ μ΅μ νλ βꡬνβ λ¨κ³ 보λ€λ βμ μ§λ³΄μβ λ¨κ³ μ΄νμ μκ°ν μ μλ μμλΌ μκ°νκΈ°λ νκΈ° λλ¬Έμ μ λ΄μ©μ λν΄μλ κΉν 곡κ°νμλ€.
μ°μ ꡬνμ μ§μ€ν λ€, μ΄λ λΆλΆμμ λ©λͺ¨λ¦¬ λμκ° μλμ§ νΉμ μ½λμ μ€λ³΅μ΄ μλμ§ λ±λ±.. κΈ°ν κ°μ ν μ μλ μμλ€μ κ΄μΈ‘κ³Ό μΈ‘μ μνλ©΄μ κ°μ ν΄λκ°λ κ²μ΄ κ°λ°μλ‘μ¨ κ°μ₯ μ€μν λλͺ©μ΄λΌ μκ°νλ€.
10μ₯ ~ 11μ₯. λ¨μ ν μ€νΈ
10μ₯κ³Ό 11μ₯μ λ¬Άμ΄μ νλ²μ νκΈ°λ₯Ό λ¨κ²¨λ³΄λ € νλ€.
μ°μ βλ¨μ ν μ€νΈβλΌλ μ£Όμ λ κ°λ°μ μμ μ μ¬λ¬κΆ μ½μ λλ§λ€ νμ λμ€λ μ£Όμ μ΄κΈ°λνλ©° μΈμ κ°λ ν μ€νΈ μ½λλ₯Ό μμ±ν΄μΌμ§..νλ©° λ―Έλ€λ μμ κ°μ λ΄μ©μ΄κΈ° λλ¬Έμ΄λ€.
μ°μ μ΄λ²μ₯μ μ½μΌλ©° κ°μ₯ 곡κ°λμλ λΆλΆμ μλμ κ°λ€.
βκ³ μ μ£Όμμ classicist : λλ‘λ βλνΈλ‘μ΄νΈ ννβλΌκ³ μΌμ»¬μ΄μ§λ€. λͺ©κ³Ό μ€ν μ μ΅μνμΌλ‘ μ¬μ©λμ΄ μΌ νκ³ κ°λ°μλ ν μ€νΈμμ μμ‘΄μ±μ μ€μ λ‘ μ¬μ©νλ κ²μ μ΅μ°μ μΌλ‘ ν΄μΌ νλ€κ³ μ£Όμ₯ν λ€. μ€μ μμ‘΄μ±μ μ¬μ©νλ κ²μ΄ κ°λ₯νμ§ μμ λ, νμ΄ν¬λ₯Ό μ¬μ©νλ κ²μ μ νΈνλ€. λͺ©κ³Ό μ€ ν μ μ€μ μμ‘΄μ±μ΄λ νμ΄ν¬λ₯Ό μ¬μ©νλ κ²μ΄ λΆκ°λ₯ν λλ§ μ΅νμ μλ¨μΌλ‘ μ¬μ©λμ΄μΌ νλ€.β
λ€ μ΄μ΄ μ μλ ν΄λΉ μ΄λ‘ μ λμ‘°νλ μ£Όμ₯μ νΌμΉλ€.
μ¬μ€ κ±°μ°½νκ² νμ΄μ μ΄ κΈμ΄μ§λ§ κ°μ§ κ°μ²΄λ±μ μμ±ν΄ λ΄μ μ λ°μ μΈ ν μ€νΈλ₯Ό μννλ κ²μ μ μ§ λͺ¨λ₯Ό κ±°λΆκ°μ΄ λ λ€λκΉ.. λ¬Όλ‘ , μ§κ·Ήν κ°μΈμ μΈ μ견μ λλ€.
μλ¬΄νΌ μ΄λ² μ± μμλ PART 3κ° λͺ¨λ λ¨μ ν μ€νΈμ λν λ΄μ©μΌλ‘ ꡬμ±λμμ λ§νΌ, κ·Έμ λν μ€μμ±μ κ°μ‘°νκ³ μλ€.
μ°½νΌνκ²λ μ΄λ° κ°λ° μμ μ μ½μ λλ§λ€ κ°μ‘°λλ ν
μ€νΈ μ½λμ μ€μμ±μ μ½κ³ λμλ μμ§κΉμ§ ν
μ€νΈ μ½λλ₯Ό μμ±νμ§ μκ³ μμλ€. (κΈλ³νκ² λ°λλ λΉμ¦λμ€ μꡬμ¬ν λλ¬Έμ ꡬνμ΄ λ°λΉ΄λ€..λΌλ νκ³λ₯Ό λλ³Έλ€.)
μ λΏλ λ¨κΉμ λ½μλ³΄λ €κ³ κ°λ¨ν λΉμ¦λμ€ μλΉμ€ λ‘μ§μ μ λ ν μ€νΈλ₯Ό μ μ©ν΄λ³΄μλ€.
μ°½νΌνκ²λ ν μ€νΈ μ½λκ° κ²μ¦νλ 컀λ²λ¦¬μ§κ° μμ£Ό μκ³ μμ€νλ€. π
μ±μ λΉλνλ κ³Όμ μμ ν΄λ¨Ό μλ¬λ₯Ό λ°©μ§νλ λͺ©μ μΌλ‘ μ°μ μμ±ν΄λ³Έ μμ£Ό κ°λ¨ν ν μ€νΈ μ½λμ΄λ©° μ μ°¨ ν μ€νΈ 컀λ²λ¦¬μ§λ₯Ό λν λ³Ό μκ°μ΄λ€.
μ€μ λ‘ ν μ€νΈ μ½λλ₯Ό μμ±ν΄λ³΄λ μ‘°κΈ λ κΉκ² μ± μ λ΄μ©μ΄ λ€κ°μμΌλ©°, μ΄ μμ μ κΈ°μ€μΌλ‘ μ½λλ₯Ό μμ±ν λ ν μ€νΈ μ½λλ₯Ό μΌλνκ³ μμ±ν΄λ³΄λ €κ³ λ Έλ ₯ν΄λ³΄κ³ μ νλ€.
π€ Understanding
μ°μ μ€μ€λ‘ λΏλ―ν μ μ κ°λ° μμ μ μ¬λ¬ κΆμ μ½μΌλ©° νμ λμ€λ λ¨μ ν
μ€νΈλ₯Ό βλμ€μ λμ
ν΄μΌμ§..β λΌκ³ λ―Έλ£¨κ³ λ―Έλ€λ μμ λ₯Ό λλμ΄ μ€μ μλΉμ€ λ‘μ§μ λμ
νμλ€. (λ무λλ λ¦μμ§λ§ λ§μ΄λ€. β°)
κ·Έμ κ΄νμ²λΌ μ± μ μ½μΌλ©° λ μ νκΈ°λ§ λ¨κΈ°λ κ±Έ λμ΄μ μ€μ²κΉμ§ μ΄μ΄μ§ μ μμλ건, ν λ¨μλ‘ ν¨κ» μ± μ μ½μΌλ©° λλ μ μ μλ‘ κ³΅μ νκ³ μλ‘μ μκ°κ³Ό λ³΄κ³ λλμ μ μκ°ν νμ¬ λ³΄μ¬μ£Όλ ν λ‘ κΉμ§ μ΄μ΄μ‘κΈ° λλ¬Έμ΄μ§ μμκΉλΌκ³ μκ°νλ€.
μ΄λ κ² λ무λλ μ’μ λ¬Ένμμλ λΆλͺ νμ§λ§, μ± μ μ«κ²¨ μ½λ λ―ν νμΌλ΄μ΄ λ§μ΄ 곡μ λμκΈ°μ (λ λν κ·Έλ¬νλ€. π) μ΄λ² μ± μ μ΄νλ‘ κ²©μ£Όκ° μλ νλ¬ λ¨μλ‘ μ± μ μ½κ³ λλ μ μ 곡μ νκΈ°λ‘ μΌμ μ μ‘°μ¨νμλ€.
μ΄λ² μ± μ λν μ λ°μ μΈ λ΄μ©μ μμ½νμλ©΄ γμ’μ μ½λ, λμ μ½λ - 1γ μ΄νμμλ μΈκΈνλ―μ΄ γClean Codeγ μν λ§μ΄λκΉ??..
νΉμ μΈμ΄μλ§ λ§€λͺ°λμ§ μκ³ λ€μν μΈμ΄(νΉν μλ°μ€ν¬λ¦½νΈ μ§μ)λ€μ κ²½μ°μ μ¬λ‘κ° λ§μμ λ무 μ’μλ€. λ€μ μκ°μ λλλ¦°λ€λ©΄ γClean Codeγ 보λ€λ ν΄λΉ μ± μ λ¨Όμ μ½μμ κ² κ°λ€.
λΆνΈνμ§ μκ³ μ½κ² μ½μ μ μλ μ£Όλμ΄ κ°λ°μ νλ ..보λ€λ κΆμ₯λμλ‘ κΌ½κ³ μΆλ€.