TIL (Today I Learned)
2022.02.19
μ€λ μ½μ λ²μ
μΆμ²μ¬ ~ 1μ₯. κΉ¨λν μ½λ
μ± μμ κΈ°μ΅νκ³ μΆμ λ΄μ©
5S λ²μΉ(μΆμ²μ¬ xxiv)
- μ λ ¬ : μ μ ν λͺ λͺ λ² λ±κ³Ό κ°μ λ°©λ²μ μ¬μ©ν΄ 무μμ΄ μ΄λμ μλμ§ μμμΌ νλ€.
- 체κ³ν : μ½λλ λꡬλ μμνλ μμΉμ μμ΄μΌ νλ€.
- μ 리 : μ£ΌμμΌλ‘ μ²λ¦¬ν μ½λλ νλ‘μ νΈμ μκ΄ μλ μ£Όμμ μ§μ΄λ€.
- νμ€ν : κ·Έλ£Ή λ΄μμ μΌκ΄μ μΈ κ΅¬ν μ€νμΌκ³Ό κΈ°λ²μ λμ ν΄μΌ νλ€.
- κ·μ¨ : κ΄λ‘λ₯Ό λ°λ₯΄κ³ , μκΈ° μ½λλ₯Ό μμ£Ό λμλ³΄κ³ κΈ°κΊΌμ΄ λ³κ²½νλ€.
κΉ¨λν μ½λλ?
1) λ Όλ¦¬κ° κ°λ¨ν μ½λ(μ€λ³΅μ΄ μλ€)
2) μμ‘΄μ±μ΄ μ΅μμ΄λ©° κ° μμ‘΄μ±μ λͺ νν μ μνλ μ½λ -> μ μ§λ³΄μκ° μ¬μμ§λ€
3) μ€λ₯λ₯Ό λͺ λ°±ν μ λ΅μ μκ±°ν΄ μ² μ ν μ²λ¦¬νλ μ½λ
4) ν κ°μ§λ₯Ό μ λλ‘ νλ μ½λ
5) λͺ¨λ ν μ€νΈλ₯Ό ν΅κ³Ό : λ¨μ ν μ€νΈμ μΈμ ν μ€νΈ μΌμ΄μ€κ° μ‘΄μ¬νλ μ½λ
6) μλ―Έμλ μ΄λ¦μΌλ‘ μμ€ν λ΄ λͺ¨λ μ€κ³ μμ΄λμ΄λ₯Ό νν
7) ν΄λμ€, λ©μλ, ν¨μ λ±μ μ΅λν μ€μΈλ€.
λ¬Έμ₯
- 빨리 κ°λ μ μΌν λ°©λ²μ μΈμ λ μ½λλ₯Ό μ΅λν κΉ¨λνκ² μ μ§νλ μ΅κ΄μ΄λ€. (7p)
- ν μ€νΈ μΌμ΄μ€κ° μμΌλ©΄ κΉ¨λνμ§ μλ€. (12p)
- μ μ½λλ₯Ό μ§λ©΄μ μ°λ¦¬λ λμμμ΄ κΈ°μ‘΄ μ½λλ₯Ό μ½λλ€. (18p)
μ€λ μ½μ μκ°
- 빨리 κ°λ μ μΌν λ°©λ²μ μΈμ λ μ½λλ₯Ό μ΅λν κΉ¨λνκ² μ μ§νλ μ΅κ΄μ΄λ€. (7p)
μ΄ λ¬Έμ₯μ΄ μ λ§ κ³΅κ°λλ€. μ¬μ€ μ‘Έμ νλ‘μ νΈλ₯Ό νλ©΄μ κ³μ νλ μκ°μ΄ 'μ½λ λ무 λλ½λ€. μ΄ κΈ°λ₯λ§ λλλ©΄ λ―μ΄κ³ μ³μΌμ§'μλλ°, λμ€μ νμ§ λ§κ³ μ€κ°μ€κ°μ μ‘°κΈμ© κ³ μ³λκ°λ μ΅κ΄μ λ€μ¬μΌκ² λ€. μ¬μ€ μ§κΈλ μ½λ κ³ μΉκ³ μλ€...
- ν μ€νΈ μΌμ΄μ€κ° μμΌλ©΄ κΉ¨λνμ§ μλ€. (12p)
μ¬μ€ μ‘°κΈ....μμ£Ό λ§μ΄ μ°λ¦¬λ λ¬Έμ₯. μ§κΈκΉμ§λ μ€νλ§μ μ λ¬Έν μ§ μΌλ§ λμ§ μμλ€λ νκ³λ‘ ν μ€νΈ μΌμ΄μ€λ₯Ό μμ±νμ§ μμλλ° μ¬κΈ°μμ μμ 'κΉ¨λνμ§ μλ€'λΌκ³ λͺ»λ°μΌλκΉ μ£μ± κ°μ΄ λ λ€. μμΌλ‘ νλ νλ‘μ νΈμλ 무쑰건 ν μ€νΈ μΌμ΄μ€λ₯Ό μμ±ν΄μΌκ² λ€.(μ¬μ€ μΌμΌν postmanμΌλ‘ λ리λ κ² νλ μ΄μ λ μλ€. swaggerλ μ’μ§λ§ μλ κ·Έλ κ² λ―Ώμμ§μ€λ½μ§ μλ€)
- μμ‘΄μ±μ΄ μ΅μμ΄λ©° κ° μμ‘΄μ±μ λͺ νν μ μνλ μ½λ -> μ μ§λ³΄μκ° μ¬μμ§λ€
κ°μ λ€μΌλ©΄μ μ μ νκ² λλ κ². μ΄λ²μ RESTful API κ΄λ ¨ κ°μλ₯Ό λ€μλλ° 1λ μ κ°μλΌ κ·Έλ°μ§ νλ°λΆ 50%μμ dependency λ²μ μ€λ₯κ° λμμμ΄ λ°μνλ€. κ·Έλ°λ° κ° μμ‘΄μ±μ΄ μ΄λ€ μν μ νλμ§ λμμμ§ μμ μΌμΌν μ°Ύμ보λλΌ νλ€μλ κΈ°μ΅μ΄ μμνλ€. μ΄λ² μ£Ό λ΄μ μμ‘΄μ± κ³΅λΆνκ³ νμν μ λ€λ§ κ³¨λΌ μ¨μΌκ² λ€.
κΆκΈνκ±°λ μ μ΄ν΄λμ§ μλ λ΄μ©
- λ₯΄λΈλμ λ²μΉ(leblanc's law) : Later Equals Never
https://yiming.dev/clipping/2019/03/21/le-blanc's-law-a-k-a-later-equals-never/
κ°μ²΄μ§ν₯ μ€κ³μ 5κ°μ§ μμΉ
1) SRP(The Single Responsibility Principle) : ν΄λμ€μλ ν κ°μ§, λ¨ ν κ°μ§ λ³κ²½ μ΄μ λ§ μ‘΄μ¬ν΄μΌ νλ€.
-> λ³κ²½ μ΄μ κ° λ¬΄μ¨ λ§μΈμ§? ν΄λμ€λ₯Ό μ λ³κ²½νλ κ±΄μ§ μ λͺ¨λ₯΄κ² λ€.
2) OCP(The Open Closed Principle) : ν΄λμ€λ νμ₯μ μ΄λ € μμ΄μΌ νλ©° λ³κ²½μ λ«ν μμ΄μΌ νλ€.
3) LSP(The Liskov Substitution Principle) : μμλ°μ ν΄λμ€λ κΈ°μ΄ ν΄λμ€λ₯Ό λ체ν μ μμ΄μΌ νλ€.
4) DIP(The Dependency Inversion Principle) : μΆμνμ μμ‘΄ν΄μΌ νλ©°, ꡬ체νμ μμ‘΄νλ©΄ μ λλ€.
5) ISP(The Interface Segregation Principle) : ν΄λΌμ΄μΈνΈμ λ°μ νκ² μκ² μͺΌκ°μ§ μΈν°νμ΄μ€λ₯Ό μ μ§νλ€.
'π κ°λ° μμ > Clean Code' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Clean Code] 6μ₯ κ°μ²΄μ μλ£κ΅¬μ‘° (0) | 2022.03.02 |
---|---|
[Clean Code] 4μ₯ μ£Όμ (0) | 2022.02.26 |
[ν΄λ¦° μ½λ] 3μ₯ ν¨μ (0) | 2022.02.23 |
[ν΄λ¦° μ½λ] 2μ₯ μλ―Έ μλ μ΄λ¦ (0) | 2022.02.21 |
[ν΄λ¦°μ½λ] μ± κ΅¬λ§€ μΈμ¦ (0) | 2022.02.18 |
λκΈ