๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐ŸŒŒ | WEB DEV/NodeJS

[NodeJS] 1. ๋…ธ๋“œ์˜ ์ •์˜

by KASSID 2023. 9. 15.

๋ชฉ์ฐจ

    728x90

    NodeJS์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž!

    1. ์ •์˜

    ๊ณต์‹ ํ™ˆํŽ˜์ด์ง€์—์„œ ์ •์˜ํ•˜๋Š” ๊ฒƒ์€

    ํฌ๋กฌV8 JS์—”์ง„์œผ๋กœ ๋นŒ๋“œ๋œ JS ๋Ÿฐํƒ€์ž„ ์ด๋‹ค. 

    (๋Ÿฐํƒ€์ž„ = ์‹คํ–‰๊ธฐ / ์ฆ‰, nodeJS๋Š” JS ์‹คํ–‰๊ธฐ)

     


    - NodeJS๊ฐ€ ์—†์—ˆ์„ ๋•Œ JS๋Š” ์–ด๋–ป๊ฒŒ ์‹คํ–‰์ด ๋˜์—ˆ์„๊นŒ?

    <script> ... </script> ์˜ ํ˜•์‹์œผ๋กœ html ์•ˆ์— ๋„ฃ์–ด์•ผํ–ˆ๋‹ค. (์Šคํฌ๋ฆฝํŠธ์— ์ข…์†๋จ!)
    ๋”ฐ๋ผ์„œ ๊ทธ ์†๋„๊ฐ€ ๋Š๋ฆด ์ˆ˜ ๋ฐ–์— ์—†์—ˆ๋‹ค.

    ํ•˜์ง€๋งŒ ํฌ๋กฌ ๊ธฐ๋ฐ˜์˜ NodeJs๊ฐ€ ๋“ฑ์žฅํ•œ ์ดํ›„ ๋‹น์‹œ ๊ธฐ์ค€ ๊ต‰์žฅํžˆ ๋น ๋ฅธ ์†๋„๋กœ ์‹คํ–‰์ด ๊ฐ€๋Šฅํ•ด์ง€๊ฒŒ ๋˜์—ˆ๋‹ค.

     

    - ๋…ธ๋“œ๋Š” ์„œ๋ฒ„์ธ๊ฐ€?

    ์—„๋ฐ€ํžˆ๋Š” ํ‹€๋ฆฐ ๋ง์ด์ง€๋งŒ NodeJS๋กœ ์„œ๋ฒ„์—ญํ• ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.
    JS (์–ธ์–ด) / NodeJS (๋Ÿฐํƒ€์ž„)

     


    2. ๋Ÿฐํƒ€์ž„

    ๋Ÿฐํƒ€์ž„์ด๋ž€

    ํŠน์ • ์–ธ์–ด๋กœ ๋งŒ๋“  ํ”„๋กœ๊ทธ๋žจ๋“ค์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ฐ€์ƒ ๋จธ์‹ ์„ ๋งํ•œ๋‹ค.


    JS์˜ NodeJS์™ธ ๋‹ค๋ฅธ ๋Ÿฐํƒ€์ž„ ์˜ˆ์‹œ๋Š” ์›น๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์žˆ๋‹ค! (ํฌ๋กฌ, ํŒŒ์ด์–ดํญ์Šค ๋“ฑ)
    ๋…ธ๋“œ ์ด์ „์˜ ๊ฒƒ๋“ค์€ ์—”์ง„ ์†๋„๊ฐ€ ๋„ˆ๋ฌด ๋Š๋ ธ์—ˆ๋‹ค.


    3. ๋…ธ๋“œ์˜ ๋‚ด๋ถ€ ๊ตฌ์กฐ

    ๋Œ€๋ถ€๋ถ„์˜ ์–ธ์–ด๋Š” ๋‚ด๋ถ€์ ์œผ๋กœ C, C++ ๊ธฐ๋ฐ˜์ด๋‹ค.

    NodeJS๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ C++ ๊ธฐ๋ฐ˜์ด๋‹ค.

     

    NodeJS CoreLibrary
    Node.JS Bindings
    V8 libuv


    - V8     : JS ์—”์ง„, ์†๋„ ๋ฌธ์ œ๋ฅผ ๊ฐœ์„ ํ•ด์คŒ
    - libuv ๋น„๋™๊ธฐ๋ฅผ ๊ตฌํ˜„ํ•ด์คŒ / ๋…ธ๋“œ์˜ ํŠน์„ฑ์ธ ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜, ๋…ผ๋ธ”๋กœํ‚น I/O ๋ชจ๋ธ ๊ตฌํ˜„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
                   (Node ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ JS์—์„œ๋„ ์ค‘์š”ํ•จ!)

    NodeJS๋Š” ์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ ๋น„๋™๊ธฐ ๋ชจ๋ธ์ด๋‹ค!!

    ๋•๋ถ„์— ๋›ฐ์–ด๋‚œ ์„ฑ๋Šฅ์„ ๋ณด์—ฌ์„œ ์ธ๊ธฐ๋ฅผ ์–ป๊ฒŒ ๋˜์—ˆ๋‹ค๊ณ  ํ•œ๋‹ค.

    ๋Œ“๊ธ€