🏁 기타/μ½”λ“œν”„λ ˆμ†Œ μ²΄ν—˜λ‹¨_BE

🏁 기타/μ½”λ“œν”„λ ˆμ†Œ μ²΄ν—˜λ‹¨_BE

Clean Naming

Clean Naming을 μ•Œμ•„λ³΄κΈ°μ— μ•žμ„œ Clean Codeλž€ λ¬΄μ—‡μΌκΉŒ? Clean Codeλž€? μ΄ν•΄ν•˜κΈ° 쉽고, λ³€κ²½ν•˜κΈ° μ‰¬μš΄ Code. μ‚¬λžŒμ΄ 읽고 μ΄ν•΄ν•˜κΈ° 쉽고, λͺ…ν™•ν•œ ν•œκ°€μ§€ 역할을 ν•˜λ©°, 이 역할을 의미있게 ν‘œν˜„ν•˜κ³ , 쀑볡이 μ—†κ³  ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€κ°€ μ‘΄μž¬ν•˜λŠ” Code 이닀. Clean Naming은 가독성 ν–₯상에 κ°€μž₯ μ€‘μš”ν•œ μš”μ†Œμ΄λ‹€. 개발의 λŒ€λΆ€λΆ„μ€ μ½”λ“œλ₯Ό μ΄ν•΄ν•˜κ³  μˆ˜μ •ν•˜λŠ” ν–‰μœ„μ΄λ‹€. λ§Œμ•½ 그게 수백 라인의 μ½”λ“œλΌλ©΄ 크게 μ–΄λ €μš΄ 일이 아닐 것이닀. κ·ΈλŸ¬λ‚˜ μˆ˜μ‹­, 수백만 라인의 μ½”λ“œλ₯Ό 읽고 μ΄ν•΄ν•˜κ³  μˆ˜μ •ν•˜λŠ” 것은 맀우 μ–΄λ €μš΄ 일이닀. 그렇기에 Clean Naming에 λŒ€ν•œ μž‘μ€ νˆ¬μžλŠ” μž₯κΈ°μ μœΌλ‘œλŠ” νŒ€μ˜ 개발 생산성 ν–₯상에 크게 κΈ°μ—¬κ°€ 될 수 μžˆλŠ” 뢀뢄이닀. SW의 μ£Όμš” μš”μ†Œλ“€μ€ λͺ¨λ‘ μ•„λž˜μ™€ 같이 Cl..

🏁 기타/μ½”λ“œν”„λ ˆμ†Œ μ²΄ν—˜λ‹¨_BE

[Java] μ»¬λ ‰μ…˜ ν”„λ ˆμž„μ›Œν¬ : List

List μΈν„°νŽ˜μ΄μŠ€ : List 자료ꡬ쑰λ₯Ό μœ„ν•΄ μ •μ˜λœ μΈν„°νŽ˜μ΄μŠ€ - μ—¬λŸ¬ 건의 데이터λ₯Ό ν•˜λ‚˜μ˜ 객체둜 κ΄€λ¦¬ν•œλ‹€. - μž…λ ₯된 데이터에 μˆœμ„œκ°€ μ‘΄μž¬ν•œλ‹€. (μˆœμ„œ μ •λ³΄μ˜ 관리λ₯Ό μœ„ν•΄ 인덱슀 κ°œλ…μ΄ 쑴재) - μž…λ ₯된 λ°μ΄ν„°λ“€μ˜ 쀑볡을 ν—ˆμš©ν•œλ‹€. ≫ Collection μΈν„°νŽ˜μ΄μŠ€λ₯Ό μƒμ†ν•˜μ—¬ μ •μ˜λœ μΈν„°νŽ˜μ΄μŠ€ Collection μΈν„°νŽ˜μ΄μŠ€μ—μ„œ μ •μ˜λœ λ©”μ„œλ“œμ— List μžλ£Œκ΅¬μ‘°μ— ν•„μš”ν•œ λ©”μ„œλ“œκ°€ μΆ”κ°€λ‘œ μ •μ˜ λœλ‹€. ≫ λŒ€ν‘œμ μΈ List 자료ꡬ쑰의 μ»¬λ ‰μ…˜ 클래슀 → ArrayListκ°€ κ°€μž₯ 많이 μ‚¬μš©λ˜λŠ” 클래슀 ArrayList ν΄λž˜μŠ€λŠ”? · Array와 κ°€μž₯ μœ μ‚¬ν•œ μ»¬λ ‰μ…˜ ν΄λž˜μŠ€μ΄λ‹€. · Array처럼 객체 λ‚΄λΆ€ 데이터에 μ ‘κ·Όν•˜κΈ° μœ„ν•œ μΈλ±μŠ€κ°€ μ‘΄μž¬ν•œλ‹€. · Array와 λ‹€λ₯΄κ²Œ μƒμ„±λœ κ°μ²΄μ—μ„œ λ°μ΄ν„°μ˜ μΆ”κ°€, μ‚­μ œ..

🏁 기타/μ½”λ“œν”„λ ˆμ†Œ μ²΄ν—˜λ‹¨_BE

[Java] μ»¬λ ‰μ…˜ ν”„λ ˆμž„μ›Œν¬μ™€ μ œλ„€λ¦­

μ»¬λ ‰μ…˜ ν”„λ ˆμž„μ›Œν¬ (Collection framework) λ‹€μ–‘ν•œ 자료ꡬ쑰의 κ΅¬ν˜„μ„ μœ„ν•œ ν΄λž˜μŠ€μ™€ μΈν„°νŽ˜μ΄μŠ€μ˜ 집합 ≫ μ»¬λ ‰μ…˜ ν”„λ ˆμž„μ›Œν¬ ν΄λž˜μŠ€μ™€ Array의 차이점 1. ArrayλŠ” μ •μ˜ν•  λ•Œ λ°μ΄ν„°μ˜ 개수λ₯Ό μ •ν•˜μ—¬ 변경이 λΆˆκ°€λŠ₯ν•˜μ§€λ§Œ, μ»¬λ ‰μ…˜ ν”„λ ˆμž„μ›Œν¬ ν΄λž˜μŠ€λŠ” 데이터 개수의 동적인 변경이 κ°€λŠ₯ν•˜λ‹€. 2. ArrayλŠ” Objectλ‚˜ int, charν˜• λ“±μ˜ Primitive Type을 μ›μ†Œλ‘œ κ°€μ§ˆ 수 μžˆμ§€λ§Œ, μ»¬λ ‰μ…˜ ν”„λ ˆμž„μ›Œν¬ ν΄λž˜μŠ€λŠ” κ°μ²΄λ§Œμ„ μ›μ†Œλ‘œ 가진닀. μ»¬λ ‰μ…˜ ν”„λ ˆμž„μ›Œν¬μ˜ μ£Όμš” μΈν„°νŽ˜μ΄μŠ€ 1. List μΈν„°νŽ˜μ΄μŠ€ 2. Set μΈν„°νŽ˜μ΄μŠ€ 3. Map μΈν„°νŽ˜μ΄μŠ€ (* List와 Set μΈν„°νŽ˜μ΄μŠ€λŠ” λͺ¨λ‘ Collection μΈν„°νŽ˜μ΄μŠ€λ₯Ό 상속받아 μ •μ˜ν•˜μ§€λ§Œ, Map μΈν„°νŽ˜μ΄μŠ€λŠ” κ΅¬μ‘°μƒμ˜ 차이둜 Col..

🏁 기타/μ½”λ“œν”„λ ˆμ†Œ μ²΄ν—˜λ‹¨_BE

[Java] 상속(Inheritance) | μ˜€λ²„λΌμ΄λ”© | λ‹€ν˜•μ„±

상속 (inheritance) μΌλ°˜ν™”λœ 클래슀λ₯Ό μž¬μ‚¬μš©ν•˜μ—¬ μƒˆλ‘œμš΄ specific ν•œ 클래슀λ₯Ό μƒμ„±ν•˜λŠ” 것 상속을 ν•˜λŠ” 클래슀(User)λ₯Ό 'λΆ€λͺ¨(Parent) 클래슀, μƒμœ„(Super) 클래슀, 기반(Base) 클래슀'라고 ν‘œν˜„ν•˜κ³ , 상속을 λ°›λŠ” 클래슀(PaidUser)λ₯Ό 'μžμ‹(Child) 클래슀, ν•˜μœ„(Sub) 클래슀, νŒŒμƒ(Derived) 클래슀'라고 ν‘œν˜„ν•˜κΈ°λ„ ν•œλ‹€. - μžμ‹ ν΄λž˜μŠ€λŠ” λΆ€λͺ¨ 클래슀의 λͺ¨λ“  λ©€λ²„λ³€μˆ˜μ™€ λ©”μ†Œλ“œλ₯Ό μƒμ†λ°›λŠ”λ‹€ (But, JavaλŠ” λ‹¨μΌμƒμ†λ§Œ ν—ˆμš©ν•˜κΈ° λ•Œλ¬Έμ— ν•˜λ‚˜μ˜ ν΄λž˜μŠ€λ‘œλΆ€ν„°λ§Œ 상속을 받을 수 μžˆλ‹€) - 상속을 μ‚¬μš©ν•˜λ©΄ 클래슀 κ°„μ˜ 계측적 λΆ„λ₯˜(hierarchical classifications)κ°€ κ°€λŠ₯해진닀 β–· Javaμ—μ„œλŠ” extendsλ₯Ό μ‚¬μš©ν•˜μ—¬ λΆ€λͺ¨ 클래슀의 멀버..

🏁 기타/μ½”λ“œν”„λ ˆμ†Œ μ²΄ν—˜λ‹¨_BE

[Java] 클래슀 | Method | μƒμ„±μž | μ˜€λ²„λ‘œλ”©

클래슀 λ­” κΈ°λ³Έλ‹¨μœ„, 객체λ₯Ό μƒμ„±ν•˜κΈ° μœ„ν•œ 섀계도(ν‹€) - 객체λ₯Ό λ§Œλ“€κΈ° μœ„ν•œ ν‹€, ν…œν”Œλ¦Ώ, 섀계도 - 객체 생성을 μœ„ν•œ 정보듀을 (μ–΄λ–€ 속성과 ν–‰μœ„λ“€μ„ 포함할 κ²ƒμΈμ§€μ˜ 정보λ₯Ό 포함) ≫ 좔상화(Abstraction) - λ°˜λ“œμ‹œ ν•„μš”ν•œ 것듀을 μ„ νƒν•˜κ³ , λΆˆν•„μš”ν•œ 것듀을 λ²„λ¦¬λŠ” κ³Όμ • - μΆ”μƒν™”μ˜ κ³Όμ • μžμ²΄κ°€ ν•˜λ‚˜μ˜ 클래슀λ₯Ό μ„€κ³„ν•˜λŠ” 과정이닀. → 즉, νŠΉμ • 객체에 λ°˜λ“œμ‹œ ν•„μš”ν•œ 속성과 ν–‰μœ„λ₯Ό μ •μ˜ν•˜λŠ” κ³Όμ •μž„ 클래슀 μ„ μ–Έ * λ³€μˆ˜λŠ” 멀버 λ³€μˆ˜, μΈμŠ€ν„΄μŠ€ λ³€μˆ˜λΌκ³  λΆ€λ₯΄κ³ , λ©”μ†Œλ“œλŠ” λ©”μ†Œλ“œ, μΈμŠ€ν„΄μŠ€ λ©”μ†Œλ“œλΌκ³  λΆ€λ₯Έλ‹€. - class ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•˜κ³ , λ‚΄λΆ€μ—λŠ” λ³€μˆ˜λ“€κ³Ό λ©”μ†Œλ“œλ“€μ΄ μ‘΄μž¬ν•œλ‹€. (=클래슀의 멀버 라고도 함) - 클래슀 이름은 λŒ€λ¬Έμžλ‘œ μ‹œμž‘ν•˜λ©° μƒμ„±λ˜λŠ” 객체λ₯Ό κ°€μž₯ 잘 ν‘œν˜„ν•˜λŠ” λͺ…사 ν˜•νƒœμ˜ μ˜λ―ΈμžˆλŠ”..

🏁 기타/μ½”λ“œν”„λ ˆμ†Œ μ²΄ν—˜λ‹¨_BE

[Git] GitFlow | 브랜치 ν™œμš© μ „λž΅

GitFlowλ₯Ό μ„€λͺ…ν•˜κΈ°μ— μ•žμ„œ 브랜치 ν™œμš© μ „λž΅ μ’…λ₯˜μ— λŒ€ν•΄ κ°„λž΅νžˆ μ•Œμ•„λ³΄μž. β–Ά Git의 브랜치 ν™œμš© μ „λž΅ λͺ¨λΈ - feature 별 branch - κ°œλ°œμžλ³„ branch - μŠ€ν”„λ¦°νŠΈ 주기별 branch - 사내 검증 단계별 branch - · · · - GitFlow Git의 브랜치 ν™œμš© μ „λž΅ 쀑 ν•˜λ‚˜μΈ GitFlow에 λŒ€ν•΄ μ‚΄νŽ΄λ³΄μž. GitFlow λͺ¨λΈμ€ 닀섯가지 브랜치λ₯Ό ν™œμš©ν•˜μ—¬ 변경점을 κ΄€λ¦¬ν•˜λŠ” λͺ¨λΈμ΄λ‹€. ν•˜λ‚˜μ”© μ•Œμ•„λ³΄μž. master branch : μ‹€μ œ κ³ κ°μ—κ²Œ 릴리즈 λ˜λŠ” 브랜치 - κ³ κ°μ—κ²Œ 전달 κ°€λŠ₯ν•œ μˆ˜μ€€μ˜ μ»€λ°‹λ§Œ μ‘΄μž¬ν•΄μ•Ό ν•œλ‹€. - λͺ¨λ“  변경사항은 κ²°κ΅­ master둜 μ΅œμ’… λ°˜μ˜λ˜μ–΄μ•Ό ν•œλ‹€. develop branch : λ‹€μŒ 배포할 κΈ°λŠ₯을 κ°œλ°œν•˜λŠ” 브랜치 - μ‹€μ œ 개발의 쀑심이 λ˜λŠ”..

Dhey
'🏁 기타/μ½”λ“œν”„λ ˆμ†Œ μ²΄ν—˜λ‹¨_BE' μΉ΄ν…Œκ³ λ¦¬μ˜ κΈ€ λͺ©λ‘ (3 Page)