Node๋
๋ ธ๋์ ์ ์
์๋ฒ๋ฅผ ์ํํ ์ ์๋ ์๋ฐ์คํฌ๋ฆฝํธ ๋ฐํ์.
์๋ฐ์คํฌ๋ฆฝ๋๋ก ๋ง๋ ํ๋ก๊ทธ๋จ์ ์คํํ ์ ์๊ฒ ํด์ฃผ๋ ๊ฐ์๋จธ์ ์ผ๋ก์ ์๋ฒ์คํ์ ์ํด http/https/http2 ๋ชจ๋์ ๊ณต ๋ค๋ฅธ ๋ฐํ์์ ์์๋ก๋ ์น๋ธ๋ผ์ฐ์ ๊ฐ ์๋ค.
๋ ธ๋์ ํน์ง
1) ์ด๋ฒคํธ ๊ธฐ๋ฐ
์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ๋ ๋ฏธ๋ฆฌ ์ง์ ํด์ค ์ง์ ์ ์ํํ๋ ๋ฐฉ์
• ์ด๋ฒคํธ ๋ฆฌ์ค๋ : ์ด๋ฒคํธ๋ฅผ ๋ฑ๋กํ๋ ํจ์
• ์ฝ๋ฐฑํจ์ : ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ์ ๋ ์คํ๋ ํจ์
์ด๋ฒคํธ ๊ธฐ๋ฐ ์ํคํ ์ฒ | Eventarc | Google Cloud
์๊ฒฌ ๋ณด๋ด๊ธฐ ์ด๋ฒคํธ ๊ธฐ๋ฐ ์ํคํ ์ฒ ์ปฌ๋ ์ ์ ์ฌ์ฉํด ์ ๋ฆฌํ๊ธฐ ๋ด ํ๊ฒฝ์ค์ ์ ๊ธฐ์ค์ผ๋ก ์ฝํ ์ธ ๋ฅผ ์ ์ฅํ๊ณ ๋ถ๋ฅํ์ธ์. ์ด๋ฒคํธ ๊ธฐ๋ฐ ์ํคํ ์ฒ๋ ๋ง์ดํฌ๋ก์๋น์ค๊ฐ ์ด๋ฒคํธ๋ผ๊ณ ํ๋ ์ํ ๋ณํ์
cloud.google.com
2) ๋ ผ๋ธ๋กํน I/O
๋ ผ๋ธ๋กํน : ์ค๋๊ฑธ๋ฆฌ๋ ํจ์๋ฅผ ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ๋ณด๋ด์ ๋ค์ ์ฝ๋๊ฐ ๋จผ์ ์คํ๋๊ฒ ํ๊ณ , ๋์ค์ ์ค๋๊ฑธ๋ฆฌ๋ ํจ์๋ฅผ ์คํ
• ๋ ผ๋ธ๋กํน ๋ฐฉ์ํ์์ ์ผ๋ถ์ฝ๋๋ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ๋ณ๋ ฌ๋ก ์คํ
- ์ผ๋ถ์ฝ๋ : I/O ์์ (ํ์ผ์์คํ ์ ๊ทผ, ๋คํฌ์ํฌ ์์ฒญ), ์์ถ, ์ํธํ ๋ฑ
• ๋๋จธ์ง ์ฝ๋๋ ๋ธ๋กํน ๋ฐฉ์์ผ๋ก ์คํ
• I/O ์์ ์ด ๋ง์ ๋ ๋ ธ๋ ํ์ฉ์ฑ์ด ๊ทน๋ํ
๋๊ธฐ๋ฉด์ ๋ธ๋กํน / ๋น๋๊ธฐ๋ฉด์ ๋ ผ๋ธ๋กํน
๋ธ๋กํน(Blocking)/๋ ผ๋ธ๋กํน(Non-Blocking), ๋๊ธฐ(Sync)/๋น๋๊ธฐ(Async) ๊ตฌ๋ถํ๊ธฐ
๋ณดํต ๋๊ธฐ = ๋ธ๋กํน์ ๊ฐ์ ๊ฐ๋ ์ผ๋ก, ๋น๋๊ธฐ = ๋ ผ๋ธ๋กํน์ ๊ฐ์ ๊ฐ๋ ์ผ๋ก ํท๊ฐ๋ฆฌ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ํ์ง๋ง ๋ ๊ฐ๋ ์ ๊ฐ๊ฐ์ ๊ตฌ๋ถ์ง๋ ๊ธฐ์ค์ด ์ ํ ๋ค๋ฅด๋ค. ๋ธ๋กํน/๋ ผ๋ธ๋กํน์ ํ ์์ ์ด ์ฒ๋ฆฌ๋๋
joooing.tistory.com
3) ํ๋ก์ธ์ค์ ์ค๋ ๋
๋ ธ๋ ํ๋ก์ธ์ค๋ ๋ฉํฐ ์ค๋ ๋์ด์ง๋ง ์ง์ ๋ค๋ฃฐ ์ ์๋ ์ค๋ ๋๋ ํ๋์ด๊ธฐ ๋๋ฌธ์ ์ฑ๊ธ์ค๋ ๋๋ผ ํํ
• ๋ ธ๋๋ ์ฃผ๋ก ๋ฉํฐ์ค๋ ๋ ๋์ ๋ฉํฐํ๋ก์ธ์ค ํ์ฉ
• ๋ ธ๋๋ 14๋ฒ์ ๋ถํฐ ๋ฉํฐ์ค๋ ๋ ์ฌ์ฉ๊ฐ๋ฅ
[ OS ] ํ๋ก์ธ์ค์ ์ค๋ ๋ Process, Thread
1 ) ํ๋ก์ธ์ค Process In computing, a process is the instance of a computer program that is being executed by one or many threads. ์ปดํจํฐ ๋ถ์ผ์์ ํ๋ก์ธ์ค๋ ์ปดํจํฐ ํ๋ก๊ทธ๋จ์ ์ธ์คํด์ค๋ก, ํ๋ ์ด์์ ์ค๋ ๋๋ฅผ ํตํด ์ค
dodokwon.tistory.com
4) ์ฑ๊ธ์ค๋ ๋
์ฑ๊ธ์ค๋ ๋๋ผ ์ฃผ์ด์ง ์ผ์ ํ๋๋ฐ์ ์ฒ๋ฆฌํ์ง ๋ชปํ๋ค.
• ๋ธ๋กํน์ด ๋ฐ์ํ๋ ๊ฒฝ์ฐ ๋๋จธ์ง ์์ ์ ๋ชจ๋ ๋๊ธฐํด์ผํด์ ๋นํจ์จ์ด ๋ฐ์ํ๋ค.
• ๋์ ๋ ผ๋ธ๋กํน ๋ชจ๋ธ์ ์ฑํํ์ฌ ์ผ๋ถ ์ฝ๋ (I/O)๋ฅผ ๋ฐฑ๊ทธ๋ผ์ด๋(๋ค๋ฅธ ํ๋ก์ธ์ค)์์ ์คํ ๊ฐ๋ฅ
• ์์ฒญ์ ๋จผ์ ๋ฐ๊ณ ์๋ฃ๋ ๋ ์๋ตํจ
• I/O ๊ด๋ จ ์ฝ๋๊ฐ ์๋ ๊ฒฝ์ฐ ์ฑ๊ธ ์ค๋ ๋, ๋ธ๋กํน ๋ชจ๋ธ๊ณผ ๊ฐ์์ง
๋ ธ๋์ ์ฅ์
1. ๋ฉํฐ์ค๋ ๋ ๋ฐฉ์์ ๋นํด ์ปดํจํฐ ์์์ ์ ๊ฒ ์ฌ์ฉํจ
2. I/O ์์ ์ด ๋ง์ ์๋ฒ๋ก ์ ํฉ
3. ๋ฉํฐ์ค๋ ๋ ๋ฐฉ์๋ณด๋ค ์ฌ์
4. ์น ์๋ฒ๊ฐ ๋ด์ฅ๋์ด ์์
5. ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํจ
6. JSON ํ์๊ณผ ํธํํ๊ธฐ ์ฌ์
7. CPU ์์ ์ ์ํด AWS Lambda๋ Google Cloud Functions ๊ฐ์ ๋ณ๋ ์๋น์ค ์ฌ์ฉ. ์๋ธ์๋ฒ๋ก๋ ๋ง์ด ์ฌ์ฉํจ
ํ์ต์ ๋ง์ ๋์์ด ๋ ๋งํฌ๋ฅผ ์ฐธ์กฐํ์ต๋๋ค. ๐
์ฐธ์กฐ ๋ฐ ์ถ์ฒ
[๋ฆฌ๋ด์ผ] Node.js ๊ต๊ณผ์ - ๊ธฐ๋ณธ๋ถํฐ ํ๋ก์ ํธ ์ค์ต๊น์ง - ์ธํ๋ฐ | ๊ฐ์
๋ ธ๋๊ฐ ๋ฌด์์ธ์ง๋ถํฐ, ์๋ฐ์คํฌ๋ฆฝํธ ์ต์ ๋ฌธ๋ฒ, ๋ ธ๋์ API, npm, ๋ชจ๋ ์์คํ , ๋ฐ์ดํฐ๋ฒ ์ด์ค, ํ ์คํ ๋ฑ์ ๋ฐฐ์ฐ๊ณ 5๊ฐ์ง ์ค์ ์์ ๋ก ํ๋ก์ ํธ๋ฅผ ๋ง๋ค์ด ๋๊ฐ๋๋ค. ์ต์ข ์ ์ผ๋ก ํด๋ผ์ฐ๋์ ์๋น์ค
www.inflearn.com