ν°μ€ν 리 λ·°
π λ€μ΄κ°κΈ°μ μμμ..
λ€μ΄κ°κΈ°μ μμ, μ°μ μ°ν μ½ μΈ‘μμ μ 곡ν docs λ₯Ό νμΈνλ€.
1. μ½λ 컨벀μ
μ°ν μ½ μΈ‘μμ μ 곡ν xml νμΌμ λ€μ΄λ‘λ λ°μ intelliJ λ΄λΆμμ μ½λμ€νμΌμ μ μ©ν΄μ£Όμλ€. κΈ°μ‘΄μλ κ΅¬κΈ μ½λμ€νμΌλ‘ λμ΄ μμ΄μ μ½κ°μ μ°¨μ΄μ μ΄ μλ μ°ν μ½ μΈ‘μ νμΌμ μ΄μ©νλ€.
2. ν΄λ¦° μ½λλ₯Ό μν μμΉ
π μ μμκ°κ³Ό λ¬Έμμ΄μ ν¬μ₯ν΄μΌ ν κΉ?
1. μμ μ μνλ₯Ό κ°μ²΄ μ€μ€λ‘ κ΄λ¦¬ν μ μλ€.
- User μ΄λΌλ κ°μ²΄ μμ μμν(int)μΈ age κ° μλ€κ³ κ°μ ν΄λ³΄μ. μ΄λ₯Ό Age λΌλ ν΄λμ€λ‘ ν¬μ₯νμ§ μκ³ μμ νμ κ·Έλλ‘ κ°κ³ μκ² λλ€λ©΄, age μ λν μ ν¨μ± κ²μ¬λ₯Ό User ν΄λμ€ λ΄λΆμμ ν΄μΌ νλ€. κ·Έλ¬λ, Age λΌλ ν΄λμ€λ‘ ν¬μ₯νκ² λλ€λ©΄ User μμλ λ μ΄μ age λΌλ λ©€λ²λ³μμ λν μ ν¨μ± κ²μ¬λ₯Ό νμ§ μμλ λλ€.
2. μ½λμ μ μ§λ³΄μμ λμμ΄ λλ€.
- List<Integer> scoresλΌλ λ§€κ°λ³μκ° μλ€κ³ κ°μ ν΄λ³΄μ. μ΄λ₯Ό Score μ΄λΌλ ν΄λμ€λ‘ κ°μΈμ§ μκ³ Integer κ³Ό κ°μ μμ μλ£νμ μ¬μ©νκ² λλ€λ©΄ μ΄λ₯Ό λ§€κ°λ³μλ‘ λ°λ ν΄λμ€μμ κ°λ³κ°μ λͺ¨λ μΌμΌμ΄ κ΄λ¦¬ν΄μ€μΌ νλ€. μ΄λ κ°μ²΄μ§ν₯μ μ΄μ§ μκ³ ν΄λμ€μ ν¬κΈ°κ° λΉλνκ² μ»€μ§λ λ¬Έμ λ₯Ό μ΄λν μ μλ€.
3. μλ£νμ ꡬμ λ°μ§ μλλ€.
- Socre λΌλ ν΄λμ€κ° μλ€κ³ κ°μ ν΄λ³΄μ. μ²μμλ int μλ£νλ§ νμνμ§λ§ μΆνμ double μλ£ν μμ νμν΄μ‘λ€λ©΄, μμ±μ μ€λ²λ‘λ©μ ν΅ν΄μ κ°λ¨νκ² ν΄κ²°ν μ μλ€.
μμκ°κ³Ό λ¬Έμμ΄ ν¬μ₯
μμκ°κ³Ό λ¬Έμμ΄ ν¬μ₯
velog.io
π μ μΌκΈ μ½λ μ μ μ μ©ν΄μΌ ν κΉ?
μΌκΈ 컬λ μ μ 컬λ μ μ ν¬ν¨ν ν΄λμ€λ λ€λ₯Έ λ©€λ²λ³μκ° μμ΄μΌ νλ€λ μμΉμ΄λ€.
μΌκΈ 컬λ μ μ μ μ©ν΄μΌ νλ μ΄μ λ λ©€λ²λ³μμ μνμ νμν λ‘μ§μ μννλ νμλ₯Ό μΌκΈ 컬λ μ ν΄λμ€μμ νλ²μ κ΄λ¦¬νλ κ²μ΄λ€. μλ₯Ό λ€μ΄, Coupon μ΄λΌλ κ°μ²΄κ° μκ³ μ΄μ λν 컬λ μ μ κ΄λ¦¬ν΄μΌ νλ€λ©΄ μΌκΈ 컬λ μ μ λ°λ‘ λ§λ€μ΄ κ΄λ¦¬ν΄μΌ νλ€λ κ²μ΄λ€.
public class CouponBasket{
private final List<Coupon> coupons;
}
CouponBasket μ΄λΌλ μΌκΈμ»¬λ μ μ λ©€λ²λ³μλ‘ μ»¬λ μ μ μ μΈν λ©€λ²λ³μλ₯Ό κ°μ§ μλλ€.
λν, μΌκΈ 컬λ μ μ μ¬μ©νλ©΄ immutable object κ° λ μ μλ€.
νΉν μ λ νλ©΄μ μ§νν λΆλΆ
- μ΅λν ν΄λ¦°μ½λλ₯Ό μ§ν₯νλ©° μ§€ κ²
- ν¨λΆλ‘ 컀λ°νμ§ μμ κ²
- νλμ λ©μλλ λ°λμ ν κ°μ§μ μΌλ§ λ΄λΉνλλ‘ ν κ²
- λ©μλλͺ μ νν¬λ‘ μ§μ§ μκΈ°
λ€μ λ§ν¬ μΈκ°λ₯Ό κ³μν΄μ μ°Έκ³ νκ³ μ λ Έλ ₯νλ€.
https://github.com/woowacourse/woowacourse-docs/blob/main/cleancode/pr_checklist.md
GitHub - woowacourse/woowacourse-docs: μ°μνν ν¬μ½μ€ λ¬Έμλ₯Ό κ΄λ¦¬νλ μ μ₯μ
μ°μνν ν¬μ½μ€ λ¬Έμλ₯Ό κ΄λ¦¬νλ μ μ₯μ. Contribute to woowacourse/woowacourse-docs development by creating an account on GitHub.
github.com
https://thalals.tistory.com/325
1. μλ° λ€μ΄λ° κ·μΉ (java λ€μ΄λ° 컨벀μ )
[μ§§μ μ 리] μμ(final) : λλ¬Έμ λ³μ : μλ¬Έμ or μΉ΄λ© λ©μλ : μΉ΄λ© ν΄λμ€ : νμ€μΉΌ URL : μλ¬Έμ + λͺ μ¬(μμ) + μΈλλ°(x) λμ[-]λ‘ λ³μν€μλ μ λ ¬ μμ : private static final (PSF) 0. μλ° κ³΅..
thalals.tistory.com
https://tecoble.techcourse.co.kr/post/2020-04-26-Method-Naming/
μ’μ μ½λλ₯Ό μν μλ° λ©μλ λ€μ΄λ°
…
tecoble.techcourse.co.kr
π κ³ λ―Όνλ μ§μ λ€
#컀λ°λ©μμ§
μ²μμλ μ΄μ κΉμ§ λ ν΄μλ λλ‘
<μ»€λ° νμ :컀λ°λ©μμ§> λ‘ νμλ€. κ·Έλ¬λ μ΄λ κ² νλ μκ²Όλ λ¬Έμ μ μ
1. λ¬Έμ κ° μ¬λ¬κ°μ΄λ€λ³΄λ λΉμ·ν μ»€λ° λ©μμ§κ° λ§μ΄ μκΈΈ κ²
2. μ΄λ€ λ¬Έμ μ λν 컀λ°μΈμ§ λͺ ννμ§ μμ
μ΄ μμλ€. κ·Έλμ μ¬λμμ μ΄λ€ λΆμ΄ 보λ΄μ£Όμ μλ λ§ν¬λ₯Ό μ°Έκ³ νμ¬ κ΄νΈλ₯Ό μ¬μ©ν΄λ³΄λ €κ³ νλ€.
https://html-jc.tistory.com/457?category=946831
[μ°ν μ½2022] μ°λ¦¬ νμ μ½λ리뷰 λ¬Έν, μ΄λ κ² μ‘°κΈμ© λ°μ νμ΄μ - (3) μ½λ리뷰 λ¬Έν, μ΄λ κ² κ°
μ΄μ μλ μ΄λ κ² νλλ° commitλ‘κ·Έλ₯Ό λ³Όλ κ°λ μ±μ΄ μ’μ§ μμλ€. κ·Έλμ νλ©΄κ³Ό κ°μ΄ μ λͺ©μ μμ±νλ κ·μΉμ λ§λ€μ΄ κ°λ μ±μ λμλ€κ³ νλ€. νμ€ν μ΄μ λ³΄λ€ κ°λ μ±μ΄ μλ±ν λμμ§ κ² κ°λ€
html-jc.tistory.com
λ΄κ° μ νν μ»€λ° λ©μμ§μ λ°©μμ <컀λ°νμ (problem λ¬Έμ λ²νΈ):μ»€λ° λ©μμ§> μλ€. λν μ΅λν μ»€λ° λ©μμ§λ λ¬Έμ λ³λ‘ ν΅μΌνκ³ μ λ Έλ ₯νλ€.
#κΈ°λ₯ ꡬν μ¬ν μ 리
κΈ°λ₯ ꡬν μ¬νμ μ 리ν΄μΌ ν λ μ²μμλ λ§μ΄ ν·κ°λ¦¬κ³ μ΅κ΄μ²λΌ μ½λλ₯Ό μ§λ€κ° 'μ λ§λ€! κΈ°λ₯ ꡬν μ¬ν μ 리ν΄μΌμ§' νλ μκ°μ νκ² λλ€. κ·Έλ¬λ λͺλ² λ°λ³΅ν΄λ³΄λ μ΄λ μ λμ 루ν΄μ΄ μ‘νλ€.
λν problem1~6κΉμ§λ λͺ¨λ κΈ°λ₯μ λͺ¨νΈνκ² μ 리ν΄λμμλ€. κ·Έλ¬λ problem 7μ μμ λ μκ°μ΄ λ©μλλͺ κΉμ§ 미리 μκ°ν΄λλ©΄ λͺ ννκ² λ€ νλ κ²μ΄μλ€. κ·Έλμ κ·Έ μ΄νλ‘λ λ§μ§λ§ λ¬Έμ μΈ problem7μμλ λ©μλλͺ κΉμ§ 미리 μ ν΄λμλ€. μ΄λ κ² νλ λ©μλλͺ μ λν΄μ λ κΉμ΄ κ³ λ―Όνκ² λκ³ , κΈ°λ₯ ꡬνμ μͺΌκ°λ λ¨μλ λͺ ννκ² κΈ°μ€μ΄ μ 립λλ λλμ΄μλ€.
# 곡ν΅
List λ₯Ό μ¨μΌ ν κΉ Array λ₯Ό μ¨μΌ ν κΉ μλ¬Έμ΄ λ€κ³ ν·κ°λ €μ λλ¦λλ‘μ κΈ°μ€μ μ ν΄μΌκ² λ€κ³ μκ°νλ€.
Array - κΈΈμ΄λ₯Ό λ°κΏ μ μμ. λ©λͺ¨λ¦¬ κ΄λ¦¬μ μ΄μ . - μΈλ±μ€λ₯Ό ν΅ν μ κ·Όμ΄ μ©μ΄ - μ½μ /μμ μ λΆλ¦¬ |
List - μ½μ /μμ κ° μ©μ΄ - λ©λͺ¨λ¦¬ μ¬μ¬μ©μ΄ νΈλ¦¬ - λΆμ°μμ - κ²μμ μ±λ₯μ΄ μ’μ§ μμ - μΆκ°μ μΈ λ©λͺ¨λ¦¬ 곡κ°μ λ°μ (ν¬μΈν°λ₯Ό μ¬μ©ν΄μ) |
λ©λͺ¨λ¦¬κ° κ³ μ λκ³ μ λ°μ΄νΈλ μμ κ° μμΌλ©° μΈλ±μ€λ₯Ό ν΅ν μ κ·Όλ§ μ΄λ£¨μ΄μ§λ κ²½μ°μλ Arrayλ₯Ό μ¬μ©νκ³ ,
μΈλ±μ€κ° μλλΌ μμκ° ν¬ν¨λμ΄μλμ§ νμΈν΄μΌ νλ κ²½μ°, μ λ°μ΄νΈλ μμ κ° λΉλ²ν κ²½μ°μλ List λ₯Ό μ¨μΌκ² λ€κ³ λλ¦μ κΈ°μ€μ μ 립νλ€.
π ν΄λ¦°μ½λ 체ν¬λ¦¬μ€νΈ
1. ν λ©μλμ μ€μ§ ν λ¨κ³μ λ€μ¬μ°κΈ°λ§ νμ©νλκ°?
2. else μμ½μ΄λ₯Ό μ°μ§ μμλκ°?
3. λͺ¨λ μμκ°κ³Ό λ¬Έμμ΄μ ν¬μ₯νλκ°?
4. μ½λ μ μ λν΄ μΌκΈ μ½λ μ μ μ μ©νλκ°?
5. 3κ° μ΄μμ μΈμ€ν΄μ€ λ³μλ₯Ό κ°μ§ ν΄λμ€λ₯Ό ꡬννμ§ μμλκ°?
6. getter / setter μμ΄ κ΅¬ννλκ°?
7. λ©μλμ μΈμ μλ₯Ό μ ννλκ°?
8. μ½λ ν μ€μ μ μ νλλ§ νμ©νλκ°?
9. λ©μλκ° ν κ°μ§ μΌλ§ λ΄λΉνλλ‘ κ΅¬ννλκ°?
10. ν΄λμ€λ₯Ό μκ² μ μ§νκΈ° μν΄ λ Έλ ₯νλκ°?
π Problem 1
π§π» μ½λλ₯Ό ꡬννλ©΄μ κ³ λ €νλ μ
1. μμΈμ¬νμ νλ¨νλ ν΄λμ€μ λ©μλλ€μ μ μ μΌλ‘ λ κ²μΈκ° μλκ° -> ν΄λΉ ν΄λμ€ μΆνμ μμ ν¨
μ΄λ€ κ²½μ°μ μ μ λ©μλλ₯Ό νμ©νλμ§ νμΈν΄λ³΄μλ€.
- μ νΈλ¦¬ν° ν΄λμ€λ‘ μμ±λκ³ λ³νλ₯Ό κ°μ νμ§ μμ
- μΈμ€ν΄μ€ λ³μλ₯Ό μ¬μ©νμ§ μμ
- μΈμ€ν΄μ€ μμ±μ μμ‘΄νμ§ μμ
- λ³νλμ§ μκ³ μ€λ²λΌμ΄λ© λμ§ μμ
μ ν¨μ± κ²μ¬ ν΄λμ€λ μΈμ€ν΄μ€λ‘ μμ±λ μ΄μ κ° μκ³ , λ³νλ μ΄μ λ μκ³ , μ€λ²λΌμ΄λ© ν μ§μ λ μκΈ° λλ¬Έμ μ μ λ©μλλ‘ μ μΈν΄μΌ νλ€λ νλ¨μ λ΄λ Έλ€. λ°λΌμ μ μ λ©μλλ‘ μ μΈν΄μ£Όμλ€.
2. μ μ κ³μ°μ μ΄λμ ν΄μΌ ν κΉ
problem λ΄λΆ? λ°λ‘ λΉΌμΌ ν κΉ?
μ΅λν Problem1 ν΄λμ€ μ체λ₯Ό κ°λ³κ² κ°μ Έκ°κ³ μΆμλ€. ν΄λΉ ν΄λμ€μμλ μ± μ νμ΄μ§λ₯Ό λ°κ³ , μΉμλ₯Ό νλ¨νλ κΈ°λ₯λ§ νμΌλ©΄ μ’κ² λ€κ³ μκ°νλ€. μλνλ©΄ μ μλ₯Ό κ³μ°νλ©΄μ λ°μ ΈμΌ ν λΆλΆλ€μ΄ μ‘΄μ¬ν΄ μ½λκ° κΈΈμ΄μ§κ³ μμκΈ° λλ¬Έμ΄λ€.
λ°λΌμ Calculator λΌλ ν΄λμ€λ₯Ό λκ³ , ν΄λΉ ν΄λμ€ λ΄μμ pobi μ crong μ μ μ κ³μ°μ κ°κ° ν μ μλλ‘ νλ€.
π§π» 리ν©ν λ§ κ³Όμ μμ κ³ λ €νλ μ
+ 리ν©ν λ§μ νλ κ³Όμ μμ, Calculator ν΄λμ€μ μ ν¨μ±μ κ²μ¬νλ InputException μ΄λΌλ ν΄λμ€λ₯Ό μμ νκ³ Score μ΄λΌλ ν΄λμ€λ₯Ό μμ±ν΄ μμ±μλ₯Ό ν΅ν΄ μ ν¨μ± κ²μ¬λ₯Ό ν μ μλλ‘ νλ€. μ΄λ κ² μ¬κ³ νκ² λ κ³Όμ μ λ€μ κΈμ μ°Έκ³ ν΄μμ΄λ€. λΉλ‘, ν΄λΉ κΈμ μΌκΈ 컬λ μ κ³Ό κ΄λ ¨λμ΄ μμ§λ§, λ€μκΈμ 보며 μμ±μλ₯Ό ν΅ν΄μ μ ν¨μ±μ κ²μ¬νλ κ²μ΄ λ ν¨μ¨μ μΌ κ²μ΄λΌλ μκ°μ΄ λ€μλ€.
https://velog.io/@bosl95/%E3%85%87%E3%84%B9%E3%84%B4%E3%85%87
μλ°μ μΌκΈ 컬λ μ
μλ°μ μΌκΈ 컬λ μ μ λν΄ μμ보μ
velog.io
μ΄λ κ² λ¦¬ν©ν λ§μ κ±°μΉκ² λ κ³κΈ°λ
1. ν΄λΌμ΄μΈνΈ μ½λκ° try-catch ννλ‘ κ°μ λ μ μλ€.
- μ΄μ μλ InputException ν΄λμ€μ static λ©μλλ₯Ό μΌμΌμ΄ λΆλ¬μ if λ¬Έμ μ¬μ©ν΄ μ ν¨μ± κ²μ¬λ₯Ό ν΄μΌ νλ€. κ·Έλ¬λ μ΄λ try-catch λ¬ΈμΌλ‘ κ°μ λ μ μμ κ²μ΄λΌκ³ μκ°νλ€.
2. Calculator μ ν΄λμ€λͺ
- Calculator κ° κ³μ°κΈ°λΌλ λ»μΌλ‘ μμ±ν κ²μ΄μλλ°, κ³μ°κΈ°μ κΈ°λ₯μ νλ €λ©΄ pobi μ crong μ κ°κ° κ³μ°κΈ°λ₯Ό λ§λ λ€λ μλ―Έκ° λ Όλ¦¬μ μΌλ‘ μ‘°κΈ μ΄μνκ² μκ°λλ€.
κ·Έλμ μ§κ΄μ μΌλ‘ Score λΌλ κ°μ²΄λ₯Ό μμ±νκ³ , μ΄κ° μ ν¨νμ§ μμ κ°μ΄λΌλ©΄ catch λ‘ λμ΄κ° λ°λ‘ μμΈ μν©μ ν΄λΉνλ κ°μ λ°ννλλ‘ νκ³ μ ν¨ν κ°μ΄λΌλ©΄ μ μμ μΌλ‘ Score κ°μ²΄κ° μμ±λ κ²μ΄κΈ°μ ν΄λμ€ λ΄λΆμ μ‘΄μ¬νλ getMaxScore λ©μλλ₯Ό ν΅ν΄ κ° μ°Έκ°μμ μ΅κ³ μ μλ₯Ό λΆλ¬μ λΉκ΅ν μ μλλ‘ νλ€.
π§π» 1λ²μ ν΄λ¦°μ½λ 체ν¬λ¦¬μ€νΈ
1. ν λ©μλμ μ€μ§ ν λ¨κ³μ λ€μ¬μ°κΈ°λ§ νμ©νλκ°?
2. else μμ½μ΄λ₯Ό μ°μ§ μμλκ°?
3. λͺ¨λ μμκ°κ³Ό λ¬Έμμ΄μ ν¬μ₯νλκ°?
4. μ½λ μ μ λν΄ μΌκΈ μ½λ μ μ μ μ©νλκ°?
5. 3κ° μ΄μμ μΈμ€ν΄μ€ λ³μλ₯Ό κ°μ§ ν΄λμ€λ₯Ό ꡬννμ§ μμλκ°?
6. getter / setter μμ΄ κ΅¬ννλκ°?
7. λ©μλμ μΈμ μλ₯Ό μ ννλκ°?
8. μ½λ ν μ€μ μ μ νλλ§ νμ©νλκ°?
9. λ©μλκ° ν κ°μ§ μΌλ§ λ΄λΉνλλ‘ κ΅¬ννλκ°?
10. ν΄λμ€λ₯Ό μκ² μ μ§νκΈ° μν΄ λ Έλ ₯νλκ°?
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
β | β | π§ β | π§ β | β | β | β | β | β | β |
- 3λ² μ‘°κ±΄
μ‘°κΈ μ λ§€νκ² λκ»΄μ§λ€.. λ§μΌ νλμ νμ΄μ§ μμ²΄λ‘ μ ν¨μ± κ²μ¬κ° κ°λ₯νκ±°λ κ·Έ μμ²΄λ‘ κ°μ κ°λ κ²μ΄ μλ―Έκ° μμλ€λ©΄ Page λΌλ ν΄λμ€λ₯Ό μμ±νμν λ° ν΄λΉ λ¬Έμ μν©μ κ³ λ €ν΄λ³΄λ©΄ μΌμͺ½ νμ΄μ§ μ€λ₯Έμͺ½ νμ΄μ§λ₯Ό κ°μ΄ 보면μ μ ν¨μ± κ²μ¬μ μ μ κ³μ°μ ν΄μΌ ν΄μ Page λΌλ κ°μ²΄λ₯Ό μμ±νλ κ²μ΄ μλ―Έκ° μκ² λκ»΄μ‘λ€. κ·Έλμ κ·Έλ₯ list νν κ·Έλλ‘ Score ν΄λμ€μ κ°μ Έμμ μ¬μ©νλλ° μ΄κ² μ΅μ μΌμ§λ νμ μ΄ μμ§ μλλ€.
- 4λ² μ‘°κ±΄
μμ μΈκΈν μ΄μ μ λΉμ·νκ² pages λΌλ List κ° λ©€λ²λ³μλ‘ μμ΄μ κ³ λ―Όμ νλ€. μκΎΈλ§ pages λΌλ λ©€λ²λ³μλͺ μ΄ page λΌλ κ°μ²΄μ μ½λ μ μΈ κ² κ°μ λλμ μ€μ μ½λκ° λͺ¨νΈν΄μ§λ κ² κ°λ€κ³ μκ°νλ€.
κ°μ
leftPage μ rightPage λΌλ λ©€λ²λ³μλ₯Ό λμ΄μ κ΄λ¦¬νλ κ²μΌλ‘ λ³κ²½νλ€.
κ°μ μ΄νμλ 3,4λ² μ‘°κ±΄λ λ§μ‘±νλ€κ³ μκ°λλ€.
π Problem 2
π§π» μ½λλ₯Ό ꡬννλ©΄μ κ³ λ €νλ μ
1. early continue μ¬μ©
private static String decrypt(String cryptogram) {
Stack<Character> stack = new Stack<>();
char[] chars = cryptogram.toCharArray();
char before = ' ';
for (char c : chars) {
if (!stack.isEmpty() && stack.peek() == c) {
stack.pop();
before = c;
continue;
}
if (c == before) {
continue;
}
stack.push(c);
}
return changeStackToString(stack);
}
μ΄λ»κ² else λ₯Ό μ°μ§ μκ³ ν΄λΉ λΆλΆμ ꡬννμ§ νλ κ³ λ―Όμ΄ λ€μλ€. μλνλ©΄ else λ₯Ό μ°μ§ μκ³ if λ¬Έμ λλ² μ°κ² λλ©΄ λ κ°μ§ 쑰건μ λ€ κ±Έλ¦΄ μλ μλ μν©μ΄ λ°κ²¬νκΈ° λλ¬Έμ΄μλ€. κ·Έλμ continue λ₯Ό μ¨λ λλ νλ μκ°μ΄ λ€μ΄ μ°Ύμ보λ early return / early continue λ₯Ό κΆμ₯νλ€κ³ νμ¬ ν΄λΉ λ°©λ²μ μ¬μ©νλ€.
π§π» 2λ²μ ν΄λ¦°μ½λ 체ν¬λ¦¬μ€νΈ
1. ν λ©μλμ μ€μ§ ν λ¨κ³μ λ€μ¬μ°κΈ°λ§ νμ©νλκ°?
2. else μμ½μ΄λ₯Ό μ°μ§ μμλκ°?
3. λͺ¨λ μμκ°κ³Ό λ¬Έμμ΄μ ν¬μ₯νλκ°?
4. μ½λ μ μ λν΄ μΌκΈ μ½λ μ μ μ μ©νλκ°?
5. 3κ° μ΄μμ μΈμ€ν΄μ€ λ³μλ₯Ό κ°μ§ ν΄λμ€λ₯Ό ꡬννμ§ μμλκ°?
6. getter / setter μμ΄ κ΅¬ννλκ°?
7. λ©μλμ μΈμ μλ₯Ό μ ννλκ°?
8. μ½λ ν μ€μ μ μ νλλ§ νμ©νλκ°?
9. λ©μλκ° ν κ°μ§ μΌλ§ λ΄λΉνλλ‘ κ΅¬ννλκ°?
10. ν΄λμ€λ₯Ό μκ² μ μ§νκΈ° μν΄ λ Έλ ₯νλκ°?
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
β | β | β | β | β | β | β | β | β | β |
- 8λ² μ‘°κ±΄
λλ―Έν°μ λ²μΉμ΄ streamκ³Ό κ°μ΄ . μ λ§μ΄ μ¨μΌ νλ κ²½μ°μλ κ°μ λλ κ²μΈμ§ κΆκΈν΄μ μ°Ύμλ΄€λλ μλλΌκ³ νλ€. λλ―Έν°μ λ²μΉμ μΊ‘μνμ κ°μ²΄μ λ΄λΆ κ΅¬μ‘°κ° μ μΆλμ§ μλ κ²μ΄ λͺ©μ μ΄κΈ°μ stream API λ μ΄λ₯Ό μλ°°νμ§ μλλ€λ κ²μ΄λ€.
π Problem 3
π§π» 3λ²μ ν΄λ¦°μ½λ 체ν¬λ¦¬μ€νΈ
1. ν λ©μλμ μ€μ§ ν λ¨κ³μ λ€μ¬μ°κΈ°λ§ νμ©νλκ°?
2. else μμ½μ΄λ₯Ό μ°μ§ μμλκ°?
3. λͺ¨λ μμκ°κ³Ό λ¬Έμμ΄μ ν¬μ₯νλκ°?
4. μ½λ μ μ λν΄ μΌκΈ μ½λ μ μ μ μ©νλκ°?
5. 3κ° μ΄μμ μΈμ€ν΄μ€ λ³μλ₯Ό κ°μ§ ν΄λμ€λ₯Ό ꡬννμ§ μμλκ°?
6. getter / setter μμ΄ κ΅¬ννλκ°?
7. λ©μλμ μΈμ μλ₯Ό μ ννλκ°?
8. μ½λ ν μ€μ μ μ νλλ§ νμ©νλκ°?
9. λ©μλκ° ν κ°μ§ μΌλ§ λ΄λΉνλλ‘ κ΅¬ννλκ°?
10. ν΄λμ€λ₯Ό μκ² μ μ§νκΈ° μν΄ λ Έλ ₯νλκ°?
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
β | β | β | β | β | β | β | β | β | β |
π Problem 4
π§π» μ½λλ₯Ό ꡬννλ©΄μ κ³ λ €νλ μ
1. string buffer μ¬μ©
μ²μμλ λ¨μν λ¬Έμμ΄μ λνκΈ° μ°μ°μΌλ‘ λΆμΌκΉ buffer λ₯Ό μ΄μ©ν κΉ κ³ λ―Όνλ€.
κ³μ λνκΈ° μ°μ°μ νλ κ², buffer λ₯Ό μμ±νλ κ² μ€ μ΄λ€ κ²μ΄ λ μλλ λ©λͺ¨λ¦¬ μΈ‘λ©΄μμ ν¨μ¨μ μΈμ§ κ³ λ―Όμ ν΄λ³΄μλ€.
concat νΉμ + λ₯Ό μ¬μ©νκ² λλ©΄ 1000λ² μ΄μ μ¬μ©ν κ²½μ° μλκ° λλ €μ§κΈ° λλ¬Έμ λΉν¨μ¨μ μΈ κ²°κ³Όλ₯Ό λ³μ μ μμΌλ―λ‘ String Builder λ₯Ό μ¬μ©ν΄μΌ νλ€κ³ νλ€. ν΄λΉ λ¬Έμ μ κ²½μ° ν΄μν΄μΌ νλ wordμ κΈΈμ΄κ° 1~1000μ΄λΌκ³ νμΌλ―λ‘ μμ¬μμ¬νλ€κ³ μκ°ν΄ buffer λ₯Ό μμ±ν΄ μ¬μ©ν΄μ£Όμλ€.
https://wakestand.tistory.com/245
μλ° StringBuffer, StringBuilder κ°λ λΆν° μ¬μ©λ²κΉμ§
μλ°μμ String μΈμλ StringBufferμ StringBuilderκ° μλλ° λ³΄λ©΄ λ μ©λλ‘ μ°λμ§ κ°μ΄ μμ¬ κ²μ΄λ€ appendλ₯Ό μ΄μ©ν΄μ κ°μ λΆμΌ μ μλ€κ³ λ νλλ° κ·Έκ±΄ Stringλ .concat(κ°) νΉμ + "κ°" μ μ¬μ©ν΄ λΆ..
wakestand.tistory.com
π§π» 리ν©ν λ§ κ³Όμ μμ κ³ λ €νλ μ
solution λ©μλλ λ΅μ λ°ννλ μ λμ κΈ°λ₯λ§ νλ κ²μ λͺ©νλ‘ μ‘μκΈ°μ solution λ©μλμμ λ°λ³΅νλ λ°λ³΅λ¬Έμ getDecryptedWord λΌλ λ©μλλ‘ λΉΌμ ꡬννλ€.
π§π» 4λ²μ ν΄λ¦°μ½λ 체ν¬λ¦¬μ€νΈ
1. ν λ©μλμ μ€μ§ ν λ¨κ³μ λ€μ¬μ°κΈ°λ§ νμ©νλκ°?
2. else μμ½μ΄λ₯Ό μ°μ§ μμλκ°?
3. λͺ¨λ μμκ°κ³Ό λ¬Έμμ΄μ ν¬μ₯νλκ°?
4. μ½λ μ μ λν΄ μΌκΈ μ½λ μ μ μ μ©νλκ°?
5. 3κ° μ΄μμ μΈμ€ν΄μ€ λ³μλ₯Ό κ°μ§ ν΄λμ€λ₯Ό ꡬννμ§ μμλκ°?
6. getter / setter μμ΄ κ΅¬ννλκ°?
7. λ©μλμ μΈμ μλ₯Ό μ ννλκ°?
8. μ½λ ν μ€μ μ μ νλλ§ νμ©νλκ°?
9. λ©μλκ° ν κ°μ§ μΌλ§ λ΄λΉνλλ‘ κ΅¬ννλκ°?
10. ν΄λμ€λ₯Ό μκ² μ μ§νκΈ° μν΄ λ Έλ ₯νλκ°?
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
β | β | β | β | β | β | β | β | β | β |
π Problem 5
π§π» μ½λλ₯Ό ꡬννλ©΄μ κ³ λ €νλ μ
1. λ°°μ΄μ λ°ννλ λ©μλμ κ²½μ° μ΄λ»κ² λ©μλλͺ μ μ§μ΄μΌ ν κΉ
λ€μ λ§ν¬λ₯Ό μ°Έκ³ νμ¬ getAllCntByUnit μ΄λΌκ³ μ§μλ€.
https://stackoverflow.com/questions/9340394/best-way-to-name-methods-that-returns-list-of-objects
Best way to name methods that returns list of objects
I have a class named ActivityLog. This class holds a list of ActivityRecords. I want to return a list of ActivityRecords by these criterias: Environment and Condition. Should the method name includ...
stackoverflow.com
π§π» 5λ²μ ν΄λ¦°μ½λ 체ν¬λ¦¬μ€νΈ
1. ν λ©μλμ μ€μ§ ν λ¨κ³μ λ€μ¬μ°κΈ°λ§ νμ©νλκ°?
2. else μμ½μ΄λ₯Ό μ°μ§ μμλκ°?
3. λͺ¨λ μμκ°κ³Ό λ¬Έμμ΄μ ν¬μ₯νλκ°?
4. μ½λ μ μ λν΄ μΌκΈ μ½λ μ μ μ μ©νλκ°?
5. 3κ° μ΄μμ μΈμ€ν΄μ€ λ³μλ₯Ό κ°μ§ ν΄λμ€λ₯Ό ꡬννμ§ μμλκ°?
6. getter / setter μμ΄ κ΅¬ννλκ°?
7. λ©μλμ μΈμ μλ₯Ό μ ννλκ°?
8. μ½λ ν μ€μ μ μ νλλ§ νμ©νλκ°?
9. λ©μλκ° ν κ°μ§ μΌλ§ λ΄λΉνλλ‘ κ΅¬ννλκ°?
10. ν΄λμ€λ₯Ό μκ² μ μ§νκΈ° μν΄ λ Έλ ₯νλκ°?
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
β | β | β | β | β | β | β | β | β | β |
π Problem 6
π§π» μ½λλ₯Ό ꡬννλ©΄μ κ³ λ €νλ μ
1. μμ 격μ λνλ΄μΌ νλ κ²½μ° μ΄λ»κ² λ©μλλͺ μ μ§μ΄μΌ ν κΉ
λ€μ λ§ν¬λ₯Ό μ°Έκ³ νμ¬ for λ₯Ό μ¬μ©νλ€. ex) saveInfoForStudent
How do you work around the need for apostrophes in certain function names?
When I'm programming, I often find myself writing functions that -should- (to be proper english) contain apostrophes (too bad C started everyone thinking that an apostrophe was an appropriate delim...
stackoverflow.com
π§π» 리ν©ν λ§ κ³Όμ μμ κ³ λ €νλ μ
1. λ³μλͺ
final μΈ λ³μλͺ μ κ·μΉμ λ§κ² studentsInfo -> STUDENTS_INFO -> INFO_FOR_STUDENTS λ‘ λ°κΏ¨λ€.
π§π» 6λ²μ ν΄λ¦°μ½λ 체ν¬λ¦¬μ€νΈ
1. ν λ©μλμ μ€μ§ ν λ¨κ³μ λ€μ¬μ°κΈ°λ§ νμ©νλκ°?
2. else μμ½μ΄λ₯Ό μ°μ§ μμλκ°?
3. λͺ¨λ μμκ°κ³Ό λ¬Έμμ΄μ ν¬μ₯νλκ°?
4. μ½λ μ μ λν΄ μΌκΈ μ½λ μ μ μ μ©νλκ°?
5. 3κ° μ΄μμ μΈμ€ν΄μ€ λ³μλ₯Ό κ°μ§ ν΄λμ€λ₯Ό ꡬννμ§ μμλκ°?
6. getter / setter μμ΄ κ΅¬ννλκ°?
7. λ©μλμ μΈμ μλ₯Ό μ ννλκ°?
8. μ½λ ν μ€μ μ μ νλλ§ νμ©νλκ°?
9. λ©μλκ° ν κ°μ§ μΌλ§ λ΄λΉνλλ‘ κ΅¬ννλκ°?
10. ν΄λμ€λ₯Ό μκ² μ μ§νκΈ° μν΄ λ Έλ ₯νλκ°?
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
β | β | β | β | β | β | β | β | π§β | β |
- 9λ² μ‘°κ±΄
saveInfoForStudent λ©μλμμ λ¬Έμμ΄μ μΌμΌμ΄ λλ©° (1) λ¬Έμμ΄μ μλ₯΄λ λμμ (2)ν΄λΉ λ¬Έμμ΄μ΄ μ΄λ―Έ μ‘΄μ¬νλμ§ νμΈνκ³ (3) 2μ κ²°κ³Όμ λ°λΌ μ μ₯μ νλ κΈ°λ₯κΉμ§ ꡬνν΄μ κ°μ ν΄μΌκ² λ€λ μκ°μ νκ² λμλ€.
κ°μ
Student ν΄λμ€λ₯Ό μλ‘ μμ±νμ¬ email κ³Ό name μ μ μ₯νκ³ ν΄λΉ ν΄λμ€ λ΄λΆμμ getSubNames λΌλ λ©μλλ₯Ό μμ±ν΄ νμμ λΆλΆ λ¬Έμμ΄λ€μ λ°ννλ κΈ°λ₯μ ꡬννλ€.
π Problem 7
π§π» μ½λλ₯Ό ꡬννλ©΄μ κ³ λ €νλ μ
1. μ΄λ»κ² μ λ ¬ κΈ°μ€μ μ νκ³ μ λ ¬νλ κ²μ΄ κ°μ₯ ν¨μ¨μ μΌμ§
λ€μ λ§ν¬λ₯Ό μ°Έκ³ νμ¬ comparator λ₯Ό μ¬μ©νλ€.
https://st-lab.tistory.com/243
μλ° [JAVA] - Comparable κ³Ό Comparatorμ μ΄ν΄
μλ§ μ΄ κΈμ μ°Ύμ μ€μ λΆλ€ λκ°λ Comparableκ³Ό Comparatorμ μ°¨μ΄κ° 무μμΈμ§ λͺ¨λ₯΄κ±°λ κΆκΈν΄μ μ°Ύμμ€μ ¨μ κ²μ΄λ€. μ¬μ€ μκ³ λ³΄λ©΄ λ κ°λ κ·Έλ κ² μ΄λ ΅μ§ μμΌλ μ무λλ μλ°λ₯Ό νμ΅νλ©΄μ κ°
st-lab.tistory.com
2. μ΄λ»κ² μ λ ¬ κΈ°μ€μ μ νκ³ μ λ ¬νλ κ²μ΄ κ°μ₯ ν¨μ¨μ μΌμ§
π§π» 리ν©ν λ§ κ³Όμ μμ κ³ λ €νλ μ
λ³μλͺ / λ©μλλͺ μ λ§μ΄ κ³ λ―Όνλ€. μμ 격μ λνλ΄λ by μ ~μ μν΄μλ₯Ό λνλ΄λ by κ° μΆ©λνκΈ° λλ¬Έμ΄λ€.
μλ₯Ό λ€μ΄μ getRelationshipByUser μ user μ κ΄κ³λ₯Ό κ°μ Έμ€λ λ©μλμ΄κ³ , getScoresByOverlappedUsers λ κ²ΉμΉλ μ¬μ©μμ μνμ¬ μ μλ₯Ό ꡬνλ λ©μλμ΄κΈ° λλ¬Έμ΄λ€. μ μλ ~μ μ¦ μμ 격μ΄κ³ νμλ ~μ μν΄μλ₯Ό λνλ΄μ λ©μλλͺ μ΄ μ€μ€λ‘ μ°λ©΄μλ ν·κ°λ Έλ€. κ·Έλμ μ μλ for / νμλ by λ‘ ν΅μΌνλ€.
λν, μ¬μ©μκ° μΈ κ°μ§ μ’ λ₯κ° μλ€κ³ μκ°νλ€.
1. μΉκ΅¬μΈ μ¬μ©μ
2. μΉκ΅¬κ° μλλ° μΆμ²μΉκ΅¬μΈ μ¬μ©μ
3. μΉκ΅¬λ μλκ³ μΆμ²μΉκ΅¬λ μλ μ¬μ©μ
κ·Έλμ User λ‘ μ¨μΌ ν μ§, Friend λ‘ μ¨μΌν μ§ ν·κ°λ Έλ€. λν μ΄λ―Έ μ£Όμ΄μ§ νλΌλ―Έν° μ€μ friends λΌλ μ΄λ¦λ μμ΄μ λ μ λ§€νλ€κ³ λκΌλ€.
1 λ²μ κ²½μ°μλ relationship μ΄λΌλ μ©μ΄λ₯Ό μ¬μ©νκ³ , μμ§ μΆμ²μΉκ΅¬μΌμ§ μλμ§ λͺ¨λ₯΄λ μ¬μ©μλ€μ λν΄μλ User, μΆμ²μΉκ΅¬λ₯Ό ꡬνλ κ²½μ°μλ RecommendedFriend λΌλ μ©μ΄λ₯Ό μ¬μ©ν΄μ μΌκ΄μ± μκ² κ°μ Έκ°κΈ° μν΄ λ Έλ ₯νλ€.
π§π» 7λ²μ ν΄λ¦°μ½λ 체ν¬λ¦¬μ€νΈ
1. ν λ©μλμ μ€μ§ ν λ¨κ³μ λ€μ¬μ°κΈ°λ§ νμ©νλκ°?
2. else μμ½μ΄λ₯Ό μ°μ§ μμλκ°?
3. λͺ¨λ μμκ°κ³Ό λ¬Έμμ΄μ ν¬μ₯νλκ°?
4. μ½λ μ μ λν΄ μΌκΈ μ½λ μ μ μ μ©νλκ°?
5. 3κ° μ΄μμ μΈμ€ν΄μ€ λ³μλ₯Ό κ°μ§ ν΄λμ€λ₯Ό ꡬννμ§ μμλκ°?
6. getter / setter μμ΄ κ΅¬ννλκ°?
7. λ©μλμ μΈμ μλ₯Ό μ ννλκ°?
8. μ½λ ν μ€μ μ μ νλλ§ νμ©νλκ°?
9. λ©μλκ° ν κ°μ§ μΌλ§ λ΄λΉνλλ‘ κ΅¬ννλκ°?
10. ν΄λμ€λ₯Ό μκ² μ μ§νκΈ° μν΄ λ Έλ ₯νλκ°?
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
β | β | β | β | π§ | β | β | β | β | β |
- 5λ² μ‘°κ±΄
νμ¬ User ν΄λμ€μ μΈμ€ν΄μ€ λ³μκ° 5κ°μ΄λ€ γ .γ μ΅λν μ€μ΄κ³ μ ν΄λ³΄μμΌλ μΈμ€ν΄μ€ λ³μλ₯Ό μΌλΆ κ±·μ΄λΌ κ²½μ° μ½λμ λ‘μ§μ΄ λ무 볡μ‘ν΄μ Έμ μ΄λ»κ² ꡬμν΄μΌ ν μ§ λ κ³ λ―Όν΄λ΄μΌκ² λ€..
π μκ°
1. μκ³ μμμ§λ§..
ν΄λ¦°μ½λλ₯Ό μ§ν₯ν΄μΌ νκ³ , λͺ νν λ³μλͺ κ³Ό λ©μλλͺ μ μ§μ΄μΌ νλ€λ κ²λ μμ§λ§ λ μ΄λ§νλ©΄ λκ² μ§ νλ μκ°μ μ§λμ³€λ μ§μ λ€κΉμ§λ κ³ λ―Όνκ³ νκ³ λ€λ €κ³ λ Έλ ₯νμ΅λλ€. μ΄λ μ λμ 컨벀μ μ μ§ν€λ©΄μ μ½λλ₯Ό μ§λ©΄μλ λλ§μ μ½λ μ€νμΌκ³Ό κΈ°μ€μ μ 립ν΄κ°λ μκ°μ΄ λ κ² κ°μ΅λλ€. λν μ κ·Ό μ μ΄μ, staticμΌλ‘ μ μΈν μ§ νμ§ μμμ§ λ±κ³Ό κ°μ λΆλΆλ€μ κΈ°κ³μ μΌλ‘ μ½λ©ν΄μ€λ λΆλΆμ΄μμ΅λλ€. λΆλλ½μ§λ§, μ΄ κ³Όμ μ ν΅ν΄μ κ°μ²΄ μ§ν₯μ μΈ μ½λλ μ΄λ€ μ¬κ³ μ κ³Όμ μ νλ¦μΌλ‘ μ§μΌ ν μ§ μ μ κ·Ό μ μ΄μλ₯Ό μ μ ν μ¬μ©ν΄μΌ νλμ§ μ΄μ μμΌ μ΄λ μ λ κΉ¨λ¬μ κ² κ°μ΅λλ€. μ λ λ€μ μ§μ λ€μ κ³ λ €νλ©° μ½λλ₯Ό μ§κ³ μ λ Έλ ₯νμ΅λλ€.
- μ΅λν ν΄λ¦°μ½λλ₯Ό μ§ν₯νλ©° μ§€ κ²
- ν¨λΆλ‘ 컀λ°νμ§ μμ κ²
- νλμ λ©μλλ λ°λμ ν κ°μ§μ μΌλ§ λ΄λΉνλλ‘ ν κ²
- λ©μλλͺ μ νν¬λ‘ μ§μ§ μμ κ²
2. κ³ λ―Όνλ νμ κΈ°λ₯΄κΈ°
κ³ λ―Όνλ νμ κΈ°λ₯΄λ κ²μ΄ μ½λ©μ μμ΄ μ€μν λλͺ©μ΄λΌλ μκ°μ΄ λ€μμ΅λλ€. μμ κ² νλ μ§λμΉμ§ μκ³ κΎΈμ€ν, λμμ 'μ¬λ°λ₯Έ' λ°©ν₯μΌλ‘ κ³ λ―Όν΄ λκ°λ κ²μ΄ νμνλ€κ³ μκ°νμ΅λλ€. μ½λ μμ λ‘μ§ λΏλ§ μλλΌ μΈμ΄λ‘μλ, λ Όλ¦¬μ μΌλ‘λ λ§μ΄ λλμ§λ₯Ό κ³μν΄μ λ°μ Έλ³΄κ³ μ νμ΅λλ€. μλ₯Ό λ€μ΄ λ©μλ λͺ μ μ§μ λλ ν΄λμ€ λͺ μ μ§μ λ μ 체μ μΈ λ¬Έμ μ μν©μ νμ νλ©° μ¬κΈ°μ κ³μ°κΈ°λ₯Ό μμ±νλκ² μν©μ μΌλ‘ λ§μμ§, νμ μ체μ ν΄λμ€λ₯Ό μμ±ν΄μ μ 보λ₯Ό μ μ₯νκ³ μ μλ₯Ό λκΈ°λκ² λ§μμ§μ κ°μ μν©μ μΈ κ³ λ €λ μ§μνκ³ μ λ Έλ ₯νμ΅λλ€.
3. ν΄λ¦°μ½λλ μ΄λ κ² ν΄μΌ νλꡬλ
ν΄λ¦°μ½λμ λν λ§μ°ν μκ°μ μμμ§λ§ μ΄λ μμ§ λμ μμμ΄ μλλΌκ³ μκ°ν΄ λ°©μΉν΄λκ³ μμλ λ¬Έμ μμ΅λλ€. κ·Έλ¬λ, ν΄λ¦°μ½λ μμΉμ μ§ν€λ©΄μ μ½λλ₯Ό μ§λ μ€μ€λ‘λ μ½λλ₯Ό μ§λ©΄μ λ‘μ§μ΄ ν·κ°λ¦¬μ§ μκ³ λͺ ννκ² λ³΄μ¬ λμμ΄ λμμ΅λλ€. ν΄λ¦°μ½λμ νμμ±μ μ¬μ€ν λλ μ μλ κΈ°νμμ΅λλ€.