πΊοΈ ν΅μ¬ μ€κ³λμ μμ± μμμ μ€μ§μ μΈ μμ νλ¦.
π κ²°λ‘ λΆν° λ§νμλ©΄, μ격ν νν¬μ λ°©μ(Waterfall Methodology)μ΄ μλ, μλ‘ μν₯μ μ£Όκ³ λ°μΌλ©° μ μ§μ μΌλ‘ μμ±ν΄ λκ°λ κ²μ΄ μΌλ°μ μ
λλ€.
νμ§λ§ κ°λ
μ μΈ μμλ λͺ
ννκ² μ‘΄μ¬νλ©°, κ·Έ μμλ₯Ό μ΄ν΄νλ κ²μ λ§€μ° μ€μν©λλ€.
π μ΄μμ μΈ μμ± μμ (κ°λ μ νλ¦)
λ§μΉ μ§μ μ§λ κ³Όμ μ²λΌ, κ°μ₯ μΆμμ μ΄κ³ κ·Όλ³Έμ μΈ κ²μμλΆν° ꡬ체μ μΈ κ²μΌλ‘ λμκ°λλ€.
1οΈβ£ μꡬμ¬ν λͺ μΈμ (무μμ λ§λ€ κ²μΈκ°?) π€
- κ°μ₯ λ¨Όμ μμμ΄λμ΄μΌ ν©λλ€.
-
μ΄μ :
- μ΄λ€ κΈ°λ₯μ λ§λ€μ§, μ΄λ€ λΉμ¦λμ€ κ·μΉμ λ΄μμ§ κ²°μ λμ§ μμΌλ©΄, κΈ°μ μ μΈ μ€κ³(μν€ν μ²)λ λ°μ΄ν°κ΅¬μ‘°(DB)λ₯Ό λ Όνλ κ² μμ²΄κ° λΆκ°λ₯ν©λλ€.
- βκ³ κ°μ΄ μνλ μ§βμ΄ μ΄λ€ λͺ¨μ΅μΈμ§(λ°© κ°μ, μΈ΅μ, μ€νμΌ λ±)λ₯Ό λ¨Όμ μ νλ λ¨κ³μ λλ€.
-
μ°μΆλ¬Ό :
- κΈ°λ₯ λͺ©λ‘, λΉμ¦λμ€ κ·μΉ, μ μ± , μ μ½ μ‘°κ±΄ λ±
2οΈβ£ μμ€ν μν€ν μ² μ€κ³μ (μ΄λ»κ² ꡬ쑰λ₯Ό μ‘μ κ²μΈκ°?) ποΈ
- μꡬμ¬νμ΄ μ΄λ μ λ μ€κ³½μ λλ¬λ΄λ©΄ μμλ©λλ€.
-
μ΄μ :
- μ μλ μꡬμ¬νμ μμ μ μ΄κ³ ν¨μ¨μ μΌλ‘ λ§μ‘±μν€κΈ° μν΄ μ΄λ€ κΈ°μ μ μ¬μ©νκ³ , μμ€ν μ μ΄λ€ ν° λ©μ΄λ¦¬(λͺ¨λ, μ»΄ν¬λνΈ)λ‘ λλμ§ κ²°μ ν΄μΌ ν©λλ€.
- βκ³ κ°μ΄ μνλ μ§βμ μ§κΈ° μν΄ μ΄λ€ 곡λ²(λͺ©μ‘°, μ² κ·Ό μ½ν¬λ¦¬νΈ)μ μ¬μ©ν μ§, μ κΈ°/μλ μμ€ν μ μ΄λ»κ² λ°°μΉν μ§ ν° κ·Έλ¦Όμ 그리λ λ¨κ³μ λλ€.
-
μ°μΆλ¬Ό :
- κΈ°μ μ€ν(Tech Stack), μμ€ν ꡬμ±λ, μΈλΆ μμ€ν μ°λ λ°©μ, ν΅μ¬ μ»΄ν¬λνΈ μ€κ³
3οΈβ£ λ°μ΄ν°λ² μ΄μ€ μ€κ³μ (무μμ μ μ₯ν κ²μΈκ°?) πΎ
- μꡬμ¬νκ³Ό μν€ν μ²κ° ꡬ체νλλ©΄μ ν¨κ» μ§νλ©λλ€.
-
μ΄μ :
- μꡬμ¬νμμ νμν λ°μ΄ν°(
νμ
,μν
,μ£Όλ¬Έ
)κ° λ¬΄μμΈμ§ μλ³νκ³ , μν€ν μ²μμ μ νν λ°μ΄ν°λ² μ΄μ€ κΈ°μ (RDBMS, NoSQL λ±)μ λ§μΆ° λ°μ΄ν°λ₯Ό μ΄λ»κ² ꡬ쑰ννμ¬ μ μ₯ν μ§ μ€κ³ν©λλ€. - βμ§μ κ° κ³΅κ°βμ μ΄λ€ κ°κ΅¬λ₯Ό λ°°μΉνκ³ μλ©κ³΅κ°μ μ΄λ»κ² λ§λ€μ§ ꡬ체μ μΌλ‘ μ€κ³νλ λ¨κ³μ λλ€.
- μꡬμ¬νμμ νμν λ°μ΄ν°(
-
μ°μΆλ¬Ό :
- ERD(Entity-Relationship Diagram), ν μ΄λΈ λͺ μΈ, μΈλ±μ€ μ€κ³
π οΈ μ€λ¬΄μμμ νμ€μ μΈ μμ νλ¦ - λ°λ³΅μ μΈ μμ (Iteractive Process)
μ€μ νλ‘μ νΈμμλ μ΄ μΈ κ°μ§ μ€κ³κ° νΌμ¦μ λΌμ λ§μΆλ―μ΄ μμλλ‘ μ§νλμ§ μμ΅λλ€.
μλ‘κ° μλ‘μκ² μν₯μ λ―ΈμΉλ©° ν¨κ» λ°μ ν΄ λκ°λ λ°λ³΅μ μΈ(Iteractive) κ³Όμ μ κ±°μΉ©λλ€.
- 1. (μꡬμ¬ν) : βμ€μκ° μΈκΈ° μν μΆμ² κΈ°λ₯βμ΄λΌλ μꡬμ¬νμ΄ λμ΅λλ€.
- 2. (μν€ν μ²) : βμ΄ κΈ°λ₯μ ꡬννλ €λ©΄ λμ©λ λ°μ΄ν°λ₯Ό λΉ λ₯΄κ² μ²λ¦¬ν΄μΌ νλ, κΈ°μ‘΄ RDBMS μΈμ Redis κ°μ μΈλ©λͺ¨λ¦¬ λ°μ΄ν°λ² μ΄μ€λ₯Ό λμ νμβλΌκ³ μν€ν μ² κ²°μ μ μν₯μ μ€λλ€.
- 3. (λ°μ΄ν°λ² μ΄μ€) : Redisλ₯Ό μ¬μ©νκΈ°λ‘ νμΌλ―λ‘, βμ€μκ° μΈκΈ°(λνΉ) λ°μ΄ν°λ₯Ό μ΄λ€ ꡬ쑰(μ: Sorted Set)λ‘ μ μ₯ν μ§β ꡬ체μ μΈ λ°μ΄ν° μ€κ³λ₯Ό μ§νν©λλ€.
- 4. (λ€μ μꡬμ¬ν) : μ€κ³λ₯Ό νλ€ λ³΄λ, βμΆμ² μνμ μ¬μ©μ κ·Έλ£Ήλ³λ‘ λ€λ₯΄κ² 보μ¬μ£Όλ κ²βμ΄ κΈ°μ μ μΌλ‘ κ°λ₯νλ€λ κ²μ λ°κ²¬νκ³ , μ΄λ₯Ό μλμ μꡬμ¬νμ μμΌλ‘ μ μνμ¬ κΈ°λ₯μ λ νλΆνκ² λ§λ€ μλ μμ΅λλ€.
πββοΈ μ΄μ²λΌ μΈ μ€κ³μλ ν±λλ°κ·μ²λΌ λ§λ¬Όλ € λμκ°λ©°, νλ‘μ νΈκ° μ§νλ¨μ λ°λΌ ν¨κ» ꡬ체νλκ³ μμΈν΄μ§λλ€.
βοΈ Important Advice.
- κ° μ€κ³ λ¨κ³λ₯Ό βμλ²½β νκ² λλ΄κ³ λ€μμΌλ‘ λμ΄κ°λ €λ μκ°λ³΄λ€λ, ν΅μ¬μ μΈ λ΄μ©μ λ¨Όμ μ μνκ³ κ°λ°μ μ§ννλ©΄μ νμν λΆλΆμ κ³μν΄μ ꡬ체ννκ³ κ°μ ν΄ λκ°λ μ μμΌ(Agile)ν μ κ·Ό λ°©μμ΄ νλ μννΈμ¨μ΄ κ°λ° νκ²½μ λ μ ν©ν©λλ€.