์ด๋ฒ์ฃผ ๋ถํฐ ๊ฐ๋จํ ์น ์ดํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ ๋ค. ๐ ๋จ์ํ ๊ธฐ๋ฅ๋ง ์๋ ๊ณ์ฐ๊ธฐ์ด์ง๋ง ์๊ฐํ๋๋๋ก ์๋์ํค๋ ๊ฒ์ ๊ฝค ์ด๋ ค์ ๋ค. ์์ Coplit์ ํตํด ์กฐ๊ฑด๋ฌธ, ๋ฐ๋ณต๋ฌธ ๋ฑ์ ํ์ตํ์ง๋ง ์ค์ ๋ก ์น ์ดํ๋ฆฌ์ผ์ด์ ์ ๋์ํ๊ธฐ ์ํด ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ์ ๋ค๋ฅธ ์ฐจ์์ ๋ฌธ์ ์ธ ๊ฒ ๊ฐ๋ค.
ํ์ด ํ๋ก๊ทธ๋๋ฐ์ผ๋ก 9์๋ถํฐ ์ ๋ 6์๊น์ง ์งํ๋์๊ณ ์๊ฐ์ด ๋๋ฌด ๊ธ๋ฐฉ๊ฐ๋ค. ๊ทธ๋งํผ ์ง์คํ์ผ๋ ์ข์ ๊ฑด์ง, ๊ทธ ์์ ๋ค ํด๊ฒฐ์ ๋ชปํ์ผ๋ ์ ์ข์ ๊ฑด์ง ์ ๋งคํ์ง๋ง ๋ญ ๊ทธ๋๋ ์ง๋ฃจํ ๊ฒ ๋ณด๋ค ๋์ผ๋...๋๋ต์ ์ธ ํ์ต ๋ด์ฉ์ CSS๋ฅผ ์ด์ฉํ์ฌ ๋๋ง์ ๊ณ์ฐ๊ธฐ๋ฅผ ๋ง๋ค๊ณ JavaScript์ text content๋ฅผ ์ด์ฉํ์ฌ html ํ์ผ์์ ๋ฒํผ์ ๋์์ ๋ณ๊ฒฝํ๊ณ ์์ ๊ณ์ฐํ๋ ๊ฒ์ด๋ค.
Bare Minimum Requirements๋ ์๊ฐ๋ณด๋ค ๊ธ๋ฐฉ ์์ฑ์์ผฐ๋๋ฐ ์๊ตฌ์ฌํญ์ด ๋ ๋ง์ Advanced Challenges๋ฅผ ์งํํ๋ฉด์ ๋ง์ด ๋งํ๋ค.๐ญ ์ํ๋๋๋ก ์ซ์๋ค์ด ๋ํ๋๊ฒ๋ ํ๋๋ฐ ์ฐ์ฐ์ ์ ๋ ฅ ์ดํ์ ์ซ์๋ค ๋๋ฌธ์ ๊ณ ์ํ๋ค. ์ค๋ ์์ ํ ๋ง๋ฌด๋ฆฌํ์ง๋ ๋ชปํ์ง๋ง ๋ด์ผ๋ ํ๋ฃจ ์ข ์ผ ํ์ด๊ฐ ์งํ๋๋ฏ๋ก ์ค๋์ ์ฌ๊ธฐ๊น์ง!
์์ฑํ์ง ๋ชปํ ๊ณ์ฐ๊ธฐ ์น ์ดํ๋ฆฌ์ผ์ด์ ์ ์ด์ด์ ์งํํ๋ค. ์ด์ ๋ ๋ง์ ๋ณ์๋ค๊ณผ ๋์์๋ฆฌ์ ๋ํ ์ดํด๋๊ฐ ๋จ์ด์ ธ์ sprint ์งํ์ ์ด๋ ค์์ด ๋ง์๋ค. ํ์ง๋ง ์ ๊ธฐํ๊ฒ ์ด๋ ์๊ฐ ์์ฑ๋ ์ฝ๋ ์ ์ฒด๊ฐ ์ดํด๊ฐ ๊ฐ๊ธฐ ์์ํ๋ค.๐คฉ ย ์... ์ด๋์ ์ด ๋ณ์๋ฅผ ์ผ๊ตฌ๋. ๊ทธ๋ผ ์ฌ๊ธฐ์ ์ด ์ฝ๋๋ฅผ ์์ฑํ๋ฉด ๋์ง ์์๊น? ๋ผ๋ ์๊ฐ์ด ๋ค๋ฉด์ ์ข๋ ์ ๊ทน์ ์ผ๋ก ์๊ฒฌ์ ์ ์ํ ์ ์์๋ค.
์ค์ ์ Advaced Challenges๋ฅผ ๋ง๋ฌด๋ฆฌํ๊ณ ์ด๋ฆ๋ง ๋ค์ด๋ ๋ฌด์๋ฌด์ํ Nightmare๋ฅผ ์งํํ๋ค. ๐ฑย ์ฒ์ ์คํ๋ฆฐํธ๋ฅผ ์งํํ ๋๋ ์๋ ๋ฌธ๊ตฌ๋ฅผ ๋ณด๊ณ ๋น์ฐํ ์ ๊ธฐ๊น์ง ํ์ง๋ ๋ชปํ๊ฒ ๊ตฌ๋ ์ถ์๋ค.
์๋ ๊ณผ์ ๋ ํ์๊ฐ ์๋๋๋ค. ํ์ฌ ๋ฐฐ์ด ๋ด์ฉ์ผ๋ก๋ ์ฝ๊ฒ ๊ตฌํํ ์ ์๋ ์ถ๊ฐ ๊ณผ์ ์ ๋๋ค. ์ง๊ธ ๊ตฌํํ๊ธฐ๋ ๋๋ฌด ๋ณต์กํ ์๊ณ ๋ฆฌ์ฆ์ด๊ฑฐ๋, ์์ง ๋ฐฐ์ฐ์ง ์์ ๋ด์ฉ๋ค๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. ๋ฐฐ์ ๋ ๊ฐ๋ ๊ณผ ํ์ฌ ์คํ๋ฆฐํธ๊ฐ ์ ์ดํด๊ฐ ๋์ง ์๋ ๋ถ๋ถ์ด ์๋ค๋ฉด Nightmare ๋ฅผ ๋์ ํ์ง ๋ง์ธ์. ๊ธฐ์ด๋ฅผ ๋ณต์ตํ๋ ์ผ์ด ํจ์ฌ ๋์์ด ๋ฉ๋๋ค. ๋ฉ๋ฆฌ ๋ฐ๋ผ๋ณด๊ณ ์ค๋นํด์ฃผ์ธ์.
๊ทธ๋๋ ํ์ด ๋ถ๊ป์ ๊ธฐ๋ณธ์ ์ธ ํ์ ๋ํด ์ดํด๋ฅผ ์ ์์ผ ์ฃผ์ ์ Advaced Challenges ์ค๋ฐ ์ดํ ๋ถํฐ๋ ๋ด๊ฐ ๋ธ ์๊ฒฌ์ ๋ฐฉํฅ๊ณผ ์ค์ ๋์ํ๋ ํ๋ ์๊ณ ๋ฆฌ์ฆ๊ณผ ์๋น ๋ถ๋ถ ์ผ์นํ๋ค.
์ดํ ์งํ๋ sprint feedback์ ํตํด reference๊ฐ ๊ณต๊ฐ๋์๋๋ฐ ๋ด๊ฐ ์์ฑํ ์ฝ๋์๋ ๋ง์ด ๋ฌ๋๋ค. ํจ์ฌ ๊ฐ๋จํ๊ณ ๊ฐ๋ ์ฑ์ด ์ข๊ฒ ์์ฑ๋์๋ค. ํ์ง๋ง ์ฒ์ ๋ฌธ์ ๋ฅผ ์ ํ์ ๋ ๋ง๋งํ๋ ๊ฒ์ ๋์ด์ผ๋ณด๋ฉด ๋ด๊ฐ ์๊ฐํด์ ์์ฑํ ์ฝ๋๊ฐ ์ ๋๋ก ๋์ํ๋ค๋ ๊ฒ๋ง์ผ๋ก๋ ์ถฉ๋ถํ ๋ง์กฑํ๋ค.
๋ถํธ์บ ํ์ ๋ค์ด์ค๊ธฐ ์ ์ ํ ํ์ตํ๋ HTML, CSS, JavaScript์ ๋ด์ฉ์ด ๋๋๊ณ ์ํ ์ฒ์ ๋ณด๋ ๋ด์ฉ์ ํฅ์ฐ์ด ์์๋๋ค. ๊ทธ์ค ์ฒซ ๋ฒ์งธ๋ Linux๋ค. ๋จผ์ CLI์ ๋ํ ๋ด์ฉ์ ํ์ตํ๋ค. ํฐ๋ฏธ๋์ ์ฌ์ฉ๋ฒ์ ์ตํ๊ณ ๋ช ๋ น์ด๋ฅผ ํตํด ์กฐ์ํด๋ณด๋ ๊ฒ์ด์๋ค. ๊ทธ๋ฐ๋ฐ ๋ญ๊ฐ ๊ณ์ ๋์ ๊ฑฐ์ฌ๋ ธ๋ค... ๋ฐ๋ก ์๊บผ๋จผ ํฐ๋ฏธ๋์ด์๋ค.
์ ํ๋ธ๋ฅผ ํตํด ๐ ์์๊ฒ ๊พธ๋ฉฐ์ง ํฐ๋ฏธ๋์ ๊ฒฝํํ๋ ํฐ๋ผ ์ด๋ฒ ๊ธฐํ์ ์ ๋๋ก ๊พธ๋ฉฐ๋ณด์๋ ์๊ฐ์ด ๋ค์๋ค. (์๊ฐ์ด ๊ทธ๋ ๊ฒ ๊ฑธ๋ฆด ์ค์ด์ผ...) ์์์ ํธ๊ธฐ๋กญ๊ฒ Iterm2๋ฅผ ์ค์นํ๋ ๊ฒ๋ถํฐ ์์ํ๋ค. ๊ทธ๋ฐ๋ฐ ์๋ฌด๋ฆฌ brew์ ์ค์น, ์ญ์ ๋ฅผ ๋ฐ๋ณตํด๋ ์ ๋๋ก ์๋ํ์ง ์์๋ค. ๋ค๋ฅธ ๊ฑธ ์ค์นํด๋ณด๊ณ ์ถ์ด๋ brew ์ค๋ฅ๊ฐ ๋จ๋ ๊ทธ ์ด์ ์ง๋๋ฅผ ๋๊ฐ์ง ๋ชปํ๋ค. ๊ฒฐ๊ตญ ์ธํฐ๋ท, ์ ํ๋ธ๋ฅผ ๋ฏธ์น ๋ฏ์ด ๋ค์ง๊ธฐ ์์ํ๋ค. (ํ์ต ๋ด์ฉ์ ๋์ ์๋ ์ค๋ ๋ชจ๋ฅด๊ณ ...๐ญ ) 1์๊ฐ ๋๊ฒ ๋ค์ง ๋์ m1 ๋งฅ๋ถ์ brew๋ฅผ ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ์ค์นํ๋ฉด ์ ๋๋ค๋ ๊ฒ์ ์ ์ ์์๊ณ ์ ๋๋ก ์ค์นํ ์ ์์๋ค.
๊ทธ ํ ํ ๋ง ๋ณ๊ฒฝํ๊ณ ํฐํธ๋ ๋ณ๊ฒฝํ๊ณ ์ฌ์ฉ์ ์ด๋ฆ ์์ ๊ณ ์๋์์ฑ ๋ฃ๊ณ 3์๊ฐ ๋์ ๋ง์กฑํ ๋๊น์ง ์ปค์คํ ์ ์งํํ๋ค. ์ญ์ ์ปค์คํฐ๋ง์ด์ง์ ํ๋ฒ ๋น ์ง๋ฉด ํค์ด๋์ฌ ์๊ฐ ์์ด... ๊ทธ ํ ๋ถ๋ด๋ถ๋ด ๋ค์ ์ด์ด์ง๋ ํ์ต ๋ด์ฉ์ ํ์ตํ๊ณ ํ์ด ํ๋ก๊ทธ๋๋ฐ์ ์งํํ๋ค. ์ด๋ฒ ํ์ด ํ๋ก๊ทธ๋๋ฐ์ ๋ชจ๋์ ๋ํ ๋ด์ฉ์ด ์ฃผ๋ฅผ ์ด๋ฃจ์๋๋ฐ ๋ชจ๋์ ์ค์นํ๊ณ ํด๋น ๊ณผ์ ๋ฅผ ํฐ๋ฏธ๋์์์ ์ ์ถํด๋ณด๋ ๊ฒ์ด์๋ค.
๋ง์ ํ์ด ํ๋ก๊ทธ๋๋ฐ ์๊ฐ์ 1์๊ฐ ์ ๋ ์์๋๋ค. ๊ทธ๋๋ ์ปค์คํ ๋ ํฐ๋ฏธ๋์ ์ ๋ ฅํ๋ ๋ญ๊ฐ ๋ ์ ์ณ์ง๋ ๋๋์ด ๋ค์๋ค. ์์ง CLI ๋ช ๋ น์ด๊ฐ ์ต์์ง ์์์ Sprint review ์ดํ์ ๊ด๋ จ ๋ด์ฉ์ ๋ ํ์ตํ๋ค. ์ด์ ๋ณธ๊ฒฉ์ ์ผ๋ก ์ด๋ ค์ ์ง ๊ฒ ๊ฐ์ผ๋ ๊ธฐํฉ ๋ฃ๊ณ ๋ฒํ จ๋ณด์. ๐ค
โพ๏ธ ย ๋ฐ์๋ผ ๋์ Commit์!!
Git ๊ธฐ์ด์ ๋ํด ํ์ตํ๋ ์๊ฐ์ ๊ฐ์ก๋ค. Git๊ณผ Github ์ด๋ฆ๋ง ๋ค์ด๋ Github๋ ์ฌ๋ฌ ๊ฐ์ Git์ด ๋ชจ์ฌ ๊ตฌ์ถํ๋ ํ๊ฒฝ์ ๋ปํ๋ค๋ ๊ฒ์ ์ ์ ์๋ค. ์ ํํ๊ฒ๋ Git์ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์ํ ์ํํธ์จ์ด์ด๊ณ Github๋ Git์ ์ ์ฅํ์ฌ ์๊ฒฉ์ ์ก๋ ๋ด์ฉ๋ค์ ์ ์ฅํ๋ ๊ณต๊ฐ์ ์ ๊ณตํด์ฃผ๋ ์๋น์ค์ด๋ค. Github๋ ๋ด ์ฝ๋๋ค์ ๋ฐฑ์ ํด๋๋ ๊ธฐ๋ฅ์ ๋์ด์์ ๐ ์ ์ธ๊ณ์ ์คํ์์ค ํ๋ก์ ํธ๋ค์ด ๊ณต์ ๋๊ณ ๊ฐ๋ฐ์๋ค์ ๋ฐ์ ์ ๋๋ชจํ๋ ๊ณณ์ด๋ค. ์คํ์์ค ์ฝ๋๋ค์ ๋ด๊ฐ ์์ ํด์ ๋ ๋์ ์ฝ๋๋ก ๋ง๋ค ์๋ ์๊ณ , ๋ค๋ฅธ ํ๋ก๊ทธ๋๋จธ์๊ฒ ์์ ์ฝ๋๋ฅผ ์ ์๋ฐ์ ์๋ ์๊ณ , ๋ด๊ฐ ํน์ ๋ค๋ฅธ ๋๊ตฐ๊ฐ๊ฐ ๊ธฐ์ ์ ํ๋ก์ ํธ์ ๊ธฐ์ฌํ ์๋ ์๋ค.
๋จผ์ Git๊ณผ Github๋ฅผ ์ํํ๊ฒ ์ฌ์ฉํ๊ธฐ ์ํ ๊ธฐ๋ณธ ์ธํ
์ ์งํํ๋ค. ๊ทธ ์ค SSH๋ฅผ ์ด์ฉํ์ฌ Github์ ์ํตํ๋ ๋ฐฉ๋ฒ์ ํ์ตํ๋ค. SSH๋ Secure shell์ ์ค์๋ง๋ก, ๐ ๋ณด์์ด ๊ฐํ๋ shell ์ ์์ ๋ปํ๋ค. CLI ํ๊ฒฝ(ํฐ๋ฏธ๋)์์ ๋ค๋ฅธ PC์ ์ ์ํ๊ฑฐ๋ ์์ฒญํ ๋ ์ฌ์ฉํ๋ฉฐ, ๋น๋์นญํค๋ฅผ ์ด์ฉํด ์ฌ์ฉ์๋ฅผ ์ธ์ฆํ๋ค. SSH ๋ฑ๋ก์ ์ํด ssh-keygen
๋ช
๋ น์ด๋ฅผ ์ด์ฉํ์ฌ SSH ํค๋ฅผ ์์ฑํ๊ณ cat ~/.ssh/id_rsa.pub
๋ช
๋ น์ด๋ฅผ ์ด์ฉํ์ฌ ๊ณต๊ฐํค(Public Key)๋ฅผ ๋ณต์ฌํ์ฌ Github์ ๋ฑ๋กํด์ฃผ์๋ค.
์ดํ ํ์ด ํ๋ก๊ทธ๋๋ฐ์ ํตํ์ฌ Fork ๋ฐ์ Repository๋ฅผ ์ด์ฉํ์ฌ ๊ฐ๊ฐ commit, push, pull์ ๋ฐ๋ณต ์ฌ์ฉํ๋ฉฐ ํ์ตํ๋ค. ์ฒ์์๋ workflow์ ๋ํ ์ดํด๋๊ฐ ๋ฎ์ ํค๋งค์์ผ๋ unstaged, stage, work space, staging area ๋ฑ ๊ธฐ๋ณธ ๊ฐ๋ ์ ์ต์ํด์ง๋ฉด์ ํด๋น ๊ณผ์ ์์ ์ฌ์ฉํด์ผ ํ Git ๋ช ๋ น์ด๋ค์ ์ ์ฌ์ ์์ ์ฌ์ฉํ ์ ์์๋ค.
์ดํ์๋ ๋์ผ ๋ผ์ธ์ ์์ ํ ์ถฉ๋ํ๋ ์ํฉ์ ์ฐ์ถํ์ฌ ํด๊ฒฐํ๋ ๊ณผ์ ์ ๊ฑฐ์ณค๋ค. ์ฒ์์๋ ์ต์ ์ด ๋จ์ง ์์ ๋นํฉํ๋๋ฐ ์ฒ์๋ถํฐ ๋ค์ ์งํํ๋ ์ ์์ ์ผ๋ก ์ถ๋ ฅ๋์ด์ ๊ณผ์ ์ ์งํํ ์ ์์๋ค.
โก๏ธ ย ๋ฒ์จ 2์ฃผ๋ผ๋...
์ค๋์ ์์ ํ์ตํ๋ JS ๊ธฐ์ด์ ๋ฐฐ์ด๊ณผ ๊ฐ์ฒด๋ฅผ ์ด์ฉํ์ฌ ๋๋์ ๋ฐ์ดํฐ๋ฅผ ํ ๋ฒ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ํ์ตํ๋ค. ๋ฐฐ์ด๊ณผ ๊ฐ์ฒด๋ ์ฑ ์ ํตํด ํ์ตํด๋ณธ ์ ์ด ์์ด์ ๋ด์ฉ ์์ฒด๋ ์ด๋ ต์ง ์์๋ค. ์ธ์ ๋ ๊ทธ๋ ๋ฏ ํ์ฉ์ ๋ฐ๋ผ ๋์ด๋๊ฐ ์ฒ์ฐจ๋ง๋ณ์ด ๋๊ฒ ์ง๋ง...๐
ํ์ด ํ๋ก๊ทธ๋๋ฐ์ ํตํด Coplit์ ์งํํ์๋๋ฐ ์๊ฐ์ด ๊ธธ์ง ์์ ๋ง์ ๋ฌธ์ ๋ฅผ ํ์ง๋ ๋ชปํ์๋ค. ๊ทธ๋๋ ๋ฐฐ์ด์์ ํน์ ์ธ๋ฑ์ค๋ฅผ ์ถ๊ฐํ๊ณ ์ ๊ฑฐํ๋ ๋ฐฉ๋ฒ๋ค์ ๋ํ์ฌ ์ถฉ๋ถํ ์ต์ํด์ก๋ค.
์ค๋๊น์ง CodeStates 2์ฃผ ์ฐจ ๊ณผ์ ์ด ๋๋ฌ๋ค. ๐ ย ์๊ฐ์ด ์์ฒญ๋ ์๋๋ก ๋ ์๊ฐ๊ณ ์์ง๋ง ์ถ๋ฝํ์ง ์๊ฒ ๊ผญ ๋ถ๋ค์ด ๋งค์ผ๊ฒ ๋ค. ๋ค์ ์ฃผ์๋ HTML, CSS, JS ๊ด๋ จ ๋ด์ฉ์ด ๊ณ์๋๊ณ DOM์ ๋ํ ๋ด์ฉ์ด ์งํ๋๋ค. DOM์ ๋ํด์๋ ์ต์์ง ์์ ์ฃผ๋ง์ ์ด์ฉํ์ฌ ๋๋ต์ ์ธ ๋ด์ฉ์ ๋ํ ํ์ต์ ์งํํด์ผ๊ฒ ๋ค.