Programming/JavaScript

[๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Deep Dive] 03์žฅ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ๊ณผ ์‹คํ–‰ ๋ฐฉ๋ฒ•

yuri lee 2023. 5. 15. 07:57
๋ฐ˜์‘ํ˜•
์ด ๊ธ€์€ ๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ 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 ๋น„์ฅฌ์–ผ ์ŠคํŠœ๋””์˜ค ์ฝ”๋“œ 


ํŒจ์Šค

๋ฐ˜์‘ํ˜•