230405(์)
๐ ์ฑ์ฅ์ผ์ง 4.0
์ฑ
ํ๋ณตํ ์ด๊ธฐ์ฃผ์์(์จ์ธ ๋ค์ด์ด)
์ ๋ด์ฉ์ ์๊ทน๋ฐ์ ์์ํ๋ ์๋ฐํ ์ฑ์ฅ๊ธฐ๋ก
์ด์์๋ ๊ฝ๊ณผ ์ฃฝ์ ๊ฝ์ ์ด๋ป๊ฒ ๊ตฌ๋ณํ๋๊ฐ?
์ฑ์ฅํ๊ณ ์๋ ๊ฒ์ด ์ด์ ์๋ ๊ฒ์ด๋ค.
์๋ช ์ ์ ์ผํ ์ฆ๊ฑฐ๋ ์ฑ์ฅ์ด๋ค!
๐ณ (1.0)ํค์๋
์ต๋ํ ๊ฐ๋จํ๊ฒ ์ ๋ฆฌ, ์ถํ์ ๋ณด๋ฉด์ ์ค์ค๋ก ์ค๋ช
๐ (2.0)๊ฒฝํ ์์ฃผ๋ก
๋จ์ ์ ๋ณด๋ฅผ ์ ๋ฌํ๊ธฐ๋ณด๋ค ๋ฌด์์ ๋ฐฐ์ ๊ณ ์ด๋ป๊ฒ ํด๊ฒฐํ๋์ง ์งง๊ณ ๊ฐ๋จํ๊ฒ ์์ฑ
โ๏ธ (3.0)์ ํด์ง ํ ํ๋ฆฟ์ ๋ง์ถฐ์
ํค์๋, ๊ฒฝํ ๋ชจ๋ ์ข๋ค. ๋ค๋ง ๋งค์ผ ์์ฑํ๊ธฐ๋ก ๋ง์ ๋จน์๋งํผ ํต์ฌ๋ง ๊ฐ๊ฒฐํ๊ฒ ์ ๋ฆฌํ ์ ์๊ฒ ํ ํ๋ฆฟ์ ์์ฑ
(3.1)230102๋ถํฐ ์์๋๋ ํ์ต์ ๊ดํ ๋ด์ฉ ์ถ๊ฐ
(3.2)230313๋ถํฐ ์ข๋ ๊ฒฝํ, ๊ฐ์ ์์ฃผ์ ๋ด์ฉ๋ ๋ด๊ธฐ!
๐พ (4.0)ํ์ต ํค์๋์์ ์ต๋ํ ๊ฐ๋จํ ์ ๋ณด ์ ๊ณต, ๊ณ ๋ฏผ์์ ๋ด ๊ฒฝํ์ ์์ธํ ์ ์!
๐ ์ค๋์ ํ์ต ํค์๋
์ด๋ฏธ pushํ ํ์ผ ๋ค์ .gitignore๋ก ์ฒ๋ฆฌํ๊ธฐ
git rm --cached <fileName> # ํน์ ํ์ผ๋ง ๋ค์ ์ฒ๋ฆฌํ ๋
git rm --cached . # ํ์ฌ ๋๋ ํ ๋ฆฌ ๊ธฐ์ค ๋ชจ๋ ํ์ผ ๋ค์ ์ฒ๋ฆฌํ ๋
์์ ๋ช
๋ น์ ์คํํด์ฃผ๊ณ .gitignore
์ ๋ฌด์ํ ํ์ผ ์ ์ ๋ค ๋ค์ add, commit, push๋ฅผ ์งํํด์ฃผ๋ฉด ๋๋ค.
interface์ abstract class
์ด ๋์ ์ฐจ์ด๋ฅผ ์ฐพ์๋ณด๊ฒ ๋ ๊ณ๊ธฐ
- interface๋ก class๋ฅผ ์ข๋ ์ถ์ํํด์ ์์ฑํ๋๋ฐ, class์์ ์ฌ์ฉํ private ํ๋กํผํฐ๊ฐ inteface์์๋ ์ ์ธ ์์ฒด๊ฐ ์๋์ด์ ๋ฐฉ๋ฒ์ ์๊ฐํ๋ ์ค ์ฐพ์๋ณด๊ฒ ๋์๋ค.
- interface์์ ์ ์ธํ๋ ๊ฒ์ ์ ๋ถ pubilc๋ง ๊ฐ๋ฅํ๋ค.(์ ์ด์ ๊ณต๊ฐ์ ์ธ ๊ท๊ฒฉ ๋ด์ง ์ฒญ์ฌ์ง, ์ค๊ณ๋ ์ ๋๋ก ์๊ฐํ๋ฉด ๋๋ค.)
- ๋ค๋ง, abstract class๋ interface์ ์์ฃผ ์ ์ฌํ๋ฉด์ ๋์์ class์ด๋ค. ๊ทธ๋ ์ง๋ง class์ฒ๋ผ ์์ฑ์๋ก์์ ์ญํ ์ ํ์ง๋ชปํ๊ณ (์ธ์คํด์ค๋ฅผ ๋ง๋ค์ง ๋ชปํ๋ค.) ์ธํฐํ์ด์ค๋งํผ ์ ์ฐํ์ง ์๋ค.
- ๋ํ, abstract class๋ ๊ทธ๋๋ class์ด๊ธฐ ๋๋ฌธ์ implements ๊ฐ ์๋ extends๋ฅผ ํตํด์
๊ตฌํ
๋ณด๋จ์์
์ ๊ฐ๋ ์ด ๊ฐํ๋ค. ๊ทธ๋งํผ ๋ ๊ฐํ ๊ท๊ฒฉ์ด ๋ง๋ค์ด์ง๋ค. - ๊ทธ๋์ private, protected ํ๋กํผํฐ ๋ํ ์ ์ธํ ์ ์๋ค.
- ๋ํ, abstract class๋ ๊ทธ๋๋ class์ด๊ธฐ ๋๋ฌธ์ implements ๊ฐ ์๋ extends๋ฅผ ํตํด์
๊ณํ
- ๊ธฐ๋ณธ์ด ๋๋ Model, View, Component ๊ตฌํ ๋ง๋ฌด๋ฆฌํ๊ธฐ
- ์์ฑํด๋์ ๊ธฐ๋ฅ ๋ชฉ๋ก์ ํ ๋๋ก class diagram ์์ฑํ๊ธฐ
๊ณ ๋ฏผ ์ฌํญ
1. ํด๋์ค ๋ค์ด์ด๊ทธ๋จ? ์ปดํฌ๋ํธ ๋ค์ด์ด๊ทธ๋จ?
๊ธฐ๋ณธ์ ์ผ๋ก ์ปดํฌ๋ํธ๋ฅผ ํด๋์ค๋ก ๊ตฌํํ๋ค๋ณด๋ ์์ฐ์ค๋ฝ๊ฒ ์ปดํฌ๋ํธ๋ฅผ ๋จ์๋ก ๋ง์น ํด๋์ค๋ค์ด์ด๊ทธ๋จ์ฒ๋ผ ์์ฑํ๊ฒ ๋์๋ค. ์์ง ๊ทธ ๋ด๋ถ์ ํ๋กํผํฐ์ ๋ฉ์๋๋ ์์ฑํ์ง ๋ชปํ๋ค. ๊ฐ ์ปดํฌ๋ํธ๋ง๋ค ํ์ํ ๋ฉ์๋๊ฐ ๋ค๋ฅผ ๊ฒ ๊ฐ์๋ฐ, ์ด๊ฑธ ์ฝ๋๋ก ์์ฑํ๊ธฐ ์ ์ ๋ฏธ๋ฆฌ ์ค๊ณ๋ถํฐ ํด๋๋๋ค๋ ๊ฒ ์์ง ๊ฐ์ด ์ค์ง ์๋๋ค. ์ผ๋จ ์ด๋ ๊ฒ ํ์ ๋ง๋ค์ด ๋๊ณ ์ฝ๋๋ฅผ ์์ฑํ๋ฉด์ ์กฐ๊ธ์ฉ ๋ถ์ฌ๋๊ฐ๋ณด์.(์ฝ๋ ์์ฑํ๋ฉด์ ๋ค์ด์ด๊ทธ๋จ ์ ๋ฐ์ดํธ๋ ๊ฐ์ด!)
๐ ์์ฝ ๋ฐ ํ๋ฃจ ๊ฐ๋จ ํ๊ณ
ํ๋ฃจ๋ ์งง์๋ฐ, ํ ๊ฑด ๋ง๋ค. ๋ผ๊ณ ๋งํด๋ด์ผ ์๋ฌด ์๋ฏธ์๊ฒ ์ง?! ๊ฒฐ๊ตญ์ ์๊ฐ์ ๋ง๋ค์ด๋ด๋ ๊ฒ๋ ๋ด๊ฐ ํ ์ผ์ด๋ค!!! ํ ์ ์๋ค!!!
์ค๋์ ์ํ ์
- ํด๋์ค ๋ค์ด์ด๊ทธ๋จ ์์ฑ
- interface์ abstract class ์ฐจ์ด ์๊ฒ ๋ ์
- yarn๊ณผ ์จ๋ฆโฆ
์ค๋์ ์์ฌ์ด ์
- yarn ๋ฒ์ ๋ฌธ์ ๋ฅผ ์์ง ํด๊ฒฐ ๋ชปํ ์ โฆ ํโฆ