
1. ๊ฐ์ ์๊ฐ ๋ฐ ๊ฐ์ข
์ด๋ก
NestJS ๊ฐ์๋ฅผ ํ์ตํ๊ธฐ ์ํ ๊ธฐ๋ณธ ์ง์๋ค์ ์ต๋ํฉ๋๋ค. ํค๋
ธํธ ๊ธฐ๋ฐ์ผ๋ก ์งํ๋๋ฉฐ ๋จ์ํ NestJS์ ๋ํ ๋ด์ฉ๋ฟ๋ง ์๋๋ผ ๋ฐฑ์๋ ์์ง๋์ด ๊ฐ์ด๋, Node.js ๊ฐ๋จ ์ค๋ฒ๋ทฐ ๋ฐ ๊ธฐ์ ์ ์ค๋ช
, HTTP, NestJS ์๊ฐ ๋ฑ ์ค๋ฌด๋ฅผ ์์ํ๊ธฐ ์ ์ ๊ผญ ํ์ํ ์ง์๋ค์ ๋ด์์ต๋๋ค.

2. ํ๊ฒฝ์ค์
NestJS๋ฅผ ๋ฐฐ์ฐ๊ธฐ ์ํด macOS์ Windows์์์ ํ๊ฒฝ์ค์ ์ ์งํํฉ๋๋ค.

3. Node.js์ Express๋ฅผ ์ด์ฉํ ์๋ฒ ๊ตฌ์ฑ
Node.js์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณตํด์ฃผ๋ ํจํค์ง์ธ HTTP๋ฅผ ์ด์ฉํด์ ์๋ฒ๋ฅผ ๊ตฌ์ฑํด๋ณด๊ณ NestJS๊ฐ ๋ด๋ถ์ ์ผ๋ก ์ฌ์ฉํ๊ณ ์๋ ๋
ธ๋ ์ธ๊ธฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ Express๋ฅผ ์ด์ฉํ ์๋ฒ ๊ตฌ์ฑ์ ๊ฐ๋จํ ์งํํด๋ณด๋ฉฐ ์ฅ๋จ์ ์ ์ดํด๋ด
๋๋ค.

4. ํ๋ก์ ํธ ์ปจ์
์ ๋ฆฌ
๊ฐ์์์ ์ฌ์ฉํ ์ธ์คํ๊ทธ๋จ SNS ์ปจ์
์ ๋ํด ์ค๋ช
ํฉ๋๋ค.

5. ์ปจํธ๋กค๋ฌ (Controller)
NestJS์ REST API๋ฅผ ๊ตฌ์ฑํ๋ ์ต์ ๋ฐฉ ์์ ์ค ํ๋์ธ ์ปจํธ๋กค๋ฌ์ ๋ํด ๋ฐฐ์๋ด
๋๋ค.

6. ์ฟผ๋ฆฌ์ ํ๋ผ๋ฏธํฐ (Query and Parameters)
์ปจํธ๋กค๋ฌ์์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ์ ์๋ ์ฌ๋ฌ ๋ฐฉ๋ฒ ์ค Query์ Parameter๋ฅผ ์ด์ฉํ ๋ฐฉ๋ฒ์ ๋ํด ๋ฐฐ์๋ด
๋๋ค.

7. ์๋น์ค (Service)
์ปจํธ๋กค๋ฌ์์ ์คํํ ๋ก์ง์ ๋ด๋นํ๋ ์๋น์ค๋ฅผ ๊ตฌํํด ๋ด
๋๋ค.

8. Module, Provider and Inversion of Control (IoC)
API๋ฅผ ๊ตฌ์ฑํ๋ ์ฌ๋ฌ ์ปดํฌ๋ํธ๋ค์ ํ๋๋ก ๋ฌถ๋ ์ญํ ์ธ ๋ชจ๋์ ๋ํด ๋ฐฐ์๋ณด๊ณ IoC ์ปจํ
์ด๋๋ฅผ ํตํ Provider Dependency Injection์ด ์ด๋ป๊ฒ ์ด๋ค์ง๋์ง ์์๋ด
๋๋ค.

9. SQL๊ณผ Docker
๋ค์คํธ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฐ๋ํ๊ธฐ ์ํ ๊ธฐ๋ณธ์ ์ธ SQL ์ง์์ ๋ฐฐ์๋๋ค. ์ถ๊ฐ๋ก Postgresql์ ์คํํ ๋ ์ฌ์ฉํ ๋์ปค ์ฌ์ฉ๋ฒ์ ๊ฐ๋จํ ๋ฐฐ์๋ด
๋๋ค.

10. TypeORM์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๋ํ๊ธฐ
๊ธฐ์กด ๋ฉ๋ชจ๋ฆฌ์์๋ง ๊ด๋ฆฌํ๋ ๋ฐ์ดํฐ๋ฅผ ์ฅ๊ธฐ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๋๋ก TypeORM์ ์ด์ฉํด Postgresql๊ณผ ์ฐ๋ํด ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๋ฐฐ์๋ด
๋๋ค.

11. TypeORM ์ด๋ก (๊ธฐ๋ฅ ์ ๋ฆฌ)
TypeORM ๊ธฐ๋ฅ์ ๋ํด ์ ๋ฐ์ ์ผ๋ก ์์๋ณด๋ ์ด๋ก ๊ฐ์์
๋๋ค. ํํ ์ฌ์ฉ๋๋ ํจ์๋ค๊ณผ ํ๋ผ๋ฏธํฐ๋ค์ ๋ํด ๋ฐฐ์๋๋ค.

12. Table Relation (๊ด๊ณ)
One to One Relationship, One to Many Relationship, Many to One Relationship, Many to Many Relationship์ ๋ํด ์ด๋ก ๊ณผ TypeORM์ ์ด์ฉํ ๊ตฌํ๋ฒ์ ๋ฐฐ์๋ด
๋๋ค.

13. ๋๋ฒ๊ฑฐ ์ฌ์ฉํ๊ธฐ
VSCode์์ NestJS ๋๋ฒ๊ฑฐ๋ฅผ ์ธํ
ํ๊ณ ๋๋ฒ๊ฑฐ๋ฅผ ์ด์ฉํด์ ๋๋ฒ๊น
์ ํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๋ฐฐ์๋ด
๋๋ค.

14. Authentication (์ธ์ฆ)
ํ ํฐ(Token)์ ์ด์ฉํ ์ธ์ฆ ์ ์ฐจ ๋ฐ ๋ก๊ทธ์ธ ํ์๊ฐ์
์์คํ
๊ตฌ์ถ๋ฒ์ ๋ํด ๋ฐฐ์๋ด
๋๋ค.

15. Pipe (ํ์ดํ)
๊ฐ์ ๊ฒ์ฆํ๊ณ ๋ณํํ๋ Pipe์ ๋ค์ํ ์ฌ์ฉ๋ฒ์ ํ๊ตฌํด๋ด
๋๋ค.

16. ์์์ ์ด์ฉํ BaseModel ๊ตฌํ
TypeORM์ผ๋ก ํ
์ด๋ธ์ ๊ตฌํํ ๋ ๋ฐ๋ณต๋๋ ํ๋กํผํฐ ๋ฐ Column์ ์์ฑํ์ง ์๋ ๋ฐฉ๋ฒ์ ๋ํด ๋ฐฐ์๋๋ค.

17. PgAdmin
PgAdmin์ ์ด์ฉํ Postgresql ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ
์ด๋ธ ์กฐํ๋ฒ์ ๋ํด ์์๋ด
๋๋ค.

18. Guard (๊ฐ๋)
์๋ํฌ์ธํธ์ ์ปจํธ๋กค๋ฌ๋ฅผ ๋ณดํธํ๋ ์ญํ ์ ํ๋ Guard์ ๋ํด ๋ฐฐ์๋ด
๋๋ค.

19. Custom Decorator (์ปค์คํ
๋ฐ์ฝ๋ ์ดํฐ)
์ง์ Decorator๋ฅผ ๋ง๋ค๊ณ ์ด๋ค ๋ก์ง๋ค์ Decorator๋ฅผ ์ด์ฉํด์ ๊ตฌํ ํด๋ณผ ์ ์๋์ง ํ๊ตฌํด๋ด
๋๋ค.

20. Postman ๊ธฐ๋ฅ ์ฌํ
๋จ์ํ ์์ฒญ์ ๋ณด๋ด๋ ๊ธฐ๋ฅ ์ธ์ ํ๊ฒฝ๋ณ์ ์ฌ์ฉ๋ฒ, Environment ์ค์ ๋ฒ, Test ์ค์ ๋ฒ, ํ ํฐ ํ์ฌ๋ฒ ๋ฑ API ํ
์คํธ๋ฅผ ๋์ฑ ํจ์จ์ ์ผ๋ก ๋ง๋ค์ด์ฃผ๋ ๊ธฐ๋ฅ๋ค์ ๋ฐฐ์๋ด
๋๋ค.

21. Class Validator
ํด๋์ค์ ํ๋กํผํฐ๋ฅผ Decorator๋ฅผ ์ด์ฉํด์ ๊ฒ์ฆํ ์ ์๋ ๊ธฐ๋ฅ์ธ Class Validator์ ๋ํด์ ๋ฐฐ์๋ด
๋๋ค.

22. Class Transformer
ํด๋์ค ํ๋กํผํฐ๋ฅผ Decorator๋ฅผ ์ด์ฉํด์ ๋ณํํ ์ ์๋ ๊ธฐ๋ฅ์ธ Class Transformer์ ๋ํด์ ๋ฐฐ์๋ด
๋๋ค.

23. Pagination ๊ธฐ๋ณธ๊ธฐ - Cursor Pagination
์ปค์ ๊ธฐ๋ฐ ํ์ด์ง๋ค์ด์
์ ๊ตฌํํ๋ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ๋ฒ์ ๋ํด ๋ฐฐ์๋ด
๋๋ค.

24. Pagination ๊ธฐ๋ณธ๊ธฐ - Page Pagination
ํ์ด์ง ๊ธฐ๋ฐ ํ์ด์ง๋ค์ด์
์ ๊ตฌํํ๋ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ๋ฒ์ ๋ํด ๋ฐฐ์๋ด
๋๋ค.

25. Pagination ์ฌํ - ์ผ๋ฐํ ํ๊ธฐ
๋ค์ํ ์๋ํฌ์ธํธ์์ ์ฝ๊ฒ ํ์ด์ง๋ค์ด์
์ ๊ตฌํ ํ ์ ์๋๋ก ๋ก์ง์ ์ผ๋ฐํํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๋ฐฐ์๋ด
๋๋ค.

26. Config ๋ชจ๋ ์ฌ์ฉํ๊ธฐ
NestJS ํ๋ ์์ํฌ์ ํ๊ฒฝ ๋ณ์๋ฅผ ์ฃผ์
ํ ์ ์๋ ๋ฐฉ๋ฒ์ธ Config ๋ชจ๋ ์ฌ์ฉ๋ฒ์ ๋ํด ๋ฐฐ์๋ด
๋๋ค.

27. File Upload - ํด๋์ ๋ฐฉ๋ฒ
๊ฐ์ฅ ํด๋์ํ ํ์ผ ์
๋ก๋ ๋ฐฉ๋ฒ์ ๋ํด ๋ฐฐ์๋ด
๋๋ค.

28. Static File Serving (์คํํฑ ํ์ผ ์๋นํ๊ธฐ)
NestJS์์ ์คํํฑ ํ์ผ์ ์ธ๋ถ๋ก ์๋นํ ์ ์๋ ์ธํ
๋ฒ์ ๋ํด ๋ฐฐ์๋ด
๋๋ค. ์ด์ ์น์
๊ณผ ์ฐ๊ณ๋์ด ์
๋ก๋ํ ํ์ผ์ ๋งํฌ๋ฅผ ํตํด ์กฐํํ๋ ๋ฐฉ๋ฒ์ ์์๋ด
๋๋ค.

29. ํ์ผ ์
๋ก๋ - ์ ์
๋ก๋ ๋ฐฉ๋ฒ
Form Data๋ก ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ํ๋ฒ์ ๋ฌถ๋ ํํ๊ฐ ์๋ ํ์ผ์ ๋จผ์ ์
๋ก๋ํ ํ ํ์ผ์ ๊ฒฝ๋ก๋ง ์ ๊ณตํด์ ํด๋์ํ ๋ฐฉ๋ฒ๋ณด๋ค ๋น๊ต์ ๋น ๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก ํ์ผ ์
๋ก๋๋ฅผ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ด
๋๋ค.

30. Transaction (ํธ๋์ญ์
)
All or Nothing ๊ธฐ๋ฅ์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํธ๋์ ์
๊ธฐ๋ฅ์ TypeORM์ ์ด์ฉํด์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ด
๋๋ค.

31. Interceptor (์ธํฐ์
ํฐ)
NestJS์ ์ธํฐ์
ํฐ ์ฌ์ฉ ๋ฐฉ๋ฒ๊ณผ ๊ฐ๋จํ RxJS ์ฌ์ฉ๋ฒ์ ๋ํด ์์๋ด
๋๋ค. ์ฌ์ฉํ๊ธฐ ์ข์ ์์ ๋ก ํธ๋์ญ์
์ ์ธํฐ์
ํฐ๋ก ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ด
๋๋ค.

32. Exception Filter (์ต์
์
ํํฐ)
NestJS์์ ๋ํ์ ์ผ๋ก ์์ธ ์ฒ๋ฆฌ๋ฅผ ํ๋ ๋ฐฉ๋ฒ์ธ Exception Filter ์ฌ์ฉ๋ฒ์ ๋ํด ์์๋ด
๋๋ค.

33. Middleware (๋ฏธ๋ค์จ์ด)
NestJS์ ๋ค์ด์ค๋ ์์ฒญ์ ๊ฐ์ฅ ๋จผ์ ์ ์ฉ๋๋ ๋ฏธ๋ค์จ์ด์ ๋ํด ์์๋ด
๋๋ค.

34. Websocket Socket.IO - ๊ธฐ๋ณธ๊ธฐ
Socket.IO ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ์ ๋ํด ์์๋ด
๋๋ค.

35. Websocket Socket.IO - ์ฌํ
NestJS์์ ์ ๊ณตํด ์ฃผ๋ Socket IO ๊ด๋ จ ๊ฐ์ข
Decorator์ ๋ํด ์์๋ด
๋๋ค.

36. ๋ชจ๋ ๋ค์คํ
Post - Comment ์์ ๋ฅผ ์ด์ฉํด์ ํ์ ๋ชจ๋ ์์ฑ์ ๋ํ ํ์์ฑ์ ์์๋ด
๋๋ค.

37. RBAC - Role Based Access Control
์ด๋๋ฏผ ํ์ด์ง ๊ด๋ จ ์๋ฒ ๊ธฐ๋ฅ์ ์ ์ํ ๋ ํนํ๋ ์ค์ํ RBAC ๊ธฐ๋ฐ์ API๋ฅผ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ด
๋๋ค.

38. Authorization
NestJS ์คํ์ผ๋ก ๊ถํ ๋ถ์ฌ ๊ธฐ๋ฅ์ ์ ์ํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ด
๋๋ค.

39. Following System
ํ๋ก์ ์์คํ
์ ๊ตฌํํด ๋ด
๋๋ค.

40. Follow Count, Comment Count ์์
ํ๊ธฐ
๊ฐ์ข
Count ๊ธฐ๋ฅ ๊ด๋ จ ๋ก์ง์ ๊ตฌํํด ๋ด
๋๋ค.