Daily/Today I Learned
210111_TIL (node.js, git์ ์ต์ํด์ง๊ธฐ)
joooing
2021. 1. 12. 04:06
๋ฐ์ํ
๐ ์ค๋ ํ ์ผ
โ๏ธ node.js, nvm ์ค์น
์ง๊ธ๊น์ง๋ ์น ๋ธ๋ผ์ฐ์ ์์์๋ง Javascript๋ฅผ ๋์์์ผฐ๋๋ฐ, ์ด์ ์๋ก์ด ํ๊ฒฝ์ธ node.js์์ ๋์์ํฌ ์ ์๊ฒ ๋์๋ค. ๋ณด๋ค ์ฌ์ด node.js ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์ํด NVM(Node Version Manager)๋ ์ค์นํ๊ณ , use ๋ช ๋ น์ด๋ฅผ ํตํด ์ค์น๋ ๋ค๋ฅธ node ๋ฒ์ ๋ค์ ๋ฒ๊ฐ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ๋ ๋ฐฐ์ ๋ค.
โ๏ธ Git Workflow ์ตํ๊ธฐ
ํ์ด๋ถ๊ณผ ๊ฐ์ ๋ ํฌ์งํ ๋ฆฌ ํ์ผ, ๊ฐ์ ๋ถ๋ถ์ ๋ค๋ฅธ ๋ณ๊ฒฝ์ฌํญ์ ๋์์ pushํด๋ณด๋ฉฐ ์ถฉ๋ ์ํฉ์ ๋ง๋ค์ด๋ณด๊ณ , ์ด๋ค ์ค๋ฅ ๋ฉ์์ง๊ฐ ๋จ๊ณ ์ด๋ป๊ฒ ํด๊ฒฐํ ์ ์๋์ง ์์๊ฐ๋ฉฐ ์ฐ์ตํด๋ดค๋ค. ์ถ๊ฐ๋ก fetch ์๋ฌ์ pull ์๋ฌ์ ๋ฉ์์ง๊ฐ ๋ค๋ฅด๊ฒ ๋จ๋๊ฑธ ๋ณด๋ฉด์, fetch์ pull์ ์ฐจ์ด๊ฐ ๋ญ์ง ๊ถ๊ธํด์ ธ์ ProGit์ ๋ณด๋ฉฐ ์ด ๋ถ๋ถ์ ๋ํด์๋ ์์๋ณด์๋ค.
โ๏ธ Javascript์ this ์์๋ณด๊ธฐ
Javascript์ this๋ ์คํ ์ปจํ ์คํธ๊ฐ ์์ฑ๋ ๋, ๋ค์๋งํด ํจ์๊ฐ ํธ์ถ๋ ๋ ๊ฒฐ์ ๋๋ค. ๋ค์๋งํด ํจ์๊ฐ ์ด๋ค์์ผ๋ก ํธ์ถ๋๋ ์ง์ ๋ฐ๋ผ์ this๋ ๊ณ์ํด์ ๋ฐ๋๊ฒ ๋๋ ๊ฒ์ด๋ค. ์ํฉ๋ณ์ด๋ผ๋ ๋ง์ด ํท๊ฐ๋ ค์ ์ด ๋ถ๋ถ์ ๋ํด ์ฌ๋ฌ ์ฌ๋ก๋ค์ ์ฐพ์๋ณด๋ฉฐ ๊ณต๋ถํ๋ค. ์ ์ญ๋ณ์์ผ ๋, ํจ์๋ก ํธ์ถํ ๋, ๋ฉ์๋๋ก ํธ์ถํ ๋, ์ฝ๋ฐฑ ํจ์๋ก ํธ์ถํ ๋, ์์ฑ์ ํจ์ ๋ด๋ถ์ ์์ ๋ ๋ฑ ์ฌ๋ฌ ์ํฉ์์ this๊ฐ ๋ญ ๊ฐ๋ฆฌํค๋์ง, ๊ทธ๋ฆฌ๊ณ ๊ทธ ์ด์ ์ ๋ฐ์ํ ์ ์๋ ๋ฌธ์ , ํด๊ฒฐ ๋ฐฉ์์ ๋ํด ์ ์ ์์๋ค. this๋ฅผ ํตํด ํจ์์ ๋ฉ์๋์ ์ฐจ์ด์ ๋ ์ฐ๊ด์ง์ด ์๊ฐํด๋ณผ ์ ์์๋ค. ์ถ๊ฐ๋ก ํ์ดํ ํจ์๋ ๊ทธ๋ฅ ๋ณด๊ธฐ ํธํ๊ฒ ์ฐ๋ ์ฉ๋์ธ ์ค๋ง ์์๋๋ฐ, ํ์ดํ ํจ์๋ฅผ ์ฌ์ฉํ๋ฉด ์คํ์ปจํ ์คํธ๊ฐ ์์ฑ๋ ๋ this๋ฅผ ๋ฐ์ธ๋ฉํ๋ ๊ณผ์ ์ด ์๋ต๋๋ค๋ ๋๋ผ์ด,,์ฌ์ค๋ ์๊ฒ๋์๋ค.
๐ ๊ธฐ์ตํ ๊ฒ
โ๏ธ node.js ๊ด๋ จ๋๊ตฌ
NVM(Node Version Manager) : ๊ฐ๋จํ ๋ช ๋ น์ด๋ก node๋ฅผ ์ค์นํ๊ณ , ๋ค์ํ node ๋ฒ์ ์ ์ฝ๊ฒ ๊ด๋ฆฌํ ์ ์๊ฒ ๋์์ฃผ๋ ํ๋ก๊ทธ๋จ
NPM(Node Package Manager) : ํ์ํ ๋ชจ๋์ ๋ค์ด๋ก๋ํ ์ ์๋, ๋ชจ๋๋ค์ด ๋ชจ์ฌ์๋ ๋ชจ๋ ์คํ ์ด
โ๏ธ git pull, git fetch
git pull = git fetch(๊ฐ์ ธ์ค๊ธฐ) + git merge(๋น๊ตํ๊ธฐ) !
โ๏ธ ์ ์ฌ๋ฐฐ์ด๊ฐ์ฒด์ ์กฐ๊ฑด
1) key๊ฐ 0์ด์์ธ ์ ์ property ์กด์ฌ
2) length property๊ฐ 0์ด์์ผ ๊ฒ
๋ ๊ฐ์ง๋ฅผ ๋ง์กฑํ๋ ๊ตฌ์กฐ๋ง ๋ฐฐ์ด์ธ ๊ฐ์ฒด!
(ex. arguments๊ฐ์ฒด, NodeList(querySelectorAll, getElementsByClassName..))
๐ ๋ ๊ณต๋ถํ ๊ฒ
โ๏ธ call, apply, bind ๋ฉ์๋
โ๏ธ ProGit์์ ๊ธฐ์ตํ ๋งํ ๋ถ๋ถ๋ค ์ ๋ฆฌํด๋๊ธฐ
๋ฐ์ํ