์์ฒญ ๋ฐ๋นด๋ ์ง๋์ฃผ๊ฐ ์ง๋๊ฐ๊ณ ์ด๋ฒ 9์ฃผ์ฐจ๋ ์ฌ์ด๊ฐ๋ ํ ์ฃผ๊ฐ ๋์๋ค. vue์์ ๋น ๋ฅด๊ฒ ๋๊ฒผ๋ ๊ฐ์๋ค๋ ๋ค์ ํ๋ฒ ๋ ๋ค์ด๋ณด๊ณ ๊ธํ๊ฒ ์๊ฐ์ ์ซ๊ฒจ ์จ ์ง๋ ๋ฐ๋ธ์ฝ์ค๋ฅผ ํ๋ฒ ๋์๋ณด๋ ์๊ฐ์ ๊ฐ์ก๋ค. ์ฝ๋ ๋ฆฌ๋ทฐ๋ ํ๋ฉด์ ์ง๋ ๊ฐ์๋ ๋ค์ ๋ค์ด๋ณด๋ฉด์ ๋ฐ๋ธ์ฝ์ค์ ๋ฐฉํ๊ธฐ๊ฐ์
8์ฃผ์ฐจ๋ ๋๋ฌด ๋ฐ๋นด๋ค.. ๊ทธ๋์ ํ๊ณ ๋ ๋ฐ๋ ธ...๐ ์ด๋ฒ์ฃผ๋ npm ์ค์น, webpack ์ค์ ๋ฑ ๋ค์ํ ์ธํ ๋ถํฐ ์์ํ์ฌ vue router, vuex, netlify๋ก ๋ฐฐํฌ๊น์ง vue์ ์ฌํํ์ต์ ์งํํ๋ค.8์ฃผ์ฐจ ๊ณผ์ ๋ก๋ ์ํ api๋ฅผ ๊ฐ์ ธ์ ํ๋ฉด์ ๋ณด์ฌ์ฃผ๋ ๊ณผ์ ๋ฅผ
7์ฃผ์ฐจ์์๋ 6์ฃผ์ฐจ์ CSS ์ฌํ ์ฐ์ฅ์ ๊ณผ Vue ๊ธฐ์ด์ ๋ํด ํ์ตํ์๋ค. CSS ์ฌํ๋ SCSS๋ก ์ด์ด๋๊ฐ์ผ๋ฉฐ Vue๋ ๋ผ์ดํ์ฌ์ดํด๊ณผ ๊ธฐ์ด ๋ฌธ๋ฒ์ ๋ํด ํ์ตํ์๋ค. 7์ฃผ์ฐจ ๊ณผ์ ๋ SCSS์ BEM์ ์ด์ฉํด ๋ฐ์ํ ์น์ฌ์ดํธ๋ฅผ ํด๋ก ์ฝ๋ฉํ๋ ๊ฒ์ด์๋ค. ์ ํ๋ธ, ๋ค์ด๋ฒ ๋ฑ
6์ฃผ์ฐจ๋ ์ง๊ธ๊น์ง JS์ ๊ธฐ๋ณธ๊ธฐ๋ฅผ ๋ง๋ฌด๋ฆฌํ๋ ํ ์ฃผ์๋ค. ๊ณ ์์ด ์ฌ์ง์ฒฉ ๋ง๋ค๊ธฐ, ๊ณ ์์ด ์ฌ์ง ๊ฒ์๊ธฐ ๋ง๋ค๊ธฐ, Drag & Drop ์ค์ต์ ํตํด ์ง๊ธ๊น์ง ํ์ตํ JS๋ฅผ ์ค์ต์ ํตํด ๋ค์ ํ๋ฒ ๋ณต๊ธฐํ์๋ค. 6์ฃผ์ฐจ๋ถํฐ CSS ์ฌํ์ ๋ค์ด๊ฐ๋ค.๊ณ ์์ด ์ฌ์ง์ฒฉ ๋ง๋ค๊ธฐ ์ค์ต์ ํด๋
์ค๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๋ JS๋ง์ผ๋ก Drag & Drop์ ๊ตฌํํด๋ณด์Drag & Drop์ ๊ตฌํํ๊ธฐ ์ํด์๋ ํด๋น document์ draggable ์์ฑ์ ์ค์ผํ๋ค.Drag & Drop์ ํ์ํ ์ด๋ฒคํธ์ ๋ฉ์๋๊ฐ ์๋ค.๋ค์ํ ์ด๋ฒคํธ๊ฐ ์์ง๋ง ์ฌ๊ธฐ์๋ 4๊ฐ์ง๋ง ์ฌ์ฉํด๋ณธ
๋ฌดํ ์คํฌ๋กค์ ์ด๋ฏธ์ง๋ ์ปจํ ์ธ ์ ๊ธธ์ด ๋๋ ๊ฐฏ์๊ฐ ๋ง์ ๋, ํ๋ฒ์ ๋ค ๋ณด์ฌ์ฃผ์ง ์๊ณ ์ฌ์ฉ์๊ฐ ๋ง์ง๋ง ์ปจํ ์ธ ๋ฅผ ๋ณผ ๋ ์ฏค ๋ค์ ์ปจํ ์ธ ๊ฐ ์์ผ๋ฉด ๋ถ๋ฌ์ค๋ ๋ฐฉ์์ด๋คFacebook, Instagram๊ฐ์ด ๊ฒ์๋ฌผ๋ค์ ํ๋ฒ์ ๋ณด์ฌ์ฃผ์ง ์๊ณ ์ฌ์ฉ์๊ฐ ๊ฒ์๋ฌผ์ ๋ณด๋ ค๊ณ ๊ณ์ํด์ ์คํฌ
3์ฃผ์ฐจ์๋ ๊ฐ๋จํ TodoList App์ ๋ง๋ค์๋ค. HTML์ผ๋ก ํ๋ฉด์ ๊ทธ๋ฆฌ๋๊ฒ ์๋๊ณ JS๋ง์ผ๋ก ํ๋ฉด๋ ๊ทธ๋ฆฌ๊ณ TodoList ๊ธฐ๋ฅ๋ ๋ง๋ค์๋ค. ์ฒ์์ผ๋ก JS๋ง์ผ๋ก DOM ์กฐ์์ ํตํด ํ๋ฉด์ ๊ทธ๋ฆฌ๋ ค๊ณ ํ๋ ํฅ๋ฏธ๋ก์ ๋ค. append(), createElement(),
ํ๋ 2์ฃผ๊ฐ ์ง๋ฌ๋ค.์๊ณ ๋ฆฌ์ฆ์ ๋ํด ํ์ตํ๋๋ฐ ๊ฐ๋ ์ ์ดํดํ์ง๋ง ๊ตฌํ์ด๋ ๋ฌธ์ ์ ์ ์ฉ์ํค๊ธฐ๊ฐ ์ด๋ ค์ ๋ค.ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ฉํ ์คํธ 3~4๋จ๊ณ ๋ฌธ์ ๋ฅผ ์ค์ต ๋ฌธ์ ๋ก ํ์๋๋ฐ ํ์ง ๋ชปํ์๋ค. ์์ฃผ ์ ๋ง์ ์ธ ํ ์ฃผ์๋ค๐์๊ณ ๋ฆฌ์ฆ์ ์ฝํด์ ํ๋ก๊ทธ๋๋จธ์ค 0๋จ๊ณ๋ถํฐ ์ฐจ๊ทผ์ฐจ๊ทผ ํ์ด๋๊ฐ ๊ณ
๋ช ๋ นํ ํ๋ก๊ทธ๋๋ฐ ์ปดํจํฐ๊ฐ ์ํํ ๋ช ๋ น๋ค์ ์์๋๋ก ์จ ๋์ ๊ฒ์ด๋ค. ์ด๋ค ๋ฐฉ๋ฒ์ผ๋ก ํ๋๋์ ํฌ์ปค์ฑ ex) ์น ํ์ด์ง๋ฅผ ๋ง๋ค ๋, ์ด๋ DOM์ ์ ๊ทผํด์ ๊ทธ DOM์ Text๋ฅผ ์ด๋ป๊ฒ ๋ฐ๊พธ๊ณ ๊ทธ DOM์ ์ด๋ ์์ฑ์ด ์ด๋ค ๊ฐ์ผ ๋๋ ์ด๋ ๊ฒ ๋์ํ๊ฒ ํด๋ผ ๋ผ๋ ์์ ํ๋ก
๋ธ๋ผ์ฐ์ DOM ๋ธ๋ก๊น ์ด์ ์ ๋ธ๋ผ์ฐ์ ์ DOM์ ๋ํด ์ ๋ฆฌํ ๊ธ์ด๋ค.DOM์ ๋ณํ๊ฐ ์๊ธฐ๋ฉด ๋ ๋ ํธ๋ฆฌ๋ฅผ ์ฌ์์ฑํ๊ณ ๋ ์ด์์์ ๋ง๋ค๊ณ ํ์ธํ ํ๋ ๊ณผ์ ์ ๋ณํํ ๋๋ง๋ค ๋ฐ๋ณตํ๋ค. SPA์์๋ DOM์ ๋ณํ๊ฐ ๋น๋ฒํ๊ฒ ์ผ์ด๋๋๋ฐ ๋ณํ๊ฐ ์ผ์ด๋ ๋๋ง๋ค ์ ๊ณผ์ ์ด ๋ฐ๋ณต๋๋ ์ฐ์ฐ๋
BFS ์ DFS๋? ๋ํ์ ์ธ ๊ทธ๋ํ ํ์ ์๊ณ ๋ฆฌ์ฆ BFS: ๋๋น ์ฐ์ ํ์ DFS: ๊น์ด ์ฐ์ ํ์
๋ฐ๋ธ์ฝ์ค๊ฐ ์์ํ์ง ๋ฒ์จ 1์ฃผ์ผ์ด ์ง๋ฌ๋ค.์ฒซ ์ฃผ์๋ Javascript ์ฃผ์ ๋ฌธ๋ฒ์ ๋ํด ํ์ตํ์๋ค. ์๋๋ค ๋ฐฐ์ฐ๊ธฐ๋ง ํ๋ค.. ์์ง ์ต๋๊น์ง๋ ๋ชปํด ์ฃผ๋ง์ ์ด์ฉํด ๋ค์ ํ๋ฒ ๋ณต์ตํ ์์ ์ด๋ค๐Day-1์๋ VSCode์ค์น, Node ์ค์น ๋ฑ ๊ฐ๋ฐํ๊ฒฝ์ ๊ตฌ์ถํ๊ณ ๋ธ๋ผ์ฐ์
git initgit push, pullorigin ์ด๋git branch, git switchgit remoteremote์ ๋ํด์ ๋ค์
ํด๋ผ์ด์ธํธ ์๋ฒ ๊ตฌ์กฐstateless, connectionlessHTTP ๋ฉ์ธ์ง์ธ์ฆ๊ฐ์ธํ๋ฐฉ๋ฌธ์๋ค์ ์ํ ์ฒดํฌํ๋ก๊ทธ๋๋จธ์ค ๋ฐ๋ธ์ฝ์ค
์๋ฐ์คํฌ๋ฆฝํธ๋ ์ฑ๊ธ ์ค๋ ๋์ด๋ค. ์๋ฐ์คํฌ๋ฆฝํธ๋ ํ๋์ Call Stack์ด ์กด์ฌํ๋ค. ์ถ์ฒ JS์ ๋์์๋ฆฌ
ํ๋กํ ํ์ ์ ์ ์ ์๋ผ๊ณ ์๊ฐํ๋ฉด ์ฝ๋ค.๋ถ๋ชจ(์์) ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ ์ ์๊ณ ์๋ก์ด ๊ฐ์ฒด๋ฅผ ์์ฑํ ์ ์๋ค.person์ proto ํจ์์ ์์์ด๋ผ ์๊ฐํ ์ ์๋ค. protoํจ์์ ์ํด ์์ฑ๋์๊ธฐ ๋๋ฌธ์ด๋ค.proto ํจ์ ์์๋ home์ด๋ผ๋ ๊ฐ์ฒด๊ฐ ์์ง๋ง prototy
ํจ๋ฌ๋ค์์ ๋ฌด์์ ํด์ผํ ์ง๋ฅผ ๋งํ๊ธฐ๋ณด๋ค ๋ฌด์์ ํด์๋ ์๋๋์ง ๋งํด์ค๋ค -Clean Architecture-ํ๋ก๊ทธ๋จ์ ์์ฐจ, ๋ถ๊ธฐ, ๋ฐ๋ณต, ์ฐธ์กฐ๋ก ๊ตฌ์ฑ๋๋ค.ํจ๋ฌ๋ค์์ ์ด 4๊ฐ์ง ์์๋ฅผ ์ด๋ป๊ฒ ์ด์ฉํ ๊ฒ์ธ์ง ๋ค๋ฃฌ๋ค.ํจ์๊ฐ ์ต์ ๋จ์๊ฐ ๋๋ค.๊ฐ์ฒด๋ณด๋ค ๋ ์์ ๋จ์๋ก ๋๋์ด
URL์ ํตํด ์๋ฒ ์ ์ -> ํด๋ผ์ด์ธํธ ์์ฒญ -> ์๋ฒ ์๋ต -> ์ฐ๊ฒฐ ์ข ๋ฃDNS: Domain Name System์ฌ๋์ด ์ฝ์ ์ ์๋ ๋๋ฉ์ธ ์ด๋ฆ(https://programmers.co.kr)์ IP ์ฃผ์๋ก ๋ณํํ๋ ์์คํ ๋คํธ์ํฌ ์ฅ๋น ๋ผ์ฐํฐ๋ฅผ ํตํด ์
ํด๋ก์ ๋ฅผ ์๊ธฐ ์ ์ ์คํ ์ปจํ ์คํธ์ ๋ํด ์์์ผํ๋ค.์คํ ์ปจํ ์คํธ๋ ์คํ ๊ฐ๋ฅํ ์ฝ๋๊ฐ ์คํ๋๊ธฐ ์ํด ํ์ํ ํ๊ฒฝ์ด๋ค.์๋ฐ์คํฌ๋ฆฝํธ์์ง์ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ๋ค๊ฐ ํจ์๋ฅผ ๋ง๋๊ฒ๋๋ฉด ์คํ์ปจํ ์คํธ๋ฅผ ์์ฑํ๋ค. ์ด ์คํ์ปจํ ์คํธ์ ํจ์๊ฐ ์คํ๋ ๋์ ํ๊ฒฝ์ ์ ์ฅํ๊ฒ ๋ฉ๋๋ค. ์ด๋ ๊ฒ