1์ฅ์ ์ ๋ง ๊ฐ๋จํ๊ฒ ๋ ธ๋๋ฅผ ์๊ฐํฉ๋๋ค.
Node.js ๋ asynchronousํ๊ณ event-driven์ด๋ค.
asynchronous๋ ๋น๋๊ธฐ์์ด๋ผ๋ ๋ง์ด๊ณ ๋น๋๊ธฐ์์ด๋ผ ํจ์ ์ด๋ค ์์ฒญ์ด ๋ค์ด์์ ๋ ํด๋น ์์ฒญ์ ์ฒ๋ฆฌํด์ผํ๋ ๋ ์์ ํธ์ถํ๊ณ ๊ทธ ๋ ์์ด ์ผ์ ๋๋ด๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ๊ฒ์ด ์๋๋ผ ๋๋ ๋ ๋ค๋ฅธ ์์ฒญ์ ๊ธฐ๋ค๋ฆฐ๋ค๋ ๋ง์ด๋ค.
Event-driven์ด๋ผ๋ ๊ฒ์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ณ ์๋ค๊ฐ ํด๋น ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ๋ ์ด๋ค ์ผ์ ํ๋ค๋ ๊ฒ์ ๋งํ๋ค. ์ฌ๊ธฐ์ ์ด๋ฒคํธ๋ ์ฌ์ฉ์๊ฐ ๋ฒํผ์ ํด๋ฆญํ๋ ๊ฒ์ด ๋ ์๋ ์๊ณ , ์คํฌ๋กค๋ฐ๊ฐ ์ ์ผ ๋ฐ์ผ๋ก ๋ด๋ ค๊ฐ๋ค๊ฑฐ๋, ์ฌ์ฉ์๊ฐ ๋ง์ฐ์ค๋ฅผ ํน์ ์์ญ์ ์ฌ๋ ค๋๋๋ค๊ฑฐ๋ ํ๋ ๋ฑ์ ๋์์ ๋งํ๋ค.
Node.js๋ DIRTy ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ ํ๋ซํผ์ด๋ค. ( ํ๋ ์์์ด ์๋๋ค )
์ฌ๊ธฐ์ DIRTy๋ผ ํจ์ Data-Intense Real-Time ์ ๋งํ๋ค.
๋์ y๋ ์ ๋ถ์์๊น? ๊ถ๊ธํด์ก๋ค.
"DIRT์ ํ๋ฆฌ์ผ์ด์ "๊ณผ "DIRTy์ ํ๋ฆฌ์ผ์ด์ "์ด๋ผ๋ ๋จ์ด๋ฅผ ๋น๊ตํด๋ณด๋ฉด, dirt๋ผ๋ ๋จ์ด๋ ๋จผ์ง, ๋ผ, ์งํ ๋ฑ์ ์๋ฏธํ๋ ๋ช ์ฌ์ด๊ณ dirty๋ dirt์ ํ์ฉ์ฌ๋ก์ ๋๋ฌ์ด, ์ง์ ๋ถํ ์ด๋ผ๋ ์๋ฏธ๋ฅผ ๊ฐ๊ณ ์๋ค. ๋ญ๊ฐ ๋ ๋ฃ๊ธฐ ์ข์์ง ํ๊ตญ๋ง๋ก ๋น๊ตํด๋ณด์. "๋จผ์ง ์ดํ", "์งํ ์ดํ", "๋ผ ์ดํ"์ด๋ผ๋ ๋ง๊ณผ "๋๋ฌ์ด ์ดํ", "์ง์ ๋ถํ ์ดํ"์ด๋ผ๋ ๋ง, ์ด๋ค ์ด๋ฆ์ด ๋ ์์ฐ์ค๋ฝ๊ณ ์ดํดํ๊ธฐ ์ฌ์ด๊ฐ? ์ค์๊ฐ์ผ๋ก ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋์ด ๋ง์ ์ดํ์ ์๊ธฐํ ๋ "๋จผ์ง ์ดํ"๊ณผ "์ง์ ๋ถํ ์ดํ", ๋ ์ค ํ๋๋ฅผ ์ ํํ๋ค๋ฉด ๋น์ฐํ ์ง์ ๋ถํ ์ดํ์ ์ ํํ๋๊ฒ ์ฌ๋๋ค์ด ์ดํดํ๊ธฐ๊ฐ ํจ์ฌ ์ฝ๋ค. ๊ทธ๋์ ๋์ y๋ฅผ ๋ถ์ฌ์ ๋๋์ ์ด๋ฆฐ๊ฑฐ๋ค.
๋ญ ์ด๊ฑด ์ด๋๊น์ง๋ ๋์ ๊ฐ์ธ์ ์ธ ์๊ฐ์ด๋ค.
์ ๋ ๊ฐ์ง ๋ด์ฉ์ด 1์ฅ์์ ์๊ธฐํ๋ ๋ด์ฉ์ด๋ค.
๊ทธ๋ผ 2์ฅ์ผ๋ก ๋์ด๊ฐ๋ณผ๊น?
'๐ป Programming' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ Node.js in Action ] 13์ฅ ์์ฝ (0) | 2017.06.03 |
---|---|
[ Node.js in Action ] 3์ฅ ์์ฝ (0) | 2017.06.03 |
[Node.js] ํํ ๋ฆฌ์ผ - ์ค์นํ๊ธฐ ๋ถํฐ ์ด๊ฐ๋จ ์น์ฌ์ดํธ ๊ตฌ์ฑํ๊ธฐ ๊น์ง (0) | 2017.06.03 |
[Spring Error] No converter found for return value of type: class java.util.ArrayList (0) | 2016.11.27 |
์๋์ฐ์์ Docker๋ก PostgreSQL ๋์ฐ๊ธฐ (0) | 2016.11.24 |