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

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

728x90
๐Ÿ‘ฉ‍๐Ÿ’ป Java ๊ฐœ๋ฐœ์ž์˜ JavaScript ๊ณต๋ถ€ ๊ธฐ๋ก

JavaScript๋ฅผ ์ฒ˜์Œ ๊ณต๋ถ€ํ•˜๋Š” ์ž…์žฅ์—์„œ
Java ์–ธ์–ด์™€ ๋น„๊ตํ•˜์—ฌ ๋‹ค๋ฅธ ์ ์ด๋‚˜, ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ณต๋ถ€๋ฅผ ํ•˜๋ฉฐ ์ƒˆ๋กญ๊ฒŒ ์•Œ๊ฒŒ ๋œ ๋‚ด์šฉ์„ ์œ„์ฃผ๋กœ ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค.

 

๐Ÿ“‘ 3.1 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰ ํ™˜๊ฒฝ

๋ชจ๋“  ๋ธŒ๋ผ์šฐ์ €๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ•ด์„ํ•˜๊ณ  ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์„ ๋‚ด์žฅํ•˜๊ณ  ์žˆ๋‹ค.

๋ธŒ๋ผ์šฐ์ €๋ฟ๋งŒ ์•„๋‹ˆ๋ผ Node.js๋„ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์„ ๋‚ด์žฅํ•˜๊ณ  ์žˆ๋‹ค.

 

๋ธŒ๋ผ์šฐ์ €๋Š” HTML, CSS, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•ด ์›นํŽ˜์ด์ง€๋ฅผ ๋ธŒ๋ผ์šฐ์ € ํ™”๋ฉด์— ๋ Œ๋”๋ง ํ•˜๋Š” ๊ฒƒ์ด ์ฃผ๋œ ๋ชฉ์ ์ด์ง€๋งŒ

Node.js๋Š” ๋ธŒ๋ผ์šฐ์ € ์™ธ๋ถ€์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด ์ฃผ๋œ ๋ชฉ์ ์ด๋‹ค.

๋”ฐ๋ผ์„œ ๋ธŒ๋ผ์šฐ์ €์™€ Node.js ๋ชจ๋‘ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์ฝ”์–ด์ธ ECMAScript๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ,

๋ธŒ๋ผ์šฐ์ €์™€ Node.js์—์„œ ECMAScript ์ด์™ธ์— ์ถ”๊ฐ€๋กœ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์€ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š”๋‹ค.

(ex. Node.js๋Š” DOM API๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š๊ณ , ๋ธŒ๋ผ์šฐ์ €๋Š” ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ์ œ๊ณตํ•˜์ง€ ์•Š์Œ)

 

๐Ÿ“‘ 3.3 Node.js

๐Ÿ‘‰ 3.3.1 Node.js์™€ npm ์†Œ๊ฐœ

Node.js๋Š” ๋ธŒ๋ผ์šฐ์ €์—์„œ๋งŒ ๋™์ž‘ํ•˜๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋ธŒ๋ผ์šฐ์ € ์ด์™ธ์˜ ํ™˜๊ฒฝ์—์„œ ๋™์ž‘์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰ ํ™˜๊ฒฝ์ด๋‹ค.

 

npm(node package manager)์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €๋‹ค.

Node.js์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“ˆ๋“ค์„ ํŒจํ‚ค์ง€ํ™”ํ•ด์„œ ๋ชจ์•„๋‘” ์ €์žฅ์†Œ ์—ญํ• ๊ณผ ํŒจํ‚ค์ง€ ์„ค์น˜ ๋ฐ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ CLI(command line interface)๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

728x90