์ด ๊ธ์ ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ Deep Dive ๋ฐํ์ผ๋ก ์ ๋ฆฌํ ๋ด์ฉ์ ๋๋ค.
3.1 ์๋ฐ์คํฌ๋ฆฝํธ ์คํ ํ๊ฒฝ
์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ๋ธ๋ผ์ฐ์ ํ๊ฒฝ์์ ์คํํ๋ ๋ฐฉ๋ฒ๊ณผ Node.js ํ๊ฒฝ, ๊ทธ๋ฆฌ๊ณ VSCode๋ฅผ ํ์ฉํด ๋ธ๋ผ์ฐ์ ๋ Node.js ์์ ์คํํ๋ ๋ฐฉ๋ฒ์ ์ดํด๋ด ์๋ค.
3.2 ์น ๋ธ๋ผ์ฐ์
์ฌ๊ธฐ์๋ ํฌ๋กฌ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ฌ์ฉํ๋๋ก ํฉ๋๋ค.
3.2.1. ๊ฐ๋ฐ์ ๋๊ตฌ
๊ฐ๋ฐ์ ๋๊ตฌ๋ ์น ๊ฐ๋ฐ์ ์ ์ฉํ ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
- Elements : ๋ก๋ฉ๋ ์นํ์ด์ง์ DOM๊ณผ CSS๋ฅผ ํธ์งํด์ ๋ ๋๋ง๋ ๋ทฐ๋ฅผ ํ์ธํด ๋ณผ ์ ์์
- Console : ๋ก๋ฉ๋ ์น ํ์ด์ง์ ์๋ฌ๋ฅผ ํ์ธํ๊ฑฐ๋ console.log ๋ฉ์๋์ ์คํ ๊ฒฐ๊ณผ ๋ฑ์ ํ์ธํ ์ ์์
- Sources : ๋ก๋ฉ๋ ์น ํ์ด์ง์ js ์ฝ๋๋ฅผ ๋๋ฒ๊น ํ ์ ์์
- Network : ๋ก๋ฉ๋ ์น ํ์ด์ง์ ๊ด๋ จ๋ ๋คํธ์ํฌ ์์ฒญ ์ ๋ณด์ ์ฑ๋ฅ ํ์ธ ๊ฐ๋ฅ
- Application : ์น ์คํ ๋ฆฌ์ง, ์ธ์ , ์ฟ ํค ํ์ธํ๊ณ ๊ด๋ฆฌ ๊ฐ๋ฅ
3.2.2 ์ฝ์
๊ฐ๋ฐ์ ๋๊ตฌ์ ์ฝ์์ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋์์ ์๋ฌ๊ฐ ๋ฐ์ํด ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ ์์ ์ผ๋ก ๋์ํ์ง ์์ ๋ ๊ฐ์ฅ ์ฐ์ ์ ์ผ๋ก ์ดํด๋ด์ผ ํ ๊ณณ์ ๋๋ค.
3.2.3. ๋ธ๋ผ์ฐ์ ์์ ์๋ฐ์คํฌ๋ฆฝํธ ์คํ
ํจ์ค
3.2.4 ๋๋ฒ๊น
์์ธํ ๋ด์ฉ์ ๊ตฌ๊ตด์ Tools for Web Developers ์ฝ์ ์ฌ์ฉ, Tools for Web Developers: Chrome DevTools ์ฐธ๊ณ ํ๋ฉด ๋ฉ๋๋ค.
3.3. Node.js
ํ๋ก์ ํธ์ ๊ท๋ชจ๊ฐ ์ปค์ง์ ๋ฐ๋ผ React, Angular ์ ๊ฐ์ ํ๋ ์์ํฌ ๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋์ ํ๊ฑฐ๋ Babel, Webpack, ESLint ๋ฑ ์ฌ๋ฌ ๊ฐ์ง ๋๊ตฌ๋ฅผ ์ฌ์ฉํ ํ์๊ฐ ์์ต๋๋ค. ์ด๋ Node.js์ npm์ด ํ์ํฉ๋๋ค.
3.3.1 Node.js์ npm ์๊ฐ
Node.js๋ ํฌ๋กฌ V8 ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ผ๋ก ๋น๋๋ ์๋ฐ์คํฌ๋ฆฝํธ ๋ฐํ์ ํ๊ฒฝ์ ๋๋ค. ์ฆ ๋ธ๋ผ์ฐ์ ์์๋ง ๋์ํ๋ js๋ฅผ ๋ธ๋ผ์ฐ์ ์ด์ธ์ ํ๊ฒฝ์์ ๋์์ํฌ ์ ์๋ ์๋ฐ์คํฌ๋ฆฝํธ ์คํ ํ๊ฒฝ์ด Node.js์ ๋๋ค. npm (node package manager)์ js ํจํค์ง ๋งค๋์ ์ ๋๋ค. Node.js์์ ์ฌ์ฉํ ์ ์๋ ๋ชจ๋์ ํจํค์งํํด์ ๋ชจ์๋ ์ ์ฅ์ ์ญํ ๊ณผ CLI๋ฅผ ์ ๊ณตํฉ๋๋ค.
3.3.2 Node.js ์ค์น
ํจ์ค
3.3.3 Node.js REPL
3.4 ๋น์ฅฌ์ผ ์คํ๋์ค ์ฝ๋
ํจ์ค
'Programming > JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ Deep Dive] 05์ฅ ํํ์๊ณผ ๋ฌธ (0) | 2023.05.17 |
---|---|
[๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ Deep Dive] 04์ฅ ๋ณ์ (0) | 2023.05.16 |
[๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ Deep Dive] 02์ฅ ์๋ฐ์คํฌ๋ฆฝํธ๋? (0) | 2023.05.15 |
[๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ Deep Dive] 01์ฅ ํ๋ก๊ทธ๋๋ฐ (0) | 2023.05.14 |
[Node.js] npm ๊ณผ npx ์ ์ฐจ์ด์ (0) | 2023.05.03 |