TIL_20180129 ~ 20180205
29 Jan 2018 | TIL2018.01.29
- ์ํ๊ธฐ step2 PR๋ณด๋ด๊ธฐ
- step1์ฒ๋ฆฌ์ค์ผ๋ก, ๋จธ์ง๋๋ฉด ์ฃผ๋ง์ ์ค๊ณํด๋จ๋ ๊ฒ step2 PR ๋ณด๋ผ ์์
- step2 PR :
- MyDate๊ฐ์ฒด๋ฅผ ์๋ก ๋ง๋๋ ๊ฒ ๋์ , Date๋ฅผ extensionํ๋ ๊ฒ์ผ๋ก ์์ ํจ
- ํ๋์ ํ์ ์ ๋ด๊ฐ ํ์๋ก ํ๋ ํน์ ๋์์ ๋ง๋ค๋, ๊ตฌํํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์ฌ๋ฌ ๊ฐ์ง ์๋ค. (์์, extension, ๊ฐ์ฒด ์๋ก ๋ง๋ค๊ธฐ) ์ด ์ธ๊ฐ์ง ์ค์ ์ด๋ค ๋ฐฉ๋ฒ์ด ์ ์ผ ์ ์ ํ์ง์๋ํ ๋๋ง์ ๊ธฐ์ค์ด ์์ด์ผ ํจ!(ํ๋จ ๊ธฐ์ค์ ์ฝ๋๊ฐ ๋ ๊ธธ์ด์ง๋๋ ์งง์์ง๋๋๋ ์ค์ํ ๊ธฐ์ค์ด ์๋๊ณ , ๋ง๋ ์์ฑ์ด๋ ๊ฐ์ฒด๊ฐ ๋ ํจ์จ์ ์ผ๋ก ์ฐ์ด๊ณ ์๋์ง ์๋์ง๋ฅผ ์์ฃผ๋ก ํ๋จํด์ผํ๋ค.) ์ง๊ธ์ ๊ฒฝ์ฐ์๋ MyDate์์ ํฌ๊ฒ ์ฌ์ฉ๋์ง ์๋ ์์ฑ๋ค์ ๊ฐ๊ณ ์๋ค. ์ด๋ฐ ํ๋จ๊ธฐ์ค์๋ฐ๋ผ์ extension์ ์ฌ์ฉํ๊ณ , ํ์ํ ๊ธฐ๋ฅ๋ง ๋ ์ถ๊ฐํ๋ ๋ฐฉ์์ด ๊ฐ์ฅ ํจ์จ์ ์ด์๋ค.
2018.01.30
- ์ํ๊ธฐ step3
- ์ํ๊ธฐ ์ค๊ณ & ๊ธฐ๋ฅ๊ตฌํ
- product enum
- ์ํ๊ธฐ์ stock ์ค๊ณ
- balance ์ค๊ณ
์ํ๊ธฐ ์ปจํธ๋กค๋ฌ
์ํ๊ธฐ์ ์๋ฃ ๋์ ๋๋ฆฌ ๊ฐ์ผ๋ก ๋ฃ์๋ reduce์ฌ์ฉํ๊ธฐ
- userInput ๋ฐ์ - ๊ธ์กํฌ์
- input๊ฐ์ด ์ ํจํ ๊ฐ์ธ์ง ์ฒดํฌํ๊ณ ํ๋ฆ์ ์ด
- ๊ธ์ก ํฌ์ ์ MoneyUnit์ ํด๋นํ๋๊ฐ๋ง ๊ฐ๋ฅํจ
- ์ปจํธ๋กค๋ฌ๋ MoneyUnit์ int๊ฐ ๋ฆฌํด
- MoneyUnit์ Int๊ฐ์ ์ํ๊ธฐ์ ๋ฐธ๋ฐ์ค์ ์ถ๊ฐ
- ์ํ๊ธฐ ๋ฐธ๋ฐ์ค์ ์ ์ฅ๋๋ฉด ์ฌ์ฉ ๊ฐ๋ฅํ ๊ธ์ก๋ง filteringํด์ ์ฌ๋ฆฌ๊ธฐ
- ๋ฐํ์ ํ์ ์ธํฌ๋ฉ์ด์ - meta type์ด ์ด ํ์ข ๋ฅ
- object identifier ์ฌ์ฉ์ผ๋ก ์๋ฃ์ ์ฌ๊ณ ๋์ ๋๋ฆฌ ๊ตฌํ
2018.02.01
- ์ํ๊ธฐ step3 ์งํ (์ํ๊ธฐ๋ 2/5๊น์ง ์ผ๋จ ์์ฑํ๊ธฐ)
- ํด์ปค๋ญํฌ ์๊ณ ๋ฆฌ์ฆ ํ์ด๋ณด๊ธฐ(๊ฐ์ฅ์ฌ์ด๋จ๊ณ)
- ๋ธ๋ก๊ทธ ๊ธ ๊นจ์ง ๊ฒ ์ ๋ฆฌ
2018.02.02
- ์ํ๊ธฐ step3 ๊ตฌํ stockController
- stock๊ฐ์ฒด์ ์ญํ : ๊ตณ์ดํ์ํ๊ฐ? ๊ทธ๋ ๋ค๋ฉด vendingMachine๊ณผ์ ๊ด๊ณ๋?
- vendingMachine์ showCase๊ฐ์ ์์ฑ์ด ํ์ํ์ง ์์๊น?
- ๋จ๊ฑฐ์ด ์๋ฃ๋ฅผ ๊ณจ๋์๋ / ์ง๊ธ ๋์ผ๋ก ์ด ์ ์๋ ์๋ฃ๋ง ํํฐ๋งํ์๋ showCase์ ์ํ๊ฐ ๊ณ์ ๋ฐ๊ปด์ผํ๋ ๊ฒ ์๋๊น
- ๊ทธ๋ ๋ค๋ฉด ๊ทธ showCase์ ํํ๋?
์ง๋ฌธ๊ฑฐ๋ฆฌ Beverage์ validate() (Attributes ํ๋กํ ์ฝ์ ๋ฉ์๋)
// ์ํผํด๋์ค
func validate() -> Bool {
print("์ ํจ๊ธฐ๊ฐ: \(self.validDuration)")
return self.manufactured.isOutOfDate(validDuration: self.validDuration)
}
์๋ธํด๋์ค์ isValid()
func isValid() -> Bool {
return super.validate()
}
์๋ธํด๋์ค์ super.validate()
๋๋ฌธ์ ์ํผํด๋์ค์ validate()
๋ด๋ถ์ self.validDuration
๋ง ์๊พธ ํธ์ถ๋จใ
ใ
ํด๊ฒฐ ํ ์๋ก์ด ์๊ฐ๊ฑฐ๋ฆฌโฆ
- JKโs Comment: Beverage.validate()์์ ํ ์ผ๊ณผ SoftDrink.validate()์์ (๊ฐ์ ์์ ์ ์์ฑ์ ์ ๊ทผํ ์ ์์ผ๋) ํ ์ผ์ ๊ตฌ๋ถํด์ ๊ตฌํํด๋ณด์ธ์
- ์์์ ๋์ฒด ์์ฐ๋๊ฑธ๊น? ์ํผํด๋์ค๋ ํ ์ผ์ด ์๋คใ ใ .. ์ด๋ฌ๋ฉด ๊ทธ๋ฅ ํ๋กํ ์ฝ์ ์ฐ๋๊ฒ ๋ซ์ง ์์์ ์ธ ํ์๊ฐ ์์๋๊ฑธ๊น? ์ง๊ธ ๋์ ์ค๊ณ๋ก๋ ์ด ์ฌ์ฉ๋ฒ์ ํ๋กํ ์ฝ์ ๊ฐ๊น์ง ์์์ด ๋ฌธ์ ๊ฐ ์๋โฆ
- ์ํผํด๋์ค์ ์ญํ - ์ง๊ธ ๊ฑฐ์ Beverage๋ ์ญํ ์ด ์์!
2018.02.04
TIL
- ์ ๋ํ
์คํธ ์ฝ๋ ์์ฑํ๋ค๋ณด๋๊น ํ
์คํธ๊ฐ ์ด์ํด์ ๋ฒค๋ฉ๋จธ์ ๊ณผ stockController์ ๊ด๊ณ๋ฅผ ์กฐ๊ธ ๋ฐ๊ฟ์ผ ํ ๊ฒ ๊ฐ๋ค.
- stockController์ ๋ฒค๋ฉ๋จธ์ ์ด ๋ชจ๋ [Beverage]๋ฅผ ๋ฐ์์ initํ๊ณ , stockController๊ฐ ๋ฐ๋ก ๋์ ๋๋ฆฌ๋ก ๋ฐ๊พธ๋ ๋์์ ํ๋ ๋ฉ์๋๊ฐ ์๋๋ฐ ๋์ ๋๋ฆฌ๋ก ๋ฐ๊พธ๋ ๊ฒ์ ํ๋ฉด์ ํ์ํ๊ณ ๋ด๋ถ์ ์ ์ฅํ๊ธฐ ์ํ ์ฉ๋์ด๋ฏ๋ก, vendingMachine์ด ๊ฐ์ง๊ณ ์๋๊ฒ ๋ง๋ ๊ฒ ๊ฐ์ > [Beverage]๋ก ์ํ๊ธฐ๋ฅผ initํ๊ณ ๋์ ๋๋ฆฌ๋ก ๋ฐ๊ฟ์ stockController๋ฅผ ์ด๊ธฐํ
- vendingMachine์์, ๊ฒฐ๊ณผ์ ์ผ๋ก stock์ ๋ฆฌํดํด์ผํ๋๋ฉ์๋ (์ ํต๊ธฐํ ์ง๋ ์ ํ ์ฒดํฌ, ํ์ฌ๊ธ์ก์ผ๋ก ๊ตฌ๋งค ๊ฐ๋ฅํ ์๋ฃ์ ์ฒดํฌ ๋ฑ๋ฑ..) ์ด๋ฐ๊ฒ stockController๊ฐ stock์ ๊ฐ์ง๊ณ ์๊ณ stock์ ๋์ ๋๋ฆฌ ํํ๋ก ๋ง๋ค์ด์ฃผ๋ ๋์์ ๊ฐ์ง๊ณ ์๋ค๋ณด๋ ์ด์ํ๊ฒ ์ ๋ฐ ๋ฉ์๋์์ ์ปจํธ๋กค๋ฌ๋ฅผ ๋ฆฌํดํ๊ฒ๋ง๋ค์ด์ก๋คโฆ ์ด๋ฅผ stock์ ๋ฆฌํดํ๋๋ก ๋ง๋ค๊ฒ.
Comments