ÄÜÅÙÃ÷ »ó¼¼º¸±â
React.js, ½ºÇÁ¸µ ºÎÆ®, AWS·Î ¹è¿ì´Â À¥ °³¹ß 101 2/e


React.js, ½ºÇÁ¸µ ºÎÆ®, AWS·Î ¹è¿ì´Â À¥ °³¹ß 101 2/e

React.js, ½ºÇÁ¸µ ºÎÆ®, AWS·Î ¹è¿ì´Â À¥ °³¹ß 101 2/e

<±è´ÙÁ¤> Àú | ¿¡ÀÌÄÜÃâÆÇ»ç

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

ÄÜÅÙÃ÷ ¼Ò°³

´Ù¼öÀÇ »ç¿ëÀÚ¸¦ Áö¿øÇÏ´Â Todo À¥ ¾ÖÇø®ÄÉÀ̼ÇÀ» ±¸ÇöÇÏ°í ¹èÆ÷ÇÑ´Ù. ¶ÇÇÑ ÇöÀå¿¡¼­ ¸¹ÀÌ »ç¿ëÇÏ´Â ÇÁ·ÐÆ®¿£µå¿Í ¹é¿£µå ¼­¹ö°¡ ºÐ¸®µÈ ¾ÆÅ°ÅØó(Decoupled Architecture)¸¦ ±¸ÇöÇÑ´Ù. ¶ÇÇÑ ¹èÆ÷ ½Ã ´Ü¼øÈ÷ ·ÎÄà ȯ°æÀ̳ª Àӽà HTTP ¼­¹ö·Î ¹èÆ÷ÇÏ´Â µ¥ ±×Ä¡Áö ¾Ê°í, HTTPS ÀÎÁõ¼­ ¼³Á¤, ·Îµå ¹ë·±¼­, ¿ÀÅä ½ºÄÉÀϸµ ±×·ì µî AWS Ŭ¶ó¿ìµå ¼­ºñ½º¸¦ »ç¿ëÇØ ½ÇÁ¦ ¼­ºñ½º ¿î¿µ¿¡ ÇÊ¿äÇÑ ¹èÆ÷, ½ºÄÉÀϸµ ±â¼úÀ» Àü´ÞÇÑ´Ù. ÀÌ Ã¥À» ÅëÇØ ½ºÇÁ¸µ ºÎÆ®¿Í ¸®¾×Æ®¸¦ ÀÌ¿ëÇØ ¾ÖÇø®ÄÉÀ̼ÇÀ» ±¸ÇöÇϸ鼭 È®Àå °¡´ÉÇÑ ¾ÆÅ°ÅØó¸¦ ±¸ÃàÇÏ°í ¿î¿µÇغ¼ ¼ö ÀÖ´Ù. 2ÆÇ¿¡¼­´Â OAuth 2.0¸¦ ÀÌ¿ëÇØ ¼Ò¼È ·Î±×ÀÎ ±â´ÉÀ» ±¸ÇöÇÏ´Â ³»¿ëÀ» Ãß°¡Çß´Ù.

ÀúÀÚ¼Ò°³

°Ç±¹´ëÇб³ ÄÄÇ»ÅÍ °øÇкθ¦ Á¹¾÷ÇÑ ÈÄ ¹Ì±¹ LA¿¡¼­ À¥ °³¹ßÀ» ½ÃÀÛÇß´Ù. ÇöÀç´Â ¾Æ¸¶Á¸ À¥ ¼­ºñ½º¿¡¼­ ¼­¹ö¸®½º ¼­ºñ½º¸¦ ±¸ÇöÇÏ´Â ºÐ»ê ½Ã½ºÅÛÀ» °³¹ßÇÏ°í ÀÖ´Ù. ¿©°¡ ½Ã°£¿¡´Â ºí·Î±× »ß¸á ¼ÒÇÁÆ®¿þ¾î ¿£Áö´Ï¾î¸µ(http://cselabnotes.com/kr/)À» ÅëÇØ °³¹ß¿¡ °ü·ÃµÈ ¿©·¯ °¡Áö ¼ÒÇÁÆ®¿þ¾î ¿£Áö´Ï¾î¸µ °ü·Ã ±â¼ú°ú Áö½ÄÀ» ³ª´«´Ù.

¸ñÂ÷

1Àå. °³¹ßÀ» ½ÃÀÛÇϱâ Àü¿¡
1.1 ÀÌ Ã¥À» Àд ¹æ¹ý
1.1.1 ¿¹Á¦¿Í ½Ç½À ÄÚµå
1.1.2 ¼Ò½º ÄÚµå
1.1.3 Ä¿¸Çµå¶óÀÎ ÀÎÅÍÆäÀ̽º
1.1.4 Á¤¸®
1.2 Todo À¥ ¾ÖÇø®ÄÉÀ̼Ç
1.2.1 Todo À¥ ¾ÖÇø®ÄÉÀÌ¼Ç ±â´É
1.2.2 Todo À¥ ¾ÖÇø®ÄÉÀÌ¼Ç ¾ÆÅ°ÅØó
1.2.3 ±â¼ú°ú ±¸Çö »çÀÌ
1.2.4 Á¤¸®
1.3 ¹è°æÁö½Ä
1.3.1 ÇÏÀÌÆÛÅؽºÆ® Æ®·£½ºÆÛ ÇÁ·ÎÅäÄÝ
1.3.2 ÀÚ¹Ù½ºÅ©¸³Æ® ¿ÀºêÁ§Æ® ³ëÅ×À̼Ç
1.3.3 ¼­¹ö¶õ?
1.3.4 Á¤Àû À¥ ¼­¹ö
1.3.5 µ¿Àû À¥ ¼­¹ö
1.3.6 ÀÚ¹Ù ¼­ºí¸´ ÄÁÅ×À̳Ê/¿£Áø
1.3.7 Á¤¸®


2Àå. ¹é¿£µå °³¹ß
2.1 ¹é¿£µå °³¹ß ȯ°æ ¼³Á¤
2.1.1 Amazon Corretto 11 ¼³Ä¡
2.1.2 ÀÌŬ¸³½º ¼³Ä¡
2.1.3 ½ºÇÁ¸µ ÇÁ·¹ÀÓ¿öÅ©¿Í ÀÇÁ¸¼º ÁÖÀÔ
2.1.4 ½ºÇÁ¸µ ÇÁ·¹ÀÓ¿öÅ©¿Í µð½ºÆÐÃÄ ¼­ºí¸´
2.1.5 ½ºÇÁ¸µ ºÎÆ® ÇÁ·ÎÁ§Æ® ¼³Á¤
2.1.6 ¸ÞÀÎ ¸Þ¼­µå¿Í @SpringBootApplication
2.1.7 ºôµå ÀÚµ¿È­ Åø: Gradle°ú ¶óÀ̺귯¸®
2.1.8 µðÆæ´ø½Ã ¶óÀ̺귯¸® Ãß°¡
2.1.9 ·Òº¹
2.1.10 Æ÷½ºÆ®¸Ç API Å×½ºÆ®
2.1.11 Á¤¸®
2.2 ¹é¿£µå ¼­ºñ½º ¾ÆÅ°ÅØó
2.2.1 ·¹À̾îµå ¾ÆÅ°ÅØó
2.2.2 ¸ðµ¨, ¿£Æ¼Æ¼, DTO
2.2.3 REST API
2.2.4 ÄÁÆ®·Ñ·¯ ·¹À̾î : ½ºÇÁ¸µ REST API ÄÁÆ®·Ñ·¯
2.2.5 ¼­ºñ½º ·¹À̾î : ºñÁî´Ï½º ·ÎÁ÷
2.2.6 Æ۽ýºÅϽº ·¹À̾î : ½ºÇÁ¸µ µ¥ÀÌÅÍ JPA
2.2.7 Á¤¸®
2.3 ¼­ºñ½º °³¹ß ¹× ½Ç½À
2.3.1 Create Todo ±¸Çö
2.3.2 Retrieve Todo ±¸Çö
2.3.3 Update Todo ±¸Çö
2.3.4 Delete Todo ±¸Çö
2.3.5 Á¤¸®


3Àå. ÇÁ·ÐÆ®¿£µå °³¹ß
3.1 ÇÁ·ÐÆ®¿£µå °³¹ß ȯ°æ ¼³Á¤
3.1.1 Node
3.1.2 ºñÁÖ¾ó ½ºÆ©µð¿À ÄÚµå ¼³Ä¡
3.1.3 ÇÁ·ÐÆ®¿£µå ¾ÖÇø®ÄÉÀÌ¼Ç »ý¼º
3.1.4 material-ui ÆÐÅ°Áö ¼³Ä¡
3.1.5 ºê¶ó¿ìÀúÀÇ ÀÛµ¿ ¿ø¸®
3.1.6 React
3.1.7 Á¤¸®
3.2 ÇÁ·ÐÆ®¿£µå ¼­ºñ½º °³¹ß
3.2.1 Todo ¸®½ºÆ®
3.2.2 Todo Ãß°¡
3.2.3 Todo »èÁ¦
3.2.4 Todo ¼öÁ¤
3.2.5 Á¤¸®
3.3 ¼­ºñ½º ÅëÇÕ
3.3.1 CORS
3.3.2 Effect HookÀ» ÀÌ¿ëÇÑ Todo ¸®½ºÆ® ÃʱâÈ­
3.3.3 fetch
3.3.4 Á¤¸®


4Àå. ÀÎÁõ ¹é¿£µå ÅëÇÕ
4.1 REST API ÀÎÁõ ±â¹ý
4.1.1 Basic ÀÎÁõ
4.1.2 ÅäÅ« ±â¹Ý ÀÎÁõ
4.1.3 JSON À¥ ÅäÅ«
4.1.4 Á¤¸®
4.2 User ·¹ÀÌ¾î ±¸Çö
4.2.1 UserEntity
4.2.2 UserRepository
4.2.3 UserService
4.2.4 UserController
4.2.5 Á¤¸®
4.3 ½ºÇÁ¸µ ½ÃÅ¥¸®Æ¼ ÅëÇÕ
4.3.1 JWT »ý¼º ¹× ¹Ýȯ ±¸Çö
4.3.2 ½ºÇÁ¸µ ½ÃÅ¥¸®Æ¼¿Í ¼­ºí¸´ ÇÊÅÍ
4.3.3 JWT¸¦ ÀÌ¿ëÇÑ ÀÎÁõ ±¸Çö
4.3.4 ½ºÇÁ¸µ ½ÃÅ¥¸®Æ¼ ¼³Á¤
4.3.5 TodoController¿¡¼­ ÀÎÁõµÈ À¯Àú »ç¿ëÇϱâ
4.3.6 Æнº¿öµå ¾Ïȣȭ
4.3.7 Á¤¸®


5Àå. ÀÎÁõ ÇÁ·ÐÆ®¿£µå ÅëÇÕ
5.1 ¶ó¿ìÆÃ
5.1.1 react-router-dom
5.1.2 react-router-dom ¶óÀ̺귯¸®°¡ ÇÊ¿äÇÑ ÀÌÀ¯
5.1.3 ·Î±×ÀÎ ÄÄÆ÷³ÍÆ®
5.1.5 Á¤¸®
5.2 ·Î±×ÀÎ ÆäÀÌÁö
5.2.1 ·Î±×ÀÎÀ» À§ÇÑ API ¼­ºñ½º ¸Þ¼­µå ÀÛ¼º
5.2.2 ·Î±×Àο¡ ¼º°ø
5.2.3 Á¤¸®
5.3 ·ÎÄà ½ºÅ丮Áö¸¦ ÀÌ¿ëÇÑ ¾×¼¼½º ÅäÅ« °ü¸®
5.3.1 ·ÎÄà ½ºÅ丮Áö
5.3.2 ¾×¼¼½º ÅäÅ« ÀúÀå
5.3.3 Á¤¸®
5.4 ·Î±×¾Æ¿ô°ú ±Û¸®Ä¡ ÇØ°á
5.4.1 ·Î±×¾Æ¿ô ¼­ºñ½º
5.4.2 ³×ºñ°ÔÀÌ¼Ç ¹Ù¿Í ·Î±×¾Æ¿ô
5.4.3 UI ±Û¸®Ä¡ ÇØ°á
5.4.4 Á¤¸®
5.5 °èÁ¤ »ý¼º ÆäÀÌÁö
5.5.1 °èÁ¤ »ý¼º ·ÎÁ÷
5.5.2 Á¤¸®


6Àå. ÇÁ·Î´ö¼Ç ¹èÆ÷
6.1 ¼­ºñ½º ¾ÆÅ°ÅØó
6.1.1 EC2
6.1.2 ¶ó¿ìÆ® 53 - DNS
6.1.3 ¾ÖÇø®ÄÉÀÌ¼Ç ·Îµå ¹ë·±¼­
6.1.4 ¿ÀÅä ½ºÄÉÀϸµ ±×·ì
6.1.5 VPC¿Í ¼­ºê³Ý
6.1.6 ÀÏ·¡½ºÆ½ ºó½ºÅå
6.1.7 Á¤¸®
6.2 AWS CLI¿Í EB CLI ¼³Ä¡
6.2.1 AWS °èÁ¤ »ý¼º
6.2.2 ÆÄÀ̽㠼³Ä¡
6.2.3 AWS CLI ¼³Ä¡
6.2.4 AWS CLI ¼³Á¤
6.2.5 pipÀ» ÀÌ¿ëÇØ EB CLI ¼³Ä¡
6.2.6 À©µµ¿ì »ç¿ëÀÚ¸¦ À§ÇÑ È¯°æ º¯¼ö ¼³Á¤
6.2.7 Á¤¸®
6.3 AWS ÀÏ·¡½ºÆ½ºó½ºÅåÀ» ÀÌ¿ëÇÑ ¹é¿£µå¹èÆ÷
6.3.1 ÀÏ·¡½ºÆ½ ºó½ºÅåÀ̶õ?
6.3.2 eb initÀ» ÀÌ¿ëÇØ ¾ÖÇø®ÄÉÀÌ¼Ç »ý¼º
6.3.3 ¹é¿£µå ¾ÖÇø®ÄÉÀÌ¼Ç ¼³Á¤
6.3.4 eb create¸¦ ÀÌ¿ëÇØ AWS¿¡ ȯ°æ »ý¼º
6.3.5 ¾ÖÇø®ÄÉÀÌ¼Ç ¹èÆ÷
6.3.6 ȯ°æ ±¸¼º
6.3.7 ¿£µåÆ÷ÀÎÆ® Å×½ºÆÃ
6.3.8 ÇÁ·ÐÆ®¿£µå ÅëÇÕ Å×½ºÆÃ
6.3.9 Á¤¸®
6.4 AWS ÀÏ·¡½ºÆ½ºó½ºÅåÀ» ÀÌ¿ëÇÑ ÇÁ·ÐÆ®¿£µå ¹èÆ÷
6.4.1 eb initÀ» ÀÌ¿ëÇØ ¾ÖÇø®ÄÉÀÌ¼Ç »ý¼º
6.4.2 eb createÀ» ÀÌ¿ëÇÑ ¾ÖÇø®ÄÉÀÌ¼Ç ¹èÆ÷
6.4.3 Å©·Î½º-¿À¸®Áø ¹®Á¦
6.4.4 Á¤¸®
6.5 Route53 µµ¸ÞÀÎ ¼³Á¤
6.5.1 µµ¸ÞÀÎ ±¸¸Å
6.5.2 È£½ºÆà ¿µ¿ª »ý¼º
6.5.3 ¹é¿£µå Àç¹èÆ÷
6.5.4 ÇÁ·ÐÆ®¿£µå Àç¹èÆ÷
6.5.5 Á¤¸®
6.6 ¹é¿£µå/ÇÁ·ÐÆ®¿£µå AWS Certificate Manager¸¦ ÀÌ¿ëÇÑ https ¼³Á¤
6.6.1 ÀÎÁõ¼­ ¿äû
6.6.2 ¹é¿£µå ¾ÖÇø®ÄÉÀÌ¼Ç HTTPS ¼³Á¤
6.6.3 ÇÁ·ÐÆ®¿£µå ¾ÖÇø®ÄÉÀÌ¼Ç HTTPS ¼³Á¤
6.6.3 Á¤¸®


7Àå. OAuth 2.0¿Í ¼Ò¼È ·Î±×ÀÎ °³¹ß
7.1 OAuth 2.0
7.1.1 ´Ù¸¥ ¾ÖÇø®ÄÉÀ̼ǰúÀÇ ÅëÇÕ
7.1.2 OAuth 2.0 Àΰ¡ ÇÁ·¹ÀÓ¿öÅ©
7.1.3 OAuth 2.0 È帧
7.1.4 Á¤¸®
7.2 ¼Ò¼È ·Î±×ÀÎ ¹é¿£µå ±¸Çö
7.2.1 ¼Ò¼È ·Î±×ÀÎ »çÀÌÆ®¿¡¼­ Ŭ¶óÀ̾ðÆ® ¾ÖÇø®ÄÉÀÌ¼Ç »ý¼ºÇϱâ
7.2.2 OAuth 2.0 ¶óÀ̺귯¸® Ãß°¡
7.2.3 application-dev.yaml¿¡¼­ OAuth 2.0 ¼³Á¤
7.2.4 Todo ¹é¿£µå OAuth 2.0 ¿£µåÆ÷ÀÎÆ® ¼³Á¤..
7.2.5 ¼Ò¼È ·Î±×ÀÎ ÈÄ ÀÚµ¿À¸·Î ȸ¿ø°¡ÀÔ
7.2.6 Todo ¾ÖÇø®ÄÉÀÌ¼Ç ÅäÅ« ¹ßÇà
7.2.7 Á¤¸®
7.3 ¼Ò¼È ·Î±×ÀÎ ÇÁ·ÐÆ®¿£µå ±¸Çö
7.3.1 ¹é¿£µå AuthenticationEntryPoint ¼³Á¤
7.3.2 ¼Ò¼È ·Î±×ÀÎ ¿£µåÆ÷ÀÎÆ® Ãß°¡
7.3.3 ¼Ò¼È ·Î±×ÀÎ ±â´É Ãß°¡
7.3.4 ÇÁ·ÐÆ®¿£µå·Î Bearer ÅäÅ« Àü´ÞÇϱâ
7.3.5 ÀÓÀÇÀÇ ÇÁ·ÐÆ®¿£µå·Î ÅäÅ« Àü´ÞÇϱâ
7.3.6 Á¤¸®