
๊ตฌ์ฑ ๋ฐ ํ๊ฒฝ ๊ด๋ฆฌ
ConfigModule, ํ๊ฒฝ ๋ณ์, .env, ์ํฌ๋ฆฟ, ๋ฉํฐ ํ๊ฒฝ(dev/staging/prod), feature flags
1NestJS์ ConfigModule์ด๋ ๋ฌด์์
๋๊น?
NestJS์ ConfigModule์ด๋ ๋ฌด์์ ๋๊น?
๋ต๋ณ
ConfigModule์ ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ฑ ๊ด๋ฆฌ๋ฅผ ์ค์ํํ๋ NestJS์ ๊ณต์ ๋ชจ๋์ ๋๋ค. .env ํ์ผ์์ ํ๊ฒฝ ๋ณ์๋ฅผ ๋ก๋ํ๊ณ , ์คํค๋ง๋ก ๊ฒ์ฆํ๋ฉฐ, ConfigService๋ฅผ ํตํด ์๋น์ค์ ์ฃผ์ ํ ์ ์์ต๋๋ค. process.env์ ์ง์ ์ ๊ทผํ๋ ๊ฒ๊ณผ ๋ฌ๋ฆฌ ๊ฐ๋ ฅํ ํ์ดํ์ ์ ๊ณตํ๊ณ ๋จ์ ํ ์คํธ๋ฅผ ์ฉ์ดํ๊ฒ ํฉ๋๋ค.
2NestJS ์ ํ๋ฆฌ์ผ์ด์
์์ ConfigModule์ ์ด๋ป๊ฒ ์ํฌํธํฉ๋๊น?
NestJS ์ ํ๋ฆฌ์ผ์ด์ ์์ ConfigModule์ ์ด๋ป๊ฒ ์ํฌํธํฉ๋๊น?
๋ต๋ณ
ConfigModule์ ๋ฃจํธ ๋ชจ๋(AppModule)์์ ConfigModule.forRoot()๋ก ์ํฌํธํฉ๋๋ค. ์ด ๋ฉ์๋๋ ํ๋ก์ ํธ ๋ฃจํธ์์ .env ํ์ผ์ ์๋์ผ๋ก ๋ก๋ํ๊ณ ConfigService๋ฅผ ์ ์ญ์์ ์ฌ์ฉํ ์ ์๊ฒ ํฉ๋๋ค. envFilePath๋ก ์ฌ์ฉ์ ์ง์ ๊ฒฝ๋ก๋ฅผ ์ง์ ํ๊ฑฐ๋ isGlobal๋ก ๋ชจ๋ ์ฌ์ํฌํธ๋ฅผ ํผํ๋ ๋ฑ์ ์ต์ ๋ ์ ๋ฌํ ์ ์์ต๋๋ค.
3Node.js ์ ํ๋ฆฌ์ผ์ด์
์์ .env ํ์ผ์ ์ญํ ์ ๋ฌด์์
๋๊น?
Node.js ์ ํ๋ฆฌ์ผ์ด์ ์์ .env ํ์ผ์ ์ญํ ์ ๋ฌด์์ ๋๊น?
๋ต๋ณ
.env ํ์ผ์ ๊ฐ ํ๊ฒฝ(๊ฐ๋ฐ, ์คํ ์ด์ง, ํ๋ก๋์ )์ ํนํ๋ ํ๊ฒฝ ๋ณ์๋ฅผ ์ ์ฅํฉ๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค URL, API ํค, ์ํฌ๋ฆฟ ๊ฐ์ ๊ฐ์ ํฌํจํฉ๋๋ค. ๋ฏผ๊ฐํ ์ ๋ณด ๋ ธ์ถ์ ๋ฐฉ์งํ๊ธฐ ์ํด ์ด ํ์ผ์ ์ ๋ Git์ ์ปค๋ฐํ๋ฉด ์ ๋ฉ๋๋ค(.gitignore์ ์ถ๊ฐ). dotenv ๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํตํด ์์ ์ ๋ก๋๋ฉ๋๋ค.
ConfigService๋ก ํ๊ฒฝ ๋ณ์์ ์ด๋ป๊ฒ ์ ๊ทผํฉ๋๊น?
NestJS๋ .env ํ์ผ์ ๋ก๋ํ๋ ๋ฐ ์ด๋ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํฉ๋๊น?
+17 ๋ฉด์ ์ง๋ฌธ
๊ธฐํ Node.js / NestJS ๋ฉด์ ์ฃผ์
Node.js ๊ธฐ์ด
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, ๊ธฐ์ ํ ์คํธ, ์ฝ๋ ๋ฆฌ๋ทฐ ์ฐ์ต, ๋ฉด์ ์๋ฎฌ๋ ์ดํฐ์ ์ ๊ทผํ์ธ์.
๋ฌด๋ฃ๋ก ์์ํ๊ธฐ