ÄÜÅÙÃ÷ »ó¼¼º¸±â
NestJS


NestJS

NestJS

<¿Â°³¹ßÆÀ> Àú | ¿Â³ëÆ®

Ãâ°£ÀÏ
2024-04-23
ÆÄÀÏÆ÷¸Ë
ePub
¿ë·®
1 M
Áö¿ø±â±â
PC½º¸¶Æ®ÆùÅÂºí¸´PC
ÇöȲ
½Åû °Ç¼ö : 0 °Ç
°£·« ½Åû ¸Þ¼¼Áö
ÄÜÅÙÃ÷ ¼Ò°³
¸ñÂ÷
ÇÑÁÙ¼­Æò

ÄÜÅÙÃ÷ ¼Ò°³

Áøº¸ÀûÀÎ Node.js ÇÁ·¹ÀÓ¿öÅ©ÀÎ NestJS·Î °­·ÂÇÏ°í È®Àå °¡´ÉÇÑ ¼­¹ö Ãø ¾ÖÇø®ÄÉÀ̼ÇÀ» ±¸ÃàÇϱâ À§ÇÑ Á¾ÇÕ °¡À̵åÀÎ "NestJS"¿¡ ¿À½Å °ÍÀ» ȯ¿µÇÕ´Ï´Ù. NestJS´Â °´Ã¼ ÁöÇâ ÇÁ·Î±×·¡¹Ö, ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö, ¹ÝÀÀÇü ÇÁ·Î±×·¡¹ÖÀÇ ÃÖ°íÀÇ ¿ä¼Ò¸¦ °áÇÕÇÏ¿© ¼­¹ö Ãø ¾ÖÇø®ÄÉÀ̼ÇÀ» ±¸ÃàÇÒ ¼ö ÀÖ´Â °­·ÂÇÏ°í À¯¿¬ÇÑ Ç÷§ÆûÀ» Á¦°øÇÕ´Ï´Ù.

1Àå, 'NestJS ¼Ò°³'¿¡¼­´Â Á¤ÀÇ, ÇÙ½É ±â´É, ÀåÁ¡ ¹× Á¦ÇÑ »çÇ× µî NestJS¿¡ ´ëÇÑ °³¿ä¸¦ Á¦°øÇÕ´Ï´Ù. °³¹ß ȯ°æ¿¡ NestJS¸¦ ¼³Ä¡ÇÏ°í ¼³Á¤ÇÏ´Â ¹æ¹ýÀ» ¹è¿ì¸é¼­ ¾ÖÇø®ÄÉÀ̼ÇÀ» ±¸ÃàÇÒ Áغñ¸¦ ÇÕ´Ï´Ù.

2Àå, 'NestJSÀÇ ±âÃÊ'¿¡¼­´Â NestJSÀÇ ±âº» °³³äÀ» ´Ù·ì´Ï´Ù. ¸ðµâ, ÄÁÆ®·Ñ·¯, ÇÁ·Î¹ÙÀÌ´õ, ¹Ìµé¿þ¾î, ¿¹¿Ü ÇÊÅÍ, ÆÄÀÌÇÁ, °¡µå ¹× ÀÎÅͼÁÅÍ¿¡ ´ëÇØ »ìÆ캾´Ï´Ù. ÀÌ·¯ÇÑ °³³äÀº NestJS ¾ÖÇø®ÄÉÀ̼ÇÀÇ ºôµù ºí·ÏÀ» Çü¼ºÇÏ¿© Äڵ带 È¿°úÀûÀ¸·Î ±¸Á¶È­ÇÏ°í ±¸¼ºÇÒ ¼ö ÀÖ°Ô ÇØÁÝ´Ï´Ù.

3Àå, 'NestJS¿Í µ¥ÀÌÅͺ£À̽º'¿¡¼­´Â NestJS¿Í µ¥ÀÌÅͺ£À̽º¸¦ ÅëÇÕÇÏ´Â µ¥ ÁßÁ¡À» µÓ´Ï´Ù. DataMapper¿Í ActiveRecord¸¦ ºñ·ÔÇÑ ´Ù¾çÇÑ µ¥ÀÌÅÍ ¸ÅÇÎ Àü·«¿¡ ´ëÇØ ¾Ë¾Æº¸°í, TypeScript¿Í JavaScript¸¦ À§ÇÑ °­·ÂÇÑ °´Ã¼ °ü°èÇü ¸ÅÇÎ(ORM) ¶óÀ̺귯¸®ÀÎ TypeORM¿¡ ´ëÇØ ¼Ò°³ÇÕ´Ï´Ù. ±×·± ´ÙÀ½ NestJS¸¦ µ¥ÀÌÅͺ£À̽º¿¡ ¿¬°áÇÏ°í °£´ÜÇÑ CRUD ÀÛ¾÷À» ±¸ÇöÇÕ´Ï´Ù.

4Àå, 'NestJSÀÇ ÀÎÁõ'¿¡¼­´Â NestJS ¾ÖÇø®ÄÉÀ̼ǿ¡¼­ ÀÎÁõ ¸ÞÄ¿´ÏÁòÀ» ±¸ÇöÇÏ´Â ¹æ¹ýÀ» »ìÆ캾´Ï´Ù. ³Î¸® »ç¿ëµÇ´Â Passport.js ¶óÀ̺귯¸®¸¦ »ìÆ캸°í JWT ÀÎÁõÀ» ±¸ÇöÇÏ°í, °¡µå¸¦ »ç¿ëÇÏ¿© ¿£µåÆ÷ÀÎÆ®¸¦ º¸È£ÇÏ°í, ÄíÅ°¿Í ¼¼¼ÇÀ» ÀÎÁõ¿¡ »ç¿ëÇÏ´Â ¹æ¹ýÀ» ¹è¿ó´Ï´Ù.

5Àå, 'NestJS¿Í Å×½ºÆ®'¿¡¼­´Â NestJS ¾ÖÇø®ÄÉÀ̼ÇÀÇ Å×½ºÆ® ¹æ¹ý·ÐÀ» ´Ù·ì´Ï´Ù. À¯¿ëÇÑ JavaScript Å×½ºÆ® ÇÁ·¹ÀÓ¿öÅ©ÀÎ Jest¸¦ »ç¿ëÇÏ¿© NestJS ¾ÖÇø®ÄÉÀ̼ǿ¡ ´ëÇÑ ´ÜÀ§ Å×½ºÆ®¿Í ¿£µåÅõ¿£µå(E2E) Å×½ºÆ®¸¦ ÀÛ¼ºÇÏ¿© ¾ÈÁ¤¼º°ú °ß°í¼ºÀ» º¸ÀåÇÒ ¼ö ÀÖ½À´Ï´Ù.

6Àå, 'NestJS¿Í ¸¶ÀÌÅ©·Î¼­ºñ½º'¿¡¼­´Â ¸¶ÀÌÅ©·Î¼­ºñ½º ¾ÆÅ°ÅØóÀÇ ¼¼°è¿Í NestJS°¡ ¸¶ÀÌÅ©·Î¼­ºñ½º ±â¹Ý ¾ÖÇø®ÄÉÀÌ¼Ç ±¸ÃàÀ» ¿ëÀÌÇÏ°Ô ÇÏ´Â ¹æ¹ýÀ» »ìÆ캾´Ï´Ù. ¸¶ÀÌÅ©·Î¼­ºñ½ºÀÇ ¿ø¸®¿¡ ´ëÇØ ¾Ë¾Æº¸°í, ¸¶ÀÌÅ©·Î¼­ºñ½º °£ÀÇ Åë½ÅÀ» À§ÇØ Redis¸¦ »ç¿ëÇÏ°í, °£´ÜÇÑ ¸¶ÀÌÅ©·Î¼­ºñ½º ¾ÖÇø®ÄÉÀ̼ÇÀ» ºôµåÇÕ´Ï´Ù.

7Àå, '¹èÆ÷ ¹× À¯Áö °ü¸®'¿¡¼­´Â NestJS ¾ÖÇø®ÄÉÀ̼ÇÀ» ÇÁ·Î´ö¼Ç ȯ°æ¿¡ ¹èÆ÷ÇÏ°í À¯Áö °ü¸®ÇÏ´Â µ¥ ÁßÁ¡À» µÓ´Ï´Ù. Docker¸¦ »ç¿ëÇÑ ÄÁÅ×À̳ÊÈ­, Ŭ¶ó¿ìµå Ç÷§Æû¿¡ ¾ÖÇø®ÄÉÀÌ¼Ç ¹èÆ÷, ¶óÀ̺ê NestJS ¾ÖÇø®ÄÉÀÌ¼Ç À¯Áö °ü¸® ¹× ¾÷µ¥ÀÌÆ®¸¦ À§ÇÑ ¸ð¹ü »ç·Ê¿¡ ´ëÇØ ¾Ë¾Æº¾´Ï´Ù.

8Àå, 'NestJS·Î ½ÇÁ¦ ¾ÖÇø®ÄÉÀÌ¼Ç ºôµåÇϱâ'¿¡¼­´Â NestJS·Î ½ÇÁ¦ ¾ÖÇø®ÄÉÀ̼ÇÀ» ºôµåÇÏ´Â ½Ç¿ëÀûÀÎ °úÁ¤À» »ìÆ캾´Ï´Ù. ¾ÖÇø®ÄÉÀ̼ÇÀ» °èȹÇÏ°í, NestJS¸¦ »ç¿ëÇÏ¿© ¹é¿£µå¸¦ °³¹ßÇÏ°í, ÇÁ·ÐÆ®¿£µå¸¦ °³¹ßÇÏ°í, ¾ÖÇø®ÄÉÀ̼ÇÀ» Å×½ºÆ®ÇÏ°í, ÇÁ·Î´ö¼Ç¿¡ ¹èÆ÷ÇÏ´Â ¹æ¹ýÀ» ¹è¿ì°Ô µË´Ï´Ù.

ÀÌ Ã¥À» ´Ù ÀÐ°í ³ª¸é NestJS¿Í ±× »ýÅ°踦 È®½ÇÈ÷ ÀÌÇØÇÏ°Ô µÇ¾î °­·ÂÇÏ°í È®Àå °¡´ÉÇϸç À¯Áö °ü¸®°¡ ½¬¿î ¼­¹ö Ãø ¾ÖÇø®ÄÉÀ̼ÇÀ» ±¸ÃàÇÒ ¼ö ÀÖ°Ô µÉ °ÍÀÔ´Ï´Ù. ÀÌÁ¦ ÇÔ²² NestJS¸¦ ¸¶½ºÅÍÇϱâ À§ÇÑ ¿©Á¤À» ½ÃÀÛÇϼ¼¿ä!

¸ñÂ÷

1Àå : NestJS ¼Ò°³
___1. Á¤ÀÇ ¹× °³¿ä
___2. NestJS »ç¿ëÀÇ ÀÌÁ¡ ¹× Á¦ÇÑ »çÇ×
___3. ¼³Ä¡ ¹× ¼³Á¤
2Àå : NestJSÀÇ ±âº» »çÇ×
___1. ¸ðµâ
___2. ÄÁÆ®·Ñ·¯
___3. ÇÁ·Î¹ÙÀÌ´õ
___4. ¹Ìµé¿þ¾î
___5. ¿¹¿Ü ÇÊÅÍ
___6. ÆÄÀÌÇÁ
___7. °¡µå
___8. ÀÎÅͼÁÅÍ
3Àå : NestJS¿Í µ¥ÀÌÅͺ£À̽º
___1. DataMapper ¹× ActiveRecord ÀÌÇØ
___2. TypeORM ¼Ò°³
___3. NestJS¸¦ µ¥ÀÌÅͺ£À̽º¿¡ ¿¬°áÇϱâ
___4. °£´ÜÇÑ CRUD ÀÛ¾÷ »ý¼ºÇϱâ
4Àå : NestJS¿¡¼­ ÀÎÁõÇϱâ
___1. Passport.js ¼Ò°³
___2. JWT ÀÎÁõ ±¸ÇöÇϱâ
___3. °¡µå¸¦ »ç¿ëÇÏ¿© ¿£µåÆ÷ÀÎÆ® º¸È£
___4. ÄíÅ° ¹× ¼¼¼Ç »ç¿ë
5Àå : NestJS ¹× Å×½ºÆ®
___1. Jest·Î ÀÛ¾÷Çϱâ
___2. NestJSÀÇ ´ÜÀ§ Å×½ºÆ®
___3. ¿£µåÅõ¿£µå(E2E) Å×½ºÆ®
6Àå : NestJS¿Í ¸¶ÀÌÅ©·Î¼­ºñ½º
___1. ¸¶ÀÌÅ©·Î¼­ºñ½º ÀÌÇØ
___2. Redis »ç¿ë
___3. °£´ÜÇÑ ¸¶ÀÌÅ©·Î¼­ºñ½º ¾ÖÇø®ÄÉÀÌ¼Ç ±¸Ãà
7Àå : ¹èÆ÷ ¹× À¯Áö °ü¸®
___1. µµÄ¿¸¦ »ç¿ëÇÑ ÄÁÅ×À̳ÊÈ­
___2. Ŭ¶ó¿ìµå Ç÷§Æû¿¡ ¹èÆ÷
___3. ¶óÀ̺ê NestJS ¾Û À¯Áö °ü¸® ¹× ¾÷µ¥ÀÌÆ®¸¦ À§ÇÑ ¸ð¹ü »ç·Ê
8Àå : NestJS·Î ½ÇÁ¦ ¾ÖÇø®ÄÉÀÌ¼Ç ±¸ÃàÇϱâ
___1. ¾ÖÇø®ÄÉÀÌ¼Ç °èȹÇϱâ
___2. ¹é¿£µå °³¹ßÇϱâ
___3. ÇÁ·ÐÆ®¿£µå °³¹ßÇϱâ
___4. ¾ÖÇø®ÄÉÀÌ¼Ç Å×½ºÆ®Çϱâ
___5. ¾ÖÇø®ÄÉÀÌ¼Ç ¹èÆ÷