๐ ์ค๋ ๋ฐฐ์ด ๊ฒ
โ๏ธ Command Line Interface(CLI), ๋ช ๋ น์ด
์์ฃผ ์ฌ์ฉํ๋ ๋ช ๋ น์ด๋ค์ ๋ํด ๋ฐฐ์ฐ๊ณ , GUI๋ฅผ ์ด์ฉํ๋ ๋์ CLI๋ง์ ์ด์ฉํด ์์น๋ฅผ ์ด๋ํด ํ์ผ์ ์์ฑํ๊ณ , ํธ์งํด๋ดค๋ค. .code ๋ช ๋ น์ด๋ฅผ ์ด์ฉํด VSCode ์๋ํฐ๋ฅผ ํตํด ํธ์งํ๊ธฐ๋ ํ๋ค. ์์ง ์์ ํ ์ต์ํด์ง์ง ์์์ ๋ถํธํ ์ ์ด ์๊ธฐ๋ ํ์ง๋ง, ๋นจ๋ฆฌ ์ต์ํด์ง๊ธฐ ์ํด ์ต๋ํ GUI ๋์ CLI๋ฅผ ์ฌ์ฉํด๋ณด๋๋ก ํด์ผ๊ฒ ๋ค.
์์ ์ ๋ญ๊ฐ๋ฅผ ์ค์นํ๋ค๊ฐ ์๋ฌ๊ฐ ๋์ ๊ฒ์ํด๋ณด๊ณ ๊ทธ๋๋ก ๋ฐ๋ผํ ์ ์ด ์์๋๋ฐ, ๊ทธ ๋ sudo ๋ช ๋ น์ด๋ฅผ ์ผ๋ ๊ธฐ์ต์ด ๋๋ค. ๊ทธ ๋๋ ๋ญ์ง๋ ๋ชจ๋ฅด๊ณ ๋ฐ๋ผ ์น๊ธฐ๋ง ํ์๋๋ฐ, sudo์ su๊ฐ super user์ ์๋ฏธํ๋ค๋ ๊ฒ, ๊ทธ๋ฆฌ๊ณ ๊ด๋ฆฌ์ ๊ถํ์ผ๋ก ์คํํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์ต๋ํ ์ฌ์ฉ์ ์ง์ํด์ผํ๋ค๋ ๊ฒ๋ ์๊ฒ๋์๋ค,,
โ๏ธGit Workflow
๋ฒ์ ๊ด๋ฆฌ ์์คํ (Version Control System) ์ค ๊ฐ์ฅ ๋ง์ด ์ฐ์ด๋ ๋๊ตฌ ์ค ํ๋์ธ Git์ด ์๋ํ๋ ๋ฐฉ์์ ๋ํด ๋ค์ํ๋ฒ ๋ฐฐ์ฐ๊ณ ์ ๋ฆฌํ๋ค. ํนํ commit์ ํ๊ธฐ ์ ์ add๋ฅผ ํ๋ ๊ณผ์ ์ด ์ ํ์ํ์ง, Staging Area๊ฐ ์ด๋ค ์ญํ ์ ํ๋์ง์ ๋ํด ์ ํํ ์๊ฒ๋์ด์ ์ด์ ๋ git ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ๋ฉฐ ๋ด๊ฐ ์ง๊ธ ๋ญ ํ๊ณ ์๊ณ , ๋ด ํ์ผ์ด ์ด๋์ ์์นํด์๋์ง ์ ์ ์๊ฒ ๋์๋ค ๐
โ๏ธํจ์ ์ ์ธ์, ํจ์ ํํ์์ ์ฐจ์ด์
ํจ์ ์ ์ธ์๊ณผ ํจ์ ํํ์์ ๊ฐ์ฅ ํฐ ์ฐจ์ด์ ์ 'ํธ์ด์คํ ๊ฐ๋ฅ ์ฌ๋ถ'๋ผ๋ ๊ฒ์ ๋ฐฐ์ ๋ค. ์ ์ ๋ฌธ์ ๋ฅผ ํ๋ฉด์์๋..? ํจ์๊ฐ ์คํ์๋ณด๋ค๋ ์๋์ ์ ์ธ๋์๋๋ฐ๋ ์ ์์ ์ผ๋ก ์๋ํ๊ธธ๋ '์ ์ธ์ ๋์ค์ ํด๋ ์์์ ์ฐพ๊ณ ์๋์ํค๋๊ตฌ๋'๋ผ๊ณ ์๊ฐํ๋๋ฐ, ๊ทธ๊ฒ ์๋๋ผ ์ ์ธ์์ ์ต์๋จ์ผ๋ก ๋์ด์ฌ๋ฆฌ๋ Hoisting(ํธ์ด์คํ ) ๋๋ฌธ์ด์๋ค. ๋ ๋์๊ฐ ์๋ฐ์คํฌ๋ฆฝํธ์ ์ฝ๋๊ฐ ์ด๋ค ์์ผ๋ก ์๋ํ๋์ง๋ ์๊ฒ๋์๋ค.
๐ ๊ธฐ์ตํ ๊ฒ
โ๏ธ ๋ฐฐ์ด(Array) = ์์ O (์์ฐจ์ ๊ทผ ๊ฐ๋ฅ -> length ์ฌ์ฉ๊ฐ๋ฅ)
๊ฐ์ฒด(Object) = ์์ X (์์ฐจ์ ๊ทผ ๋ถ๊ฐ -> length ์ฌ์ฉ๋ถ๊ฐ(undefined), for...in ์ด์ฉํด ์์ฐจ์ ๊ทผ ๊ฐ๋ฅ)
โ๏ธ arguments
argument = arrayํํ์ object (์์์๋ '์ฒ'ํ๋ ๊ฐ์ฒด)
index๊ฐ(0,1,2...)์ key๋ก ๊ฐ๊ณ , ๊ฐ์ value๋ก ๊ฐ๋๋ค!
โ๏ธ ๊ฐ์ฒด์ ๊ธธ์ด ๊ตฌํ๊ธฐ
๊ฐ์ฒด๋ ์์๊ฐ ์๊ธฐ ๋๋ฌธ์ ๊ธธ์ด๋ฅผ ๊ตฌํ ๋ ๊ฐ์ฒด์ ์ง์ length๋ฅผ ์ฌ์ฉํ ์ ์๋ค. ํ์ง๋ง ๊ฐ์ฒด์ ๊ธธ์ด๋ฅผ ๊ฐ์ ์ ์ผ๋ก ๊ตฌํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์๋ค. ๋ฐ๋ก Object.keys()๋ฅผ ์ด์ฉํ๋ ๊ฒ์ด๋ค. ์ด ๋ฉ์๋๋ ๊ฐ์ฒด์ ๋ชจ๋ key๋ค์ ๋ฐฐ์ด๋ก ๋ฐํํด์ฃผ๊ธฐ ๋๋ฌธ์, ๊ทธ๋ ๊ฒ ๊ตฌํ ๋ฐฐ์ด์ length๋ฅผ ์ ์ฉํ ์ ์๊ฒ๋๋ค. ์ฆ, Object.keys(obj).length๋ฅผ ์ด์ฉํด ๊ฐ์ ์ ์ผ๋ก ๊ฐ์ฒด์ ์์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ๊ฒ์ด๋ค.
๐ ๋ ๊ณต๋ถํ ๊ฒ
โ๏ธ Google style guide ์ฝ์ด๋ณด๊ธฐ
const, let ์ฌ์ฉ ๊ด๋ จ ๋ถ๋ถ๋ถํฐ ์๊ฐ๋ ๋๋ง๋ค ์กฐ๊ธ์ฉ ์ฝ์ด๋ณด๊ธฐ!
โ๏ธ ๊ฐ๋น์ง ์ปฌ๋ ์ (Garbage Collection), ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ
ํจ์์ ์ธ์๊ณผ ํจ์ํํ์์ ๋ํด ๋ฐฐ์ฐ๋ฉด์ ์ ์ธ๊ณผ ํ ๋น์ ๋ํด์๋ ์ข ๋ ๊น์ด ์๊ฒ๋์๋ค. ๊ทธ๋ฆฌ๊ณ ์ฝ๋๊ฐ ์คํ๋ ๋ ์ด๋ค ์์์ ๋ฐฉ์์ผ๋ก ์๋๋๋ ๊ฑด์ง์ ๋ํด์๋ ์ฐพ์๋ณด๋ค๋ณด๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ '๊ฐ๋น์ง ์ปฌ๋ ์ ' ๊ฐ๋ ์ด ์์ฃผ ๋ฑ์ฅํด์ ์ด ๋ถ๋ถ์ ๋ํด์๋ ์ข ๋ ๊ณต๋ถํด๋ณด๊ณ ์ ํ๋ค.
โ๏ธ Javascript ํน์ดํ ์ฐ์ฐ ์์ ์ฐพ์๋ณด๊ธฐ
123-'1' = 122, '1'+true = '1true' ์ฒ๋ผ ์ ์ฐ์ง๋ ์์ง๋ง(?) ํน์ดํ ์ฐ์ฐ ์์ ๋ค์ ์ข ๋ ์ฐพ์๋ด์ผ๊ฒ ๋ค.
โ๏ธ ๋ธ๋ก๊น ํ๋๊ฒ ์๊ฐ์ด ๋ง์ด ๋ค๊ธฐ๋ ํ์ง๋ง ํ์คํ ๊ธ๋ก ์ค๋ช ํ๋ฏ์ด ์ฐ๋ค๋ณด๋๊น ๋ด๊ฐ ์ด๋ค ๋ถ๋ถ์ด ํท๊ฐ๋ฆฌ๋์ง ๋ฐ๋ก ์๊ฒ๋๋ ๊ฒ ๊ฐ๋ค. ๋๋ถ์ ์ฐ๋ฉด์ ๋ค์ ๋ณต์ต๋ ํ๊ฒ ๋๊ณ , ๊ธ์ ์ด์ ๋ถ์ด๋ ค๋ค๋ณด๋ฉด ์ข ๋ ๊ฒ์ํด๋ณด๊ณ ๋ฐฐ์ฐ๋๊ฒ ๋ ๋ง์์ง๋ ๋๋์ด๋ค. ๊ทธ๋๋ ๋งจ ์ฒ์์ ์ธ ๋๋ณด๋ค๋ ํ์คํ ์๊ฐ์ด ์ ๊ฒ ๊ฑธ๋ฆฌ๋ ๊ฒ ๊ฐ๊ธด ํ๋ค. ๊ทธ๋ฆฌ๊ณ ์์ฆ์ ๋ด์ฉ๋ ๋ด์ฉ์ด์ง๋ง, ์ด๋ค ์์ผ๋ก ๊ธ์ ์จ์ผ ๋งค๋๋ฝ๊ฒ ์ค๋ช ์ด ๋๊ณ , ์ฒ์ ๋ณด๋ ์ฌ๋์ด ์ฝ์ด๋ ์ดํด๊ฐ ๋ ์ง ๊ธ์ ๊ตฌ์กฐ์ ๋ํ ๊ณ ๋ฏผ์ ๋ ํ๊ฒ ๋๋๋ฏํ๋ค. ํ์์ ์๋ ๊ธ์ ์ธ์ผ์ด ์์์ด์ ๊ทธ๋ฐ๊ฑด์ง,, ๋ญ๊ฐ ๋จธ๋ฆฌ์์ ์๋๊ฑธ ๋ค ํํํ์ง ๋ชปํ๋ ๊ฒ ๊ฐ์์ ์ฐ์ฐํจ์ด ๋จ๊ธฐ๋ ํ๋ค ๐ข ๋จ๋ ์๊ฐ์ ์ฑ ์ฝ๋ ์๊ฐ์ผ๋ก ์ฐ๋ฉด์ ์ดํ๋ ฅ์ด๋ ๊ธ ์์ฐ๋ ๋ฐฉ๋ฒ์ ๋ ๋ฐฐ์์ผ๊ฒ ๋ค โ๐ป
'Daily > Today I Learned' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
201218_TIL (2) | 2020.12.19 |
---|---|
201217_TIL (0) | 2020.12.18 |
201215_TIL (0) | 2020.12.16 |
201214_TIL (0) | 2020.12.15 |
201212_TIL (0) | 2020.12.13 |
๋๊ธ