
ํ์ผ ์ ๋ก๋
Multer, ํ์ผ ๊ฒ์ฆ, storage, streaming, S3 ์ฐ๋, ํ์ผ ํฌ๊ธฐ ์ ํ
1NestJS์์ ํ์ผ ์
๋ก๋๋ฅผ ์ฒ๋ฆฌํ๋ ค๋ฉด ์ด๋ค ํจํค์ง๋ฅผ ์ฌ์ฉํ๋์?
NestJS์์ ํ์ผ ์ ๋ก๋๋ฅผ ์ฒ๋ฆฌํ๋ ค๋ฉด ์ด๋ค ํจํค์ง๋ฅผ ์ฌ์ฉํ๋์?
๋ต๋ณ
NestJS๋ @nestjs/platform-express๋ฅผ ํตํด Multer๋ฅผ ์ฌ์ฉํ์ฌ multipart/form-data ์ ๋ก๋๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค. Multer๋ NestJS์ Express ํ๋ซํผ์ ๊ธฐ๋ณธ์ผ๋ก ํตํฉ๋์ด ์์ต๋๋ค. @UseInterceptors(FileInterceptor())์ ๊ฐ์ decorator๋ฅผ ์ ๊ณตํ์ฌ ์ ๋ก๋๋ฅผ ๊ฐ์ํํฉ๋๋ค. express-fileupload์ body-parser๋ NestJS์์ ๊ถ์ฅ๋์ง ์์ต๋๋ค.
2NestJS endpoint์์ ๋จ์ผ ํ์ผ์ ์
๋ก๋ํ๋ ค๋ฉด ์ด๋ป๊ฒ ํ๋์?
NestJS endpoint์์ ๋จ์ผ ํ์ผ์ ์ ๋ก๋ํ๋ ค๋ฉด ์ด๋ป๊ฒ ํ๋์?
๋ต๋ณ
FileInterceptor('file')๋ ๋จ์ผ ํ์ผ์ ์ ๋ก๋ํ๋ decorator์ด๋ฉฐ, ์ฌ๊ธฐ์ 'file'์ ํผ ํ๋ ์ด๋ฆ์ ๋๋ค. FilesInterceptor๋ ๊ฐ์ ํ๋์ ์ฌ๋ฌ ํ์ผ์ฉ์ด๊ณ , FileFieldsInterceptor๋ ์ฌ๋ฌ ๋ค๋ฅธ ํ๋์ฉ์ ๋๋ค. @UploadedFile()๋ง์ผ๋ก๋ interceptor ์์ด ์๋ํ์ง ์์ต๋๋ค.
3NestJS์์ ๊ฐ์ ํ๋์ ์ฌ๋ฌ ํ์ผ์ ์
๋ก๋ํ๋ ค๋ฉด ์ด๋ป๊ฒ ํ๋์?
NestJS์์ ๊ฐ์ ํ๋์ ์ฌ๋ฌ ํ์ผ์ ์ ๋ก๋ํ๋ ค๋ฉด ์ด๋ป๊ฒ ํ๋์?
๋ต๋ณ
FilesInterceptor('files', 10)๋ 'files' ํ๋์์ ์ต๋ 10๊ฐ์ ํ์ผ์ ์ ๋ก๋ํ ์ ์๊ฒ ํฉ๋๋ค. ๋ ๋ฒ์งธ ๋งค๊ฐ๋ณ์๋ ํ์ผ ๊ฐ์๋ฅผ ์ ํํฉ๋๋ค. FileInterceptor๋ ๋จ์ผ ํ์ผ์ฉ์ด๊ณ , AnyFilesInterceptor๋ ์ ํ ์์ด ๋ชจ๋ ํ๋์ฉ์ด๋ฉฐ, FileInterceptor๋ฅผ ์ฌ๋ฌ ๊ฐ ์ฌ์ฉํ๋ ๊ฒ์ ์๋ํ์ง ์์ต๋๋ค.
NestJS์์ ์ ๋ก๋๋ ํ์ผ์ MIME ํ์ ์ ๊ฒ์ฆํ๋ ค๋ฉด ์ด๋ป๊ฒ ํ๋์?
NestJS์์ ์ ๋ก๋ ํ์ผ ํฌ๊ธฐ๋ฅผ 5 MB๋ก ์ ํํ๋ ค๋ฉด ์ด๋ป๊ฒ ํ๋์?
+12 ๋ฉด์ ์ง๋ฌธ
๊ธฐํ 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, ๊ธฐ์ ํ ์คํธ, ์ฝ๋ ๋ฆฌ๋ทฐ ์ฐ์ต, ๋ฉด์ ์๋ฎฌ๋ ์ดํฐ์ ์ ๊ทผํ์ธ์.
๋ฌด๋ฃ๋ก ์์ํ๊ธฐ