TIL_20180305 ~ 20180311
05 Mar 2018 | TIL2018.03.05
- ์ํ๊ธฐ ๋ฏธ์
๋ง๋ฌด๋ฆฌ
- enum์ผ๋ก ์๋ฃ์ ์ํ ๋ฒํธ ์ฐ๊ฒฐํ๋ ๊ฒ ์ง๋ฌธ
- ์๋ฃ ์์ฑ(์นผ๋ก๋ฆฌ,์ฉ๊ธฐ ๋ฑ) : Attribute ํ๋กํ ์ฝ๋ก ์์ฑ์ ๋ฌถ์ด์ ํํํ๋๋ฐ Beverage๊ฐ ์์ฑ์ ๊ฐ์ง๊ณ ์๊ณ ์์๋ฐ๋ ๊ตฌ์กฐ๊ฐ ์ข์์ง
- ์์์ด ๋ ์๋ฏธ์ ๋ง๋๊ฑฐ๊ฐ์! (init์์ ๋ฃ์ง ์์)
- ๊ทธ๋ฅ ์์์ผ๋กํ๋ฉด ์๋ธํด๋์ค๊ฐ ๊ทธ ์์ฑ์ ๊ตฌํํด์ผํ๋๊ฑธ ๊ฐ์ ํ ์ ์์ผ๋๊น Attributeํ๋กํ ์ฝ์ getํ๋กํผํฐ๋ก ๋ฃ๋ ๊ฒ ํด๋ด
- ๊ทผ๋ฐ ์ด๋ ๊ฒ ํ๋ฉด ์นผ๋ก๋ฆฌ ํ๋กํผํฐ ์ ๊ทผ์๊ฐ ๋ค ์ด๋ ค์๋ ๋ฌธ์ ใ ใ
- ๊ฒฐ๋ก : init์ ๋ฃ์
- init / super.init()์ผ๋ก ํ๋๊ฒ ์ข์ ๋ฏ > private์ผ๋ก ๊ฐ์ ์ ์์
- ๊ทธ๋ฆฌ๊ณ ์ด์ฐจํผ ํ๋กํ ์ฝ ์์ฑ์ผ๋ก ๋ฃ์ด๋, ๊ฐ์ ๋์ง๋ ์์ (Beverage๊ฐ ๊ตฌํํ๊ณ ์์ผ๋๊น ์๋ธํด๋์ค๊ฐ ๊ตฌํ ์ํด๋ ์๋ฌ ์๋จ)
- ์ง์ ํ ์์ฑ๋๋ก ๋ง๋ ์๋ฃ๋ฅผ ๋ฆฌํดํ๋ ๋ฉ์๋๊ฐ ๊ฐ๊ฐ์ ์๋ฃ์ ์๋๋ฐ, ์ด๊ฑธ Beverage๋ง ๊ฐ์ง๊ณ ์์ ์ ์๋๋ก ๋ง๋ค๋ฉด ์๋ธํด๋์ค๋ ์์ฑ๋ง ๊ฐ์ง๊ณ ์์ผ๋ฉด ๋จ
- ๋์ ๋๋ฆฌ๋ฅผ ๊ฐ์ง๊ณ ๊ณ์ ๋ค์ ธ์ ์ฐพ๋ ๊ฒ ๊ณผ์ฐ ์ข์ ๋ฐฉ๋ฒ์ธ์งโฆ
- ํด์ปค๋ญํฌ ์๊ณ ๋ฆฌ์ฆ ํ์๋๋ฐ (Migratory-Birds) ์ค์ํํธ ์ง์ ์ํ๋ ๋ฌธ์ ์ธ์ง ์ค์ํํธ์ฝ๋์ ๋ ฅ๋์ด ์์ด์ ์ ์ถ๋ชปํจใ ใ github
2018.03.06
์ํ๊ธฐ ์ฝ๋๋ฆฌ๋ทฐ์ค ์์ ํด์ผํ๋ ๋ถ๋ถ ์ง๋ฌธ ํ ์์ . ์๋ ๋ด์ฉ ๋ง๊ณ ๋ค๋ฅธ๊ฑด ๋ค ๊ณ ์นจ
- ์ด๋ ๊ฒ switch-case ๊ตฌ๋ฌธ์ด ์๋๋ผ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ๋ญ๊ฐ ์ข์๊น์? 6๊ฐ์์ 3๊ฐ๋ก ์ค์ด๋ค๊ฑฐ๋, 10๊ฐ๋ก ๋์ด๋๊ฑฐ๋ ๋ณํ๋ฅผ ์ต์ํํ ์ ์๋ ๋ฐฉ์์ธ์ง ์๋์ง ํ๋จํด๋ณด์ธ์.
- Dictionary๋ Array ๊ฐ์ ์ฝ๋์ ์ mutating ์ผ๋ก ํ์ฅํ๊ธฐ ๋ณด๋ค๋ ์๋ก์ด ๋ฐฐ์ด์ด๋ ์ฌ์ ์ ๋ฆฌํดํ๋๋ก ์์ํ๊ฒ ์์ฑํ์ธ์. ๊ทธ๋์ผ ๋์ค์ ํด๋ก์ , ๋ณ๋ ฌ์ฒ๋ฆฌ ๋ฑ ์ฌ๋ฌ ์ํฉ์์ ์ ๋ฆฌํฉ๋๋ค. (์..์ด๊ฑด ์ด๋ป๊ฒ ์์ ํ ์ ์์์ง ์ ๋ชจ๋ฅด๊ฒ ์ ใ )
- ๋์ ๋๋ฆฌ๋ ์์๊ฐ ์์. ์ํ๊ธฐ ์๋ฃ(objectidentifier) ์๋งํผ ๋ฒํธ๋ฅผ ์์๋๋ก ์ฐ๊ฒฐ, ๊ทธ ์์๋ฒํธ๋ฅผ ์ฝ์์ ํ์, ์ ๋ ฅ๋ฐ์ ์๋ฃ ์ซ์์ ์ฝ์์ ํ์๋ ๋ฒํธ์ ๋น๊ตํ์ฌ ์ฐ๊ฒฐ, ๋ฒํธ์ ํด๋น๋๋ ์๋ฃ๋ฅผ ์ ํ
2018.03.07
admin๋ชจ๋ ๋์ ์์ : ์๋ฃ ์ถ๊ฐ์ ์ญ์ ๋ ์ฌ์ฉ๋๋ index๊ฐ ๋ค๋ฅด๊ธฐ๋๋ฌธ์ ๋ถ๋ฆฌ ํ์ํจ
2018.03.08
์ํ๊ธฐ step4 ์ฝ๋๋ฆฌ๋ทฐ ๋ฐ์๋ด์ฉ ์์
- Money/History/Inventory๊ฐ์ฒด ๋ฆฌํฉํ ๋ง
Shelf์ฒ๋ผ History ๋ Inventory๋ ์ฌ์ ์ด๋ ๋ฐฐ์ด์ด ์๋๋ผ ๊ฐ์ฒด๋ก ๋ง๋ค๋ฉด ์ฌ๊ธฐ ์ฝ๋๋ค์ด ํจ์ฌ ๊ฐ๊ฒฐํด ์ง ๊ฒ๋๋ค. ์์ผ๋ก๋ ๋ฐฐ์ด์ด๋ ์ฌ์ ์ผ๋ก ์ ์ธํ๋ ๋ณ์์ ์ ๊ทผํ๋ ์ฝ๋๊ฐ ๋ง์ผ๋ฉด ํ์ ๋ชจ๋๋ก ๋ง๋ค์ด์ ์์ ๋ชจ๋์ ์ฝ๋๋ฅผ ์ค์ฌ๋ณด์ธ์. ์ต์ ๋ ์์ธ์ฒ๋ฆฌ๋ ํจ์ฌ ์์ํด์ง ๊ฒ๋๋ค
- ์ง๋ฌธ: ์ด๋ฏธ VendingMachine์ด Stock์ ๊ฐ๊ณ ์์ผ๋ฉด Stock์ ์กฐ์ํ๋ ์ฝ๋๊ฐ ๋๋ฌด ๊ธธ์ด์ ธ์ Stock์ผ๋ก ๋ถ๋ฆฌํ๋ค. ๊ทธ๋ฐ๋ฐ JK๊ฐ ๋งํ ๋งฅ๋ฝ์์ ๋ณด๋ฉด ์ด๋ค ์ ๋๊น์ง ์.ํ์ ๋ชจ๋์ ๋ถ๋ฆฌ ํ๋๊ฒ์ด ์ข์๊ฑด์ง ๊ธฐ์ค์ ๋ชจ๋ฅด๊ฒ ๋ค!
- ์๋ฏธ๊ฐ ์์ผ๋ฉด ์ต๋ํ ๊ฐ์ฒด๋ก ๋ถ๋ฆฌํ๋ ๊ตฌ์กฐ๋ก ์ง์ผํจ. ์๋ฅผ๋ค์ด balance๋ ๋จ์ํ Intํ์ ์ ์์ฑ์ด์ง๋ง balance์์ฒด๋ฅผ ์กฐ์ํ๋ ๋์์ VendingMachine์ด ํ๊ณ ์์์ ๋๋ก ์๋ฏธ์๋์ฝ๋๋๊น, Int๊ฐ์ VendingMachine์ด ์ง์ +-ํ๋๊ฒ์ด ์๋๋ผ, Money๊ฐ์ฒด๋ก ๋ถ๋ฆฌํด์ Money๊ฐ ๊ฐ์ง Int๊ฐ์ ์กฐ์ ํ๋ ์์ ์ ๋ด๋ถ์์ ํ๋๋ก ๋ณ๊ฒฝํ๋ ๊ฒ์ด ์ข์
- Stock์ Inventory๊ฐ์ ๊ฒฝ์ฐ์๋ stock์ด ๋์ ๋๋ฆฌ๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋๊น stock๋ด๋ถ์ ๊ทธ ๋์ ๋๋ฆฌ๋ฅผ ์กฐ์ํ๋ ์ฝ๋๊ฐ ๋๋ฌด ๊ธธ์ด์ง๊ณ ์์.(=๋ฐฐ์ด์ด๋ ์ฌ์ ์ผ๋ก ์ ์ธํ๋ ๋ณ์์ ์ ๊ทผํ๋ ์ฝ๋๊ฐ ๋ง์ ๊ฒฝ์ฐ) stock์ด ๊ฐ์ง ๋์ ๋๋ฆฌ๋ ๋จ์ํ ๋์ ๋๋ฆฌ๊ฐ ์๋๋ผ inventory๋ผ๋ ์๋ฏธ๋ฅผ ๊ฐ์ง ๋จ์์ด๊ธฐ๋๋ฌธ์ inventory์ค์ค๋ก๊ฐ ๋์ ๋๋ฆฌ๋ฅผ ๊ฐ๊ณ ์๊ณ ์กฐ์ํ๋๊ฒ ๋ง์. (๋ง์ฝ ๊ทธ ์์๋ ์๋ฏธ์๋ ๋จ์๊ฐ ์๋ค๋ฉด ๋ ๊ฐ์ฒด๋ก ๋ถ๋ฆฌํ๋๊ฒ ์ข์.)
- keyword: โ์๋ฏธ์๋ ๋จ์โ๋ก ๊ฐ์ฒด๋ฅผ ๋ถ๋ฆฌํ๋ค!
์์ ํ ์ฌํญ
- History๊ฐ์ฒด์ ๋์ ๋ฐ ์ฑ ์ ์ถ๊ฐ, VendingMachine์์ก์ ํ์ํ๋ balance์์ฑ์ Money๊ฐ์ฒด๋ก ํ์ ๋ณ๊ฒฝ, Money๊ฐ์ฒด์๋ ๋ง์ฐฌ๊ฐ์ง๋ ๋์, ์ฑ ์ ์ถ๊ฐ, inventory๊ฐ์ฒด์๋
2018.03.09
- ์ํ๊ธฐ ๋ฏธ์ readme์ ๋ฆฌ
- ์ํ๊ธฐ ๋ฏธ์ ์ฒดํฌ๋ฆฌ์คํธ ์์ฑ
- ๋ ๋ฒจ3 ์ด๋ฐ ์๋ฃ ์ฝ์ด๋ณด๊ธฐ (HIG, UI, iOS๋์์ธ, ADSโฆ)
- ์ฌ์ง์ก์ ์ฑ ์์!
2018.03.10
- ํด์!
2018.03.11
- ์ฌ์ง์ก์ ์ฑ 2๋จ๊ณPR
- IBOutlet ์กฐ์ฌ
- UILabel ํด๋์ค ํ๋กํผํฐ ์กฐ์ฌ
Comments