μ°μν ν ν¬μ½μ€ 7κΈ° ν리μ½μ€μ 4μ£Όμ°¨ λ―Έμ , νΈμμ κ²°μ μμ€ν μ κ°λ°ν μ μ₯μμ λλ€.
μ΄ νλ‘μ νΈλ λ§€μ₯μ μνλ€ μ€ μ¬μ©μκ° μνλ μνμ μνλ κ°μλ§νΌ μ£Όλ¬Ένκ³ , νλ‘λͺ¨μ ννκ³Ό λ©€λ²μ ννμ μ μ©ν΄ μ΅μ’ μ£Όλ¬Έ κ²°κ³Όλ₯Ό μμμ¦μΌλ‘ μΆλ ₯νλ νλ‘κ·Έλ¨μ λλ€. μ£Όμ κΈ°λ₯μ λ€μκ³Ό κ°μ΅λλ€.
- μν μ£Όλ¬Έ: μν λͺ©λ‘μ λ³΄κ³ μ¬μ©μλ ꡬ맀νκ³ μΆμ μνμ μ΄λ¦κ³Ό μλμ μ λ ₯ν©λλ€.
- νλ‘λͺ¨μ ννκ³Ό λ©€λ²μ νν μ μ©: ꡬ맀 μν λ° κΈμ‘μ λ°λΌ μ μ© κ°λ₯ν νλ‘λͺ¨μ ννκ³Ό λ©€λ²μ ννμ΄ μ μ©λ©λλ€. νλ‘λͺ¨μ μ 1+1 λλ 2+1μ μ¦μ ν ν μΈ ννμ΄κ³ , λ©€λ²μ ννμ νλ‘λͺ¨μ μ΄ μ μ©λμ§ μμ κΈμ‘μ 30%κ° ν μΈλ©λλ€.
- μμμ¦ μΆλ ₯: μ£Όλ¬Έμ΄ μλ£λλ©΄, μ¬μ©μμ ꡬ맀 λ΄μκ³Ό ν μΈ λ΄μμ μμ½νμ¬ μΆλ ₯ν©λλ€. μμμ¦μ νλͺ©μλ ꡬ맀 μν, μ¦μ μν, μ΄κ΅¬λ§€μ‘, νμ¬ν μΈ, λ©€λ²μν μΈ, λ΄μ€λμ΄ ν¬ν¨λμ΄μμ΅λλ€.
- μ¬κ³ κ΄λ¦¬: μν μ£Όλ¬Έμ ꡬ맀 κ°λ₯ν μ¬κ³ μλμ νμ νκ³ , μ¬μ£Όλ¬Έμ μ΄μ μ ꡬ맀ν μλμ΄ μ°¨κ°λ μν λͺ©λ‘μ νμΈν μ μμ΅λλ€.
- μν λͺ©λ‘μ νμΌ μ
μΆλ ₯μ ν΅ν΄ λΆλ¬μ¨λ€.
src/main/resources/products.md
- νμ¬ λͺ©λ‘μ νμΌ μ
μΆλ ₯μ ν΅ν΄ λΆλ¬μ¨λ€.
src/main/resources/promotions.md
- νμ μΈμ¬μ ν¨κ» μνλͺ
, κ°κ²©, νλ‘λͺ¨μ
μ΄λ¦, μ¬κ³ λ₯Ό μλ΄νλ€.
μλ νμΈμ. WνΈμμ μ λλ€. νμ¬ λ³΄μ νκ³ μλ μνμ λλ€. - {μνλͺ } {κ°κ²©} {κ°μ}κ° {νλ‘λͺ¨μ μ΄λ¦} ...
- κ°κ²©κ³Ό κ°μμλ 1,000λ¨μ μΌν(
,
) ν¬λ§·μ μ μ©νλ€.
- κ°κ²©κ³Ό κ°μμλ 1,000λ¨μ μΌν(
- μ¬κ³ κ° 0κ°μΈ μνμ μ¬κ³ λ
μ¬κ³ μμ
μΌλ‘ μΆλ ₯νλ€.
- λͺ¨λ μνμ μ¬κ³ κ° 0κ°μ΄λ©΄
IllegalStateException
μ λ°μμν€κ³ νλ‘κ·Έλ¨μ μ’ λ£νλ€.
- ꡬ맀 μμ² λ©μμ§λ₯Ό μΆλ ₯νλ€.
ꡬ맀νμ€ μνλͺ κ³Ό μλμ μ λ ₯ν΄ μ£ΌμΈμ. (μ: [μ¬μ΄λ€-2],[κ°μμΉ©-1])
- ꡬ맀ν μνκ³Ό μλμ μ
λ ₯ λ°λλ€.
[μ½λΌ-10],[μ¬μ΄λ€-3]
- μ λ ₯κ°μ λν΄, μνλͺ κ³Ό μλ λ°μ΄ν°λ₯Ό μΆμΆνλ€.
- μ
λ ₯κ°μ κ²μ¦νλ€.
- λΉ κ°μΈμ§ νμΈνλ€.
- μνκ³Ό μλ νμμ΄ μ¬λ°λ₯Έμ§ νμΈνλ€.
- ꡬ맀 μλμ μ«μ μΈμ λ€λ₯Έ λ¬Έμκ° μλμ§ νμΈνλ€.
- ꡬ맀 μλμ΄ μμ μ μμΈμ§ νμΈνλ€.
- μνλͺ μ΄ μ‘΄μ¬νλ μνμΈμ§ νμΈνλ€.
- μνμ μ€λ³΅μΌλ‘ μ λ ₯νλμ§ νμΈνλ€.
- ꡬ맀 μλμ΄ μ¬κ³ μλμ μ΄κ³Όνλμ§ νμΈνλ€.
- μ λ ₯κ°μ΄ μ ν¨νμ§ μμΌλ©΄ μ¬μ λ ₯ λ°λλ€.
-
IllegalArgumentException
μ λ°μμν¨λ€. - "[ERROR]"λ‘ μμνλ μ€λ₯ λ©μμ§μ μλ΄λ₯Ό μΆλ ₯νλ€.
- κΈ°ν μλͺ»λ μ
λ ₯μ κ²½μ°
[ERROR] μλͺ»λ μ λ ₯μ λλ€. λ€μ μ λ ₯ν΄ μ£ΌμΈμ.
- ꡬ맀ν μνκ³Ό μλ νμμ΄ μ¬λ°λ₯΄μ§ μμ κ²½μ°
[ERROR] μ¬λ°λ₯΄μ§ μμ νμμΌλ‘ μ λ ₯νμ΅λλ€. λ€μ μ λ ₯ν΄ μ£ΌμΈμ.
- μ‘΄μ¬νμ§ μλ μνμ μ
λ ₯ν κ²½μ°
[ERROR] μ‘΄μ¬νμ§ μλ μνμ λλ€. λ€μ μ λ ₯ν΄ μ£ΌμΈμ.
- κΈ°ν μλͺ»λ μ
λ ₯μ κ²½μ°
- κ° μνλ³ νλ‘λͺ¨μ μ‘΄μ¬ μ¬λΆλ₯Ό νμΈνλ€.
- νλ‘λͺ¨μ μ΄ μ‘΄μ¬νλ μνμ κ²½μ°, μ€λ λ μ§(now)κ° νλ‘λͺ¨μ κΈ°κ° λ΄μ ν¬ν¨λλμ§ νμΈνλ€.
- κ° μνμ μ¬κ³ μλμ κ³ λ €νμ¬ κ²°μ κ°λ₯ μ¬λΆλ₯Ό νμΈνλ€.
- νλ‘λͺ¨μ μ§ν μ€μΈ μνμ κ²½μ°, (ꡬ맀 μλ) <= (νλ‘λͺ¨μ μ¬κ³ ) + (μΌλ° μ¬κ³ )
- μΌλ° μνμ κ²½μ°, (ꡬ맀 μλ) <= (μΌλ° μ¬κ³ )
- ꡬ맀 μλμ΄ μ¬κ³ μλμ μ΄κ³Όνλ©΄ ꡬ맀 μμ²μ λ€μ μ€ννλ€.
-
IllegalArgumentException
μ λ°μμν¨λ€. - "[ERROR]"λ‘ μμνλ μ€λ₯ λ©μμ§μ μλ΄λ₯Ό μΆλ ₯νλ€.
- ꡬ맀 μλμ΄ μ¬κ³ μλμ μ΄κ³Όν κ²½μ°
[ERROR] μ¬κ³ μλμ μ΄κ³Όνμ¬ κ΅¬λ§€ν μ μμ΅λλ€. λ€μ μ λ ₯ν΄ μ£ΌμΈμ.
- ꡬ맀 μλμ΄ μ¬κ³ μλμ μ΄κ³Όν κ²½μ°
- νλ‘λͺ¨μ
μ μ©μ΄ κ°λ₯ν μνμ λν΄, ν΄λΉ μλλ§νΌ κ°μ Έμλμ§ νμΈνλ€.
- 1+1 νλ‘λͺ¨μ μ κ²½μ°, ꡬ맀 μλ nμ λν΄, n%2 == 1 μΌλ
- 2+1 νλ‘λͺ¨μ μ κ²½μ°, ꡬ맀 μλ nμ λν΄, n%3 == 2 μΌλ
- ν΄λΉ μλλ§νΌ κ°μ Έμ€μ§ μμμ κ²½μ°, ννμ λν μλ΄ λ©μμ§λ₯Ό μΆλ ₯νλ€.
νμ¬ {μνλͺ }μ(λ) 1κ°λ₯Ό 무λ£λ‘ λ λ°μ μ μμ΅λλ€. μΆκ°νμκ² μ΅λκΉ? (Y/N)
- μ¦μ μν μΆκ° μ¬λΆλ₯Ό μ λ ₯λ°λλ€.
- μ
λ ₯κ°μ κ²μ¦νλ€.
- μ
λ ₯κ°μ΄
Y
λλN
μΈμ§ νμΈνλ€.
- μ
λ ₯κ°μ΄
- μ
λ ₯κ°μ΄
Y
μ΄λ©΄, μ¦μ λ°μ μ μλ μνμ μΆκ°νλ€. - μ
λ ₯κ°μ΄
N
μ΄λ©΄, μ¦μ λ°μ μ μλ μνμ μΆκ°νμ§ μλλ€.
- μ λ ₯κ°μ΄ μ ν¨νμ§ μμΌλ©΄ μ¬μ λ ₯ λ°λλ€.
-
IllegalArgumentException
μ λ°μμν¨λ€. - "[ERROR]"λ‘ μμνλ μ€λ₯ λ©μμ§μ μλ΄λ₯Ό μΆλ ₯νλ€.
- κΈ°ν μλͺ»λ μ
λ ₯μ κ²½μ°
[ERROR] μλͺ»λ μ λ ₯μ λλ€. λ€μ μ λ ₯ν΄ μ£ΌμΈμ.
- κΈ°ν μλͺ»λ μ
λ ₯μ κ²½μ°
- νλ‘λͺ¨μ
μ μ©μ΄ κ°λ₯ν μνμ λν΄, νλ‘λͺ¨μ
μ¬κ³ κ° μΆ©λΆνμ§ νμΈνλ€.
- νλ‘λͺ¨μ ννμ νλ‘λͺ¨μ μ¬κ³ λ΄μμλ§ μ μ©ν μ μλ€.
- νλ‘λͺ¨μ
μ¬κ³ κ° λΆμ‘±ν΄ μΌλΆ μλμ μ κ°λ‘ κ²°μ ν΄μΌ νλ κ²½μ°, μλ΄ λ©μμ§λ₯Ό μΆλ ₯νλ€.
νμ¬ {μνλͺ } {μλ}κ°λ νλ‘λͺ¨μ ν μΈμ΄ μ μ©λμ§ μμ΅λλ€. κ·Έλλ ꡬ맀νμκ² μ΅λκΉ? (Y/N)
- μΌλΆ μλμ λν΄ μ κ°λ‘ κ²°μ ν μ§ μ¬λΆλ₯Ό μ λ ₯λ°λλ€
- μ
λ ₯κ°μ κ²μ¦νλ€.
- μ
λ ₯κ°μ΄
Y
λλN
μΈμ§ νμΈνλ€.
- μ
λ ₯κ°μ΄
- μ
λ ₯κ°μ΄
Y
μ΄λ©΄, μΌλΆ μλμ λν΄ μ κ°λ‘ κ²°μ νλ€. - μ
λ ₯κ°μ΄
N
μ΄λ©΄, μ κ°λ‘ κ²°μ ν΄μΌνλ μλλ§νΌ μ μΈν ν κ²°μ λ₯Ό μ§ννλ€.
- μ λ ₯κ°μ΄ μ ν¨νμ§ μμΌλ©΄ μ¬μ λ ₯ λ°λλ€.
-
IllegalArgumentException
μ λ°μμν¨λ€. - "[ERROR]"λ‘ μμνλ μ€λ₯ λ©μμ§μ μλ΄λ₯Ό μΆλ ₯νλ€.
- κΈ°ν μλͺ»λ μ
λ ₯μ κ²½μ°
[ERROR] μλͺ»λ μ λ ₯μ λλ€. λ€μ μ λ ₯ν΄ μ£ΌμΈμ.
- κΈ°ν μλͺ»λ μ
λ ₯μ κ²½μ°
- νλ‘λͺ¨μ μ μ©μ΄ κ°λ₯ν μνμ λν΄, μ¦μ μλμ κ³μ°νλ€.
- λ©€λ²μ ν μΈ μ μ© μ¬λΆλ₯Ό νμΈνκΈ° μν΄ μλ΄ λ©μμ§λ₯Ό μΆλ ₯νλ€.
λ©€λ²μ ν μΈμ λ°μΌμκ² μ΅λκΉ? (Y/N)
- λ©€λ²μ ν μΈ μ μ© μ¬λΆλ₯Ό μ λ ₯λ°λλ€.
- μ
λ ₯κ°μ κ²μ¦νλ€.
- μ
λ ₯κ°μ΄
Y
λλN
μΈμ§ νμΈνλ€.
- μ
λ ₯κ°μ΄
- μ
λ ₯κ°μ΄
Y
μ΄λ©΄, λ©€λ²μ ν μΈμ μ μ©νλ€.- νλ‘λͺ¨μ λ―Έμ μ© μνλ€μ κΈμ‘μ 30%λ₯Ό ν μΈλ°λλ€.
- λ©€λ²μ ν μΈμ μ΅λ νλλ 8,000μμ΄λ€.
- μ
λ ₯κ°μ΄
N
μ΄λ©΄, λ©€λ²μ ν μΈμ μ μ©νμ§ μλλ€.
- μ λ ₯κ°μ΄ μ ν¨νμ§ μμΌλ©΄ μ¬μ λ ₯ λ°λλ€.
-
IllegalArgumentException
μ λ°μμν¨λ€. - "[ERROR]"λ‘ μμνλ μ€λ₯ λ©μμ§μ μλ΄λ₯Ό μΆλ ₯νλ€.
- κΈ°ν μλͺ»λ μ
λ ₯μ κ²½μ°
[ERROR] μλͺ»λ μ λ ₯μ λλ€. λ€μ μ λ ₯ν΄ μ£ΌμΈμ.
- κΈ°ν μλͺ»λ μ
λ ₯μ κ²½μ°
- νλ‘λͺ¨μ
μ μ©μ΄ κ°λ₯ν μνμ νλ‘λͺ¨μ
μ¬κ³ λ₯Ό μ°μ μ μΌλ‘ μ°¨κ°νλ€.
- νλ‘λͺ¨μ μ¬κ³ κ° λΆμ‘±ν κ²½μ°μλ μΌλ° μ¬κ³ λ₯Ό μ¬μ©νλ€.
- μΌλ° μνμ μΌλ° μ¬κ³ λ₯Ό μ°¨κ°νλ€.
- μ΄κ΅¬λ§€μ‘: ꡬ맀νμ‘μνμ μ΄ μλκ³Ό μ΄ κΈμ‘
- νμ¬ν μΈ: ν¬λ‘λͺ¨μ μ μν΄ ν μΈλ κΈμ‘
- λ©€λ²μν μΈ: λ©€λ²μμ μν΄ μΆκ°λ‘ ν μΈλ κΈμ‘
- λ΄μ€λ: μ΅μ’ κ²°μ κΈμ‘
- μμμ¦ νλͺ©
- ꡬ맀 μν λ΄μ: ꡬ맀ν μνλͺ , μλ, κ°κ²©
- μ¦μ μν λ΄μ: νλ‘λͺ¨μ μ λ°λΌ 무λ£λ‘ μ 곡λ μ¦μ μνμ λͺ©λ‘
- κΈμ‘ μ 보: μ΄κ΅¬λ§€μ‘, νμ¬ν μΈ, λ©€λ²μν μΈ, λ΄μ€λ
- μμμ¦μ κ΅¬μ± μμλ₯Ό 보기 μ’κ² μ λ ¬νμ¬ κ³ κ°μ΄ μ½κ² κΈμ‘κ³Ό μλμ νμΈν μ μκ² νλ€.
==============W νΈμμ ================ μνλͺ μλ κΈμ‘ μ½λΌ 3 3,000 μλμ§λ° 5 10,000 =============μ¦ μ =============== μ½λΌ 1 ==================================== μ΄κ΅¬λ§€μ‘ 8 13,000 νμ¬ν μΈ -1,000 λ©€λ²μν μΈ -3,000 λ΄μ€λ 9,000
- μλκ³Ό κΈμ‘μλ 1,000 λ¨μ μΌν(
,
) ν¬λ§·μ μ μ©νλ€.
- μλκ³Ό κΈμ‘μλ 1,000 λ¨μ μΌν(
- μΆκ° ꡬ맀 μ¬λΆλ₯Ό νμΈνλ μλ΄ λ©μμ§λ₯Ό μΆλ ₯νλ€.
κ°μ¬ν©λλ€. ꡬ맀νκ³ μΆμ λ€λ₯Έ μνμ΄ μλμ? (Y/N)
- μΆκ° ꡬ맀 μ¬λΆλ₯Ό μ λ ₯λ°λλ€.
- μ
λ ₯κ°μ κ²μ¦νλ€.
- μ
λ ₯κ°μ΄
Y
λλN
μΈμ§ νμΈνλ€.
- μ
λ ₯κ°μ΄
- μ
λ ₯κ°μ΄
Y
μ΄λ©΄, μ¬κ³ κ° μ λ°μ΄νΈλ μν λͺ©λ‘μ νμΈ ν μΆκ°λ‘ ꡬ맀λ₯Ό μ§ννλ€. - μ
λ ₯κ°μ΄
N
μ΄λ©΄, ꡬ맀λ₯Ό μ’ λ£νλ€.
- μ λ ₯κ°μ΄ μ ν¨νμ§ μμΌλ©΄ μ¬μ λ ₯ λ°λλ€.
-
IllegalArgumentException
μ λ°μμν¨λ€. - "[ERROR]"λ‘ μμνλ μ€λ₯ λ©μμ§μ μλ΄λ₯Ό μΆλ ₯νλ€.
- κΈ°ν μλͺ»λ μ
λ ₯μ κ²½μ°
[ERROR] μλͺ»λ μ λ ₯μ λλ€. λ€μ μ λ ₯ν΄ μ£ΌμΈμ.
- κΈ°ν μλͺ»λ μ
λ ₯μ κ²½μ°