Node.js / NestJS

๋ฏธ๋“ค์›จ์–ด์™€ ์ธํ„ฐ์…‰ํ„ฐ

๋ฏธ๋“ค์›จ์–ด, ์ธํ„ฐ์…‰ํ„ฐ, RxJS ์—ฐ์‚ฐ์ž, ์š”์ฒญ/์‘๋‹ต ๋ณ€ํ™˜, ์บ์‹ฑ

20 ๋ฉด์ ‘ ์งˆ๋ฌธยท
Mid-Level
1

NestJS์—์„œ ๋ฏธ๋“ค์›จ์–ด๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๋‹ต๋ณ€

๋ฏธ๋“ค์›จ์–ด๋Š” route handler ์ด์ „์— ์‹คํ–‰๋˜๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค. request ๋ฐ response ๊ฐ์ฒด์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์š”์ฒญ์ด๋‚˜ ์‘๋‹ต์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜, ์š”์ฒญ-์‘๋‹ต ์‚ฌ์ดํด์„ ์ข…๋ฃŒํ•˜๊ฑฐ๋‚˜, next()๋กœ ๋‹ค์Œ ๋ฏธ๋“ค์›จ์–ด์— ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฏธ๋“ค์›จ์–ด๋Š” ๋กœ๊น…, ๊ธฐ๋ณธ ์ธ์ฆ, ํ—ค๋” ์ˆ˜์ •์— ์ด์ƒ์ ์ž…๋‹ˆ๋‹ค. ์„ ์–ธ๋œ ์ˆœ์„œ๋Œ€๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

2

NestJS์—์„œ ์ธํ„ฐ์…‰ํ„ฐ๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๋‹ต๋ณ€

์ธํ„ฐ์…‰ํ„ฐ๋Š” NestInterceptor๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” @Injectable() ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ๊ฐ€ ๋ถ™์€ ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค. route handler ์‹คํ–‰ ์ „ํ›„๋กœ ์š”์ฒญ์„ ๊ฐ€๋กœ์ฑŒ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. RxJS๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ฒฐ๊ณผ ๋ณ€ํ™˜, ์—๋Ÿฌ ์ฒ˜๋ฆฌ, ์บ์‹ฑ ์ถ”๊ฐ€, ์„ฑ๋Šฅ ์ธก์ •, ์‘๋‹ต ๋กœ๊น…์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ธํ„ฐ์…‰ํ„ฐ๋Š” ๋ฏธ๋“ค์›จ์–ด๋ณด๋‹ค ์ „์ฒด ๋ผ์ดํ”„์‚ฌ์ดํด์— ๋Œ€ํ•ด ๋” ๋งŽ์€ ์ œ์–ด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

3

๋ฏธ๋“ค์›จ์–ด์™€ ์ธํ„ฐ์…‰ํ„ฐ์˜ ์ฃผ์š” ์ฐจ์ด์ ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๋‹ต๋ณ€

๋ฏธ๋“ค์›จ์–ด๋Š” handler ์ด์ „์— ์‹คํ–‰๋˜๋ฉฐ ์ตœ์ข… ์‘๋‹ต์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ธํ„ฐ์…‰ํ„ฐ๋Š” RxJS๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ ์‹คํ–‰ ์ „๊ณผ ํ›„ ๋ชจ๋‘์—์„œ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ์–ด ์‘๋‹ต ๋ณ€ํ™˜์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋ฏธ๋“ค์›จ์–ด๋Š” ์š”์ฒญ ๋กœ๊น…๊ณผ ๊ฐ™์€ ๊ธฐ๋ณธ ์ž‘์—…์— ๋” ๊ฐ„๋‹จํ•˜๋ฉฐ, ์ธํ„ฐ์…‰ํ„ฐ๋Š” ๋ฐ์ดํ„ฐ ๋ณ€ํ™˜, ์—๋Ÿฌ ์ฒ˜๋ฆฌ, ์บ์‹ฑ ๊ตฌํ˜„์— ๋” ๊ฐ•๋ ฅํ•ฉ๋‹ˆ๋‹ค.

4

NestJS์—์„œ ์ปดํฌ๋„ŒํŠธ๋Š” ์–ด๋–ค ์ˆœ์„œ๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๊นŒ?

5

NestJS์—์„œ ๋ฏธ๋“ค์›จ์–ด๋ฅผ ์ „์—ญ์œผ๋กœ ์ ์šฉํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ฉ๋‹ˆ๊นŒ?

+17 ๋ฉด์ ‘ ์งˆ๋ฌธ

๊ธฐํƒ€ Node.js / NestJS ๋ฉด์ ‘ ์ฃผ์ œ

Node.js ๊ธฐ์ดˆ

Junior
20๊ฐœ ์งˆ๋ฌธ

Node.js ์ฝ”์–ด API

Junior
25๊ฐœ ์งˆ๋ฌธ

๋น„๋™๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

Junior
25๊ฐœ ์งˆ๋ฌธ

Express.js ๊ธฐ์ดˆ

Junior
20๊ฐœ ์งˆ๋ฌธ

NestJS ๊ธฐ์ดˆ

Junior
23๊ฐœ ์งˆ๋ฌธ

REST API ์„ค๊ณ„

Junior
20๊ฐœ ์งˆ๋ฌธ

๊ฒ€์ฆ๊ณผ DTO

Junior
20๊ฐœ ์งˆ๋ฌธ

API ๋ฌธ์„œํ™” ๋ฐ ๊ณ„์•ฝ

Junior
20๊ฐœ ์งˆ๋ฌธ

์—๋Ÿฌ ์ฒ˜๋ฆฌ

Junior
20๊ฐœ ์งˆ๋ฌธ

๋‹จ์œ„ ํ…Œ์ŠคํŠธ

Junior
20๊ฐœ ์งˆ๋ฌธ

์ž‘์—… ์Šค์ผ€์ค„๋ง

Junior
15๊ฐœ ์งˆ๋ฌธ

NestJS ๋ชจ๋“ˆ๊ณผ DI

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

๊ตฌ์„ฑ ๋ฐ ํ™˜๊ฒฝ ๊ด€๋ฆฌ

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

JWT ์ธ์ฆ

Mid-Level
25๊ฐœ ์งˆ๋ฌธ

์ธ๊ฐ€ ๋ฐ RBAC

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

TypeORM์„ ์‚ฌ์šฉํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

Mid-Level
30๊ฐœ ์งˆ๋ฌธ

Prisma ORM

Mid-Level
25๊ฐœ ์งˆ๋ฌธ

ํŒŒ์ผ ์—…๋กœ๋“œ

Mid-Level
15๊ฐœ ์งˆ๋ฌธ

WebSockets

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

NestJS๋ฅผ ์‚ฌ์šฉํ•œ GraphQL

Mid-Level
25๊ฐœ ์งˆ๋ฌธ

์—”๋“œํˆฌ์—”๋“œ ํ…Œ์ŠคํŠธ

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

Redis๋ฅผ ์‚ฌ์šฉํ•œ ์บ์‹ฑ

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

Bull์„ ์‚ฌ์šฉํ•œ ํ

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

DevOps, Logging, CI/CD

Mid-Level
25๊ฐœ ์งˆ๋ฌธ

Docker ๋ฐ ์ปจํ…Œ์ด๋„ˆํ™”

Mid-Level
25๊ฐœ ์งˆ๋ฌธ

๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค

Senior
30๊ฐœ ์งˆ๋ฌธ

๋ณด์•ˆ ๋ชจ๋ฒ” ์‚ฌ๋ก€

Senior
25๊ฐœ ์งˆ๋ฌธ

์„ฑ๋Šฅ ๋ฐ ํด๋ผ์šฐ๋“œ ๋ฐฐํฌ

Senior
30๊ฐœ ์งˆ๋ฌธ

๋‹ค์Œ ๋ฉด์ ‘์„ ์œ„ํ•ด Node.js / NestJS์„ ๋งˆ์Šคํ„ฐํ•˜์„ธ์š”

๋ชจ๋“  ์งˆ๋ฌธ, flashcards, ๊ธฐ์ˆ  ํ…Œ์ŠคํŠธ, ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์—ฐ์Šต, ๋ฉด์ ‘ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์— ์ ‘๊ทผํ•˜์„ธ์š”.

๋ฌด๋ฃŒ๋กœ ์‹œ์ž‘ํ•˜๊ธฐ