๋น๋์ ๋ฐฐํฌ
ํ๋ก๋์
๋น๋๋ฅผ ๋ง๋ค๋ ค๋ฉด?
ํ๋ก๋์ ๋น๋๋ฅผ ๋ง๋ค๋ ค๋ฉด?
api/dist ๋๋ ํฐ๋ฆฌ์ ์์ฑ๋ฉ๋๋ค.Web ํ๋ก ํธ์๋ ๋น๋:web/dist ๋๋ ํฐ๋ฆฌ์ ์์ฑ๋ฉ๋๋ค.ํ๋ก๋์
ํ๊ฒฝ์์ ์คํํ๋ ค๋ฉด?
ํ๋ก๋์ ํ๊ฒฝ์์ ์คํํ๋ ค๋ฉด?
ํ๊ฒฝ ๋ณ์
ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํ๋ ค๋ฉด?
ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํ๋ ค๋ฉด?
NODE_ENV์ ๋ฐ๋ผ .env.{environment} ํ์ผ์ ์๋์ผ๋ก ๋ก๋ํฉ๋๋ค..env.production ํ์ผ ์์ฑ:SONAMU_DB_* ํ๊ฒฝ๋ณ์๋ฅผ ์ฝ์ด DB ์ฐ๊ฒฐ์ ์๋์ผ๋ก ๊ตฌ์ฑํ๋ฏ๋ก, sonamu.config.ts์์ ์ง์ ์ฐ๊ฒฐ ์ ๋ณด๋ฅผ ์ง์ ํ ํ์๊ฐ ์์ต๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ์ค๋ฒ๋ผ์ด๋ํ๊ณ ์ถ๋ค๋ฉด database.defaultOptions๋ฅผ ์ฌ์ฉํฉ๋๋ค:๋ฏผ๊ฐํ ์ ๋ณด๋ฅผ ์์ ํ๊ฒ ๊ด๋ฆฌํ๋ ค๋ฉด?
๋ฏผ๊ฐํ ์ ๋ณด๋ฅผ ์์ ํ๊ฒ ๊ด๋ฆฌํ๋ ค๋ฉด?
- AWS Secrets Manager
- HashiCorp Vault
- Azure Key Vault
๋ฐ์ดํฐ๋ฒ ์ด์ค
ํ๋ก๋์
๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ง์ด๊ทธ๋ ์ด์
์ ์คํํ๋ ค๋ฉด?
ํ๋ก๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ง์ด๊ทธ๋ ์ด์ ์ ์คํํ๋ ค๋ฉด?
๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐฑ์
์ ์ค์ ํ๋ ค๋ฉด?
๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐฑ์ ์ ์ค์ ํ๋ ค๋ฉด?
๋ชจ๋ํฐ๋ง๊ณผ ๋ก๊น
๋ก๊ทธ๋ฅผ ์ค์ ํ๋ ค๋ฉด?
๋ก๊ทธ๋ฅผ ์ค์ ํ๋ ค๋ฉด?
ํฌ์ค์ฒดํฌ ์๋ํฌ์ธํธ๋ฅผ ๋ง๋ค๋ ค๋ฉด?
ํฌ์ค์ฒดํฌ ์๋ํฌ์ธํธ๋ฅผ ๋ง๋ค๋ ค๋ฉด?
์๋ฌ ๋ชจ๋ํฐ๋ง์ ์ค์ ํ๋ ค๋ฉด?
์๋ฌ ๋ชจ๋ํฐ๋ง์ ์ค์ ํ๋ ค๋ฉด?
์ฑ๋ฅ ์ต์ ํ
ํ๋ก๋์
์ฑ๋ฅ์ ์ต์ ํํ๋ ค๋ฉด?
ํ๋ก๋์ ์ฑ๋ฅ์ ์ต์ ํํ๋ ค๋ฉด?
์ ์ ํ์ผ ์บ์ฑ์ ์ค์ ํ๋ ค๋ฉด?
์ ์ ํ์ผ ์บ์ฑ์ ์ค์ ํ๋ ค๋ฉด?
Docker
Docker๋ก ๋ฐฐํฌํ๋ ค๋ฉด?
Docker๋ก ๋ฐฐํฌํ๋ ค๋ฉด?
CI/CD
GitHub Actions๋ก ์๋ ๋ฐฐํฌ๋ฅผ ์ค์ ํ๋ ค๋ฉด?
GitHub Actions๋ก ์๋ ๋ฐฐํฌ๋ฅผ ์ค์ ํ๋ ค๋ฉด?
๋ณด์
HTTPS๋ฅผ ์ค์ ํ๋ ค๋ฉด?
HTTPS๋ฅผ ์ค์ ํ๋ ค๋ฉด?
CORS๋ฅผ ์ค์ ํ๋ ค๋ฉด?
CORS๋ฅผ ์ค์ ํ๋ ค๋ฉด?
Rate Limiting์ ์ค์ ํ๋ ค๋ฉด?
Rate Limiting์ ์ค์ ํ๋ ค๋ฉด?
Best Practices
ํ๋ก๋์
์ฒดํฌ๋ฆฌ์คํธ
ํ๋ก๋์ ์ฒดํฌ๋ฆฌ์คํธ
- HTTPS ์ค์
- ํ๊ฒฝ ๋ณ์๋ก ๋ฏผ๊ฐ ์ ๋ณด ๊ด๋ฆฌ
- CORS ์ฌ๋ฐ๋ฅด๊ฒ ์ค์
- Rate Limiting ์ค์
- SQL Injection ๋ฐฉ์ง (Puri ์ฌ์ฉ)
- XSS ๋ฐฉ์ง (์ ๋ ฅ ๊ฒ์ฆ)
- Connection Pool ์ต์ ํ
- Redis ์บ์ฑ ํ์ฑํ
- ์ ์ ํ์ผ ์บ์ฑ
- DB ์ธ๋ฑ์ค ์ต์ ํ
- N+1 ์ฟผ๋ฆฌ ์ ๊ฑฐ
- ํฌ์ค์ฒดํฌ ์๋ํฌ์ธํธ
- ์๋ฌ ๋ชจ๋ํฐ๋ง (Sentry)
- ๋ก๊ทธ ์์ง (Winston)
- DB ๋ฐฑ์ ์๋ํ
- ํ๋ก๋์ ํ๊ฒฝ ๋ณ์ ์ค์
- ๋ง์ด๊ทธ๋ ์ด์ ํ ์คํธ (Shadow DB)
- CI/CD ํ์ดํ๋ผ์ธ
- ๋กค๋ฐฑ ๊ณํ