
Node.js ๊ธฐ์ด
Event loop, ๋ ผ๋ธ๋กํน I/O, CommonJS/ES6 ๋ชจ๋, package.json, npm/yarn
1Node.js์ event loop๋ ๋ฌด์์
๋๊น?
Node.js์ event loop๋ ๋ฌด์์ ๋๊น?
๋ต๋ณ
event loop๋ ๋น๋๊ธฐ ์คํ์ ๊ฐ๋ฅํ๊ฒ ํ๋ Node.js์ ํต์ฌ ๋ฉ์ปค๋์ฆ์ ๋๋ค. call stack๊ณผ callback queue๋ฅผ ๋ชจ๋ํฐ๋งํ๋ฉฐ, call stack์ด ๋น์ด ์์ ๋ callback์ ์คํํฉ๋๋ค. ์ด ๋ฉ์ปค๋์ฆ ๋๋ถ์ Node.js๋ ์ถ๊ฐ ์ค๋ ๋๋ฅผ ๋ง๋ค์ง ์๊ณ ๋ ์์ฒ ๊ฐ์ ๋์ ์ฐ๊ฒฐ์ ์ฒ๋ฆฌํ ์ ์์ด, I/O ์์ ์ ๋งค์ฐ ํจ์จ์ ์ธ ๋ชจ๋ธ์ด ๋ฉ๋๋ค.
2Node.js I/O ๋ชจ๋ธ์ ์ฃผ์ ํน์ง์ ๋ฌด์์
๋๊น?
Node.js I/O ๋ชจ๋ธ์ ์ฃผ์ ํน์ง์ ๋ฌด์์ ๋๊น?
๋ต๋ณ
Node.js๋ ๋ ผ๋ธ๋กํน ๋น๋๊ธฐ I/O ๋ชจ๋ธ์ ์ฌ์ฉํฉ๋๋ค. I/O ์์ (ํ์ผ ์ฝ๊ธฐ, ๋คํธ์ํฌ ์์ฒญ)์ด ์์๋๋ฉด Node.js๋ ๊ทธ ์๋ฃ๋ฅผ ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ๋ค๋ฅธ ์์ ์ ๊ณ์ ์คํํฉ๋๋ค. ์์ ์ด ์๋ฃ๋๋ฉด callback์ด queue์ ์ถ๊ฐ๋ฉ๋๋ค. ์ด ๋ชจ๋ธ์ ๋์ I/O ์์ ์ด ๋ง์ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ฐ์ด๋ ์ฑ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
3require()์ import์ ์ฃผ์ ์ฐจ์ด์ ์ ๋ฌด์์
๋๊น?
require()์ import์ ์ฃผ์ ์ฐจ์ด์ ์ ๋ฌด์์ ๋๊น?
๋ต๋ณ
require()๋ CommonJS ๊ตฌ๋ฌธ์ผ๋ก, ๋ฐํ์์ ๋๊ธฐ์ ์ผ๋ก ๋ก๋๋ฉ๋๋ค. import๋ ES6 modules ๊ตฌ๋ฌธ์ผ๋ก, ์คํ ์ ์ ์ ์ ์ผ๋ก ๋ถ์๋ฉ๋๋ค. ES6 modules๋ tree-shaking(๋ฏธ์ฌ์ฉ ์ฝ๋ ์ ๊ฑฐ)์ ๊ฐ๋ฅํ๊ฒ ํ๋ฉฐ ๋ ๋์ ์ต์ ํ๋ฅผ ์ ๊ณตํฉ๋๋ค. CommonJS๋ ํธํ์ฑ์ ์ํด ์ฌ์ ํ ๋๋ฆฌ ์ฌ์ฉ๋์ง๋ง, ES6 modules๊ฐ ํ๋์ ์ธ ํ์ค์ด ๋๊ณ ์์ต๋๋ค.
package.json ํ์ผ์ ์ฉ๋๋ ๋ฌด์์ ๋๊น?
node_modules ํด๋์ ์ญํ ์ ๋ฌด์์ ๋๊น?
+17 ๋ฉด์ ์ง๋ฌธ
๊ธฐํ Node.js / NestJS ๋ฉด์ ์ฃผ์
Node.js ์ฝ์ด API
๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ
Express.js ๊ธฐ์ด
NestJS ๊ธฐ์ด
REST API ์ค๊ณ
๊ฒ์ฆ๊ณผ DTO
API ๋ฌธ์ํ ๋ฐ ๊ณ์ฝ
์๋ฌ ์ฒ๋ฆฌ
๋จ์ ํ ์คํธ
์์ ์ค์ผ์ค๋ง
NestJS ๋ชจ๋๊ณผ DI
๊ตฌ์ฑ ๋ฐ ํ๊ฒฝ ๊ด๋ฆฌ
JWT ์ธ์ฆ
์ธ๊ฐ ๋ฐ RBAC
TypeORM์ ์ฌ์ฉํ ๋ฐ์ดํฐ๋ฒ ์ด์ค
Prisma ORM
๋ฏธ๋ค์จ์ด์ ์ธํฐ์ ํฐ
ํ์ผ ์ ๋ก๋
WebSockets
NestJS๋ฅผ ์ฌ์ฉํ GraphQL
์๋ํฌ์๋ ํ ์คํธ
Redis๋ฅผ ์ฌ์ฉํ ์บ์ฑ
Bull์ ์ฌ์ฉํ ํ
DevOps, Logging, CI/CD
Docker ๋ฐ ์ปจํ ์ด๋ํ
๋ง์ดํฌ๋ก์๋น์ค
๋ณด์ ๋ชจ๋ฒ ์ฌ๋ก
์ฑ๋ฅ ๋ฐ ํด๋ผ์ฐ๋ ๋ฐฐํฌ
๋ค์ ๋ฉด์ ์ ์ํด Node.js / NestJS์ ๋ง์คํฐํ์ธ์
๋ชจ๋ ์ง๋ฌธ, flashcards, ๊ธฐ์ ํ ์คํธ, ์ฝ๋ ๋ฆฌ๋ทฐ ์ฐ์ต, ๋ฉด์ ์๋ฎฌ๋ ์ดํฐ์ ์ ๊ทผํ์ธ์.
๋ฌด๋ฃ๋ก ์์ํ๊ธฐ