μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
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 |
- express.js
- λμμΈν¨ν΄
- Docker
- λ°±μ€ μκ³ λ¦¬μ¦
- EC2
- μ€νλ§λΆνΈ
- μΈμ€ν΄μ€
- BFS
- DP
- μλ°
- μ 보μ²λ¦¬κΈ°μ¬
- ETRI
- 골λ3
- νλ‘μ νΈ
- μλΌμ€ν±λΉμ€ν‘
- λμ
- λ°°ν¬
- μ μ²κΈ°
- μ½λ©ν μ€νΈ κ³ λμ kit
- μκ³ λ¦¬μ¦
- μλ£κ΅¬μ‘°
- Express
- 골λ5
- νκ΅μ μν΅μ μ°κ΅¬μ
- 골λ4
- νλ‘κ·Έλλ¨Έμ€
- aws
- λ컀
- DFS
- μ€νλ§ λΆνΈ
λͺ©λ‘λμμΈν¨ν΄ (17)
JUINTINATION
μ€νΈλν°μ§ ν¨ν΄μ΄λ? μ΄λ€ λͺ©μ μ λ¬μ±νκΈ° μν΄ μΌμ μννλ λ°©μ, λΉμ¦λμ€ κ·μΉ, λ¬Έμ λ₯Ό ν΄κ²°νλ μκ³ λ¦¬μ¦ λ±μ μλ―Ένλ μ λ΅μ μ½κ² λ°κΏ μ μλλ‘ ν΄μ£Όλ ν¨ν΄μ΄λ€. νλ‘κ·Έλ¨μμ μ λ΅μ μ€νν λλ μ½κ² μ λ΅μ λ°κΏμΌ ν νμκ° μλ κ²½μ°κ° λ§μ΄ λ°μνλλ° νΉν κ²μ νλ‘κ·Έλλ°μμ κ²μ μΊλ¦ν°κ° μμ μ΄ μ²ν μν©μ λ°λΌ 곡격μ΄λ νλνλ λ°©μμ λ°κΎΈκ³ μΆμ λ μ€νΈλν°μ§ ν¨ν΄μ λ§€μ° μ μ©νκ² μ°μΈλ€. λ€μκ³Ό κ°μ΄ λ‘λ΄μ λ§λλ ν΄λμ€κ° μλ€κ³ κ°μ ν΄λ³΄μ. public class Main { public static void main(String[] args) { Robot taekwonV = new TaekwonV("TaekwonV"); Robot atom = new Atom("Ateom"); Sy..
μ±κΈν΄ ν¨ν΄μ΄λ? 'λ¨ νλμ μμλ§μ κ°μ§ μ§ν©'μ΄λΌλ μν μ΄λ‘ μμ μ λλ μΈμ€ν΄μ€κ° λ± νλλ§ μμ±λκ³ μ΄λμμλ μ΄ μΈμ€ν΄μ€μ μ κ·Όν μ μλλ‘ λ³΄μ₯νλ ν¨ν΄μ΄λ€. ν΄λμ€μ μ±κΈν΄ ν¨ν΄μ μ μ©νλ λ°©λ²μ λ€μκ³Ό κ°λ€. μμ±μλ₯Ό private λ©μλλ‘ λ³κ²½νλ€. class Singleton { private Singleton() {} } μ κ·Όν νλμ μΈμ€ν΄μ€λ₯Ό static μΈμ€ν΄μ€λ‘ λ§λ€μ΄μ€λ€. class Singleton { private static Singleton instance = null; private Singleton() {} } νλμ static μΈμ€ν΄μ€μ μ κ·ΌνκΈ° μν static λ©μλλ₯Ό λ§λ λ€. class Singleton { private static Singleton i..
λμμΈν¨ν΄μ΄λ? μννΈμ¨μ΄λ₯Ό μ€κ³ν λ νΉμ λ§₯λ½μμ μμ£Ό λ°μνλ κ³ μ§μ μΈ λ¬Έμ λ€μ΄ λ λ°μνμ λ μ¬μ¬μ©ν μ μλ ν΄κ²°μ± ν¨ν΄μ΄λ? λΉμ·νκ±°λ λμΌν μμ λλ μ νλ€μ΄ λ°λ³΅λμ΄ λνλλ κ² λ¬Έμ μ ν΄κ²°μ± λ λμΌν μ νμ΄λ μμμ ν΅ν΄ μ½κ² μ°Ύμ μ μλ€. λμμΈ ν¨ν΄μ μ μ ν κ²©μΈ λ°ν΄λ₯Ό λ€μ λ°λͺ νμ§ λ§λΌ (Dont reinvent the wheel) μ΄λ―Έ μ κ΅΄λ¬κ°λ λ°ν΄λ μ²μλΆν° λ€μ λ§λ€ νμκ° μλ€. λμμΈν¨ν΄ ꡬ쑰 μ½ν μ€νΈ : λ¬Έμ κ° λ°μνλ μ¬λ¬ μν©μ κΈ°μ λ¬Έμ κ° λ°μνλ μ¬λ¬ μν©μ κΈ°μ νλ€. μ¦, ν¨ν΄μ΄ μ μ©λ μ μλ μν©μ λνλΈλ€. κ²½μ°μ λ°λΌμλ ν¨ν΄μ΄ μ μ©νμ§ λͺ»νλ μν©μ λνλ΄κΈ°λ νλ€. λ¬Έμ : ν¨ν΄μ΄ μ μ©λμ΄ ν΄κ²°λ νμκ° μλ λμμΈ μ΄μ ν¨ν΄μ΄ μ μ©λμ΄ ν΄κ²°..
SRP: λ¨μΌ μ± μ μμΉ(Single Responsibility Principle) ν ν΄λμ€λ νλμ μ± μλ§ κ°μ ΈμΌ νλ€. νλμ μ± μμ΄λΌλ κ²μ λͺ¨νΈνλ€. ν΄ μ μκ³ , μμ μ μλ€. λ¬Έλ§₯κ³Ό μν©μ λ°λΌ λ€λ₯΄λ€. κ°μ²΄ μ§ν₯ μ€κ³ κ΄μ μμ μ± μμ κΈ°λ³Έ λ¨μλ κ°μ²΄μ΄λ€. μ± μ = ν΄μΌνλ κ², ν μ μλ κ², λ³κ²½ μ΄μ μ€μν κΈ°μ€μ λ³κ²½μ΄λ€. μꡬ μ¬νμ λ³κ²½μ΄ μμ λ κ°λ₯ν μν₯μ λ°λ λΆλΆμ μ€μ¬μΌ νλ€. λ³κ²½ μ¬μ κ° λ μ μλ κ²μ νλλ‘ λ§λ€μ΄μΌ νλ€. ex) DB μ€ν€λ§ λ³κ²½, UI λ³κ²½, κ°μ²΄μ μμ±κ³Ό μ¬μ©μ λΆλ¦¬ OCP: κ°λ°©-νμ μμΉ (Open/Closed Principle) μννΈμ¨μ΄ μμλ νμ₯μλ μ΄λ € μμΌλ λ³κ²½μλ λ«ν μμ΄μΌ νλ€ κΈ°μ‘΄μ μ½λλ λ³κ²½νμ§ μμΌλ©΄μ κΈ°λ₯μ..
μλ° μΈμ΄μ κ°μ₯ ν° νΉμ§μ κ°μ²΄ μ§ν₯ μΈμ΄, μ¦ κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μμ μ¬μ©νλ μΈμ΄λΌλ μ μ΄λ€. κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μ μ¬λ¬ κ°μ λ 립λ λ¨μ, μ¦ "κ°μ²΄"λ€μ λͺ¨μμΌλ‘ νμ νκ³ μ νλ κ²μ΄λ€. κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μ νλ‘κ·Έλ¨μ μ μ°νκ³ λ³κ²½μ΄ μ©μ΄νκ² λ§λ λ€. κ°μ²΄ μ§ν₯ μΈμ΄μ νΉμ§ μΆμν μ§ν©μ ꡬμ±νλ κ°μ²΄λ€μ 'μΌλ°ν'νλ κ² μ΄λ€ μμμμ νμλ‘ νλ μμ±μ΄λ νμλ₯Ό μΆμΆνλ μμ κ΄μ¬ μλ λΆλΆμ λμ± μ§μ€ν μ μμ switch(μλμ°¨ μ’ λ₯) { case μμ°λ: // μμ°λ μμ§ μ€μΌ κ΅ν μ½λ case λ²€μΈ : // λ²€μΈ μμ§ μ€μΌ κ΅ν μ½λ } // μλμ°¨ μ’ λ₯κ° μΆκ°λ λλ§λ€ μμ μ½λλ₯Ό μμ νμ§ μκ³ μλμ κ°μ΄ ν΄κ²° void changeEngineOil(Car c) {} c.c..