ÇöÀå¿¡¼ ¹Ù·Î ½á¸Ô´Â ¸®¾×Æ® with ŸÀÔ½ºÅ©¸³Æ®
½ÉÅë | 2023-06-27
eBook
2023-07-12
´ëÃ⿹Á¤ÀÏ2024-12-29 º¸À¯ 1 ´ëÃâ 1 ¿¹¾à 0
ezPDF | ±³º¸ÀüÀÚÃ¥
Ã¥ Á¤º¸
ÀÌ Ã¥Àº À¥ °³¹ßÀ» ÇÏ´Â °³¹ßÀÚ, ¸®¾×Æ®·Î ½Ì±Û ÆäÀÌÁö ¾ÖÇø®ÄÉÀ̼ÇÀ» °³¹ßÇÏ°í ÀÖ´Â °³¹ßÀÚ ±×¸®°í ÄÄÆ÷³ÍÆ® ÁÖµµ °³¹ß(Component Driven Development, CDD)À» ÇÏ°íÀÚ ÇÏ´Â °³¹ßÀÚ¸¦ ´ë»óÀ¸·Î ÇÏ°í ÀÖ´Ù. ¸®¾×Æ®¿Í ½ºÅ丮ºÏÀ» »ç¿ëÇÏ¿© ÄÄÆ÷³ÍÆ® ÁÖµµ °³¹ßÀ» ÀÌÇØÇÒ ¼ö ÀÖµµ·Ï, ¸®¾×Æ®ÀÇ ±âÃʺÎÅÍ ½ºÅ丮ºÏÀÇ ¼³Á¤, ½ºÅ丮ºÏÀ» ÅëÇØ ÄÄÆ÷³ÍÆ® ÁÖµµ °³¹ßÀ» ´Ù·ç´Â ¹æ¹ýÀ» ¿¹Á¦¸¦ ÅëÇØ ¼³¸íÇÏ°í ÀÖ´Ù. ÀÌ Ã¥À» ÅëÇØ, ÄÄÆ÷³ÍÆ® ÁÖµµ °³¹ßÀ» ÇÏÁö ¾Ê°í ÀÖ´Â ½ÇÁ¦ ÇÁ·ÎÁ§Æ®¿¡ ½ºÅ丮ºÏÀ» Àû¿ëÇÏ¿© ÄÄÆ÷³ÍÆ® ÁÖµµ °³¹ßÀ» È°¿ëÇÒ ¼ö ÀÖµµ·Ï ¾È³»ÇÏ°í ÀÖ´Ù.
ÀúÀÚ Á¤º¸
±èÁ¤Çå( ÀúÀÚ)
Çѱ¹ÀÇ Áß¼Ò±â¾÷¿¡¼ MFC¸¦ »ç¿ëÇÑ À©µµ¿ì ÇÁ·Î±×·¥ °³¹ßÀ» ½ÃÀÛÀ¸·Î ¾Èµå·ÎÀ̵å, iOS, À¥ °³¹ßÀÚ·Î È°µ¿À» ÇÏ¿´´Ù. ±× ÈÄ, À¥ ÇÁ·Î±×·¡¸Ó·Î½á È£ÁÖ¿¡¼ È°µ¿ÇÏ¿´À¸¸ç, ÇöÀç´Â ÀϺ»¿¡¼ Ç®½ºÅà ¿£Áö´Ï¾î·Î½á ¸®¾×Æ®¸¦ »ç¿ëÇÑ ¼ºñ½º¸¦ °³¹ßÁßÀÌ´Ù. ¾÷¹« ÀÌ¿Ü¿¡µµ ¸®¾×Æ®¿Í Ç÷¯Å͸¦ »ç¿ëÇÑ ¾ÛÀ» °³¹ß Áß¿¡ ÀÖÀ¸¸ç, ¾Û °³¹ß Áß¿¡ °Þ¾ú´ø ÀÏÀ» ºí·Î±×¿¡ °ÔÀçÇÏ°í ÀÖ´Ù.
¦ºí·Î±×¦
https://dev-yakuza.posstree.com/ko/
¦ÀúÀÚ ¾Û ¸®½ºÆ®¦
https://dev-yakuza.posstree.com/app/list/ko/
¸ñÂ÷
1Àå ¸®¾×Æ®¶õ?
1.1 À¥ÀÇ ¿ª»ç
1) À¥ 1.0 - À¥ ÆäÀÌÁö ½Ã´ë
2) À¥ 2.0 - À¥ ¾ÖÇø®ÄÉÀÌ¼Ç ½Ã´ë
1.2 ¸®¾×Æ®ÀÇ Æ¯Â¡
1) JSX
2) ´Ü¹æÇâ µ¥ÀÌÅÍ ¹ÙÀεù
3) °¡»ó µ¼
4) ¼±¾ðÇü ÇÁ·Î±×·¡¹Ö
5) ÄÄÆ÷³ÍÆ® ±â¹Ý
1.3 ¿ä¾à
2Àå ¸®¾×Æ®?°³¹ß ȯ°æ
2.1 À©µµ¿ì °³¹ß ȯ°æ ¼³Á¤
1) ÃÊÄݸ®Æ¼ ¼³Ä¡
2) ³ëµå ¼³Ä¡
2.3 ¸®¾×Æ®¸¦ ½ÃÀÛÇÏ´Â ¹æ¹ý
1) ½ºÅ©¸³Æ® ÅÂ±× Ãß°¡
2) WebpackÀ̳ª BabelÀ» ¼³Á¤ÇÏ¿© °³¹ß
3) create-react-app
4) Next.js ÇÁ·¹ÀÓ¿öÅ©
2.4 create-react-app
1) create-react-app ¼³Ä¡
2) create-react-appÀ¸·Î ÇÁ·ÎÁ§Æ® »ý¼º ¹× ½ÇÇà
3) create-react-app ÇÁ·ÎÁ§Æ®ÀÇ Æú´õ ±¸Á¶
2.5 ¿ä¾à
3Àå ³ªÀÇ Ã¹ ¸®¾×Æ® ÇÁ·ÎÁ§Æ®
3.1 ŸÀÔ½ºÅ©¸³Æ®
1) create-react-app°ú ŸÀÔ½ºÅ©¸³Æ®
2) create-react-appÀÇ Å¸ÀÔ½ºÅ©¸³Æ® ÅÛÇø´ »ç¿ëÇϱâ
3.2 ½ºÅ¸Àϸµ
1) CSS¿Í Link ű×
2) CSS¿Í import
3) CSS-in-JS (Emotion)
3.3 Àý´ë °æ·Î·Î ÄÄÆ÷³ÍÆ® Ãß°¡
3.4 Prettier
1) Prettier ¼³Ä¡
2) Prettier ¼³Á¤
3) Prettier ½ÇÇà
3.5 ESLint
1) ESLint ¼³Ä¡
2) ESLint ¼³Á¤
3) ESLint ½ÇÇà
3.6 ¿ä¾à
4Àå Ä«¿îÅÍ?¾Û?-?Props¿Í?State?
4.1 Props¿Í State
4.2 ÇÁ·ÎÁ§Æ® Áغñ
4.3 °³¹ß
1) ¡´Container /¡µ ÄÄÆ÷³ÍÆ®
2) ¡´Title /¡µ ÄÄÆ÷³ÍÆ®
3) ¡´Label /¡µ ÄÄÆ÷³ÍÆ®
4) ¡´Button /¡µ ÄÄÆ÷³ÍÆ®
5) State
6) Props
4.4 ¿ä¾à
5Àå Ŭ·¡½º?ÄÄÆ÷³ÍÆ®
5.1 Ŭ·¡½º ÄÄÆ÷³ÍÆ®
5.2 ÇÁ·ÎÁ§Æ® Áغñ
5.3 °³¹ß
1) ¡´Button /¡µ ÄÄÆ÷³ÍÆ®
2) ¡´Label /¡µ ÄÄÆ÷³ÍÆ®
3) ¡´App /¡µ ÄÄÆ÷³ÍÆ®
5.4 ¶óÀÌÇÁ»çÀÌŬ ÇÔ¼ö
1) constructor ÇÔ¼ö
2) render ÇÔ¼ö
3) getDerivedStateFromProps ÇÔ¼ö
4) componentDidMount ÇÔ¼ö
5) shouldComponentUpdate ÇÔ¼ö
6) getSnapshotBeforeUpdate ÇÔ¼ö
7) componentDidUpdate ÇÔ¼ö
8) componentWillUnmount ÇÔ¼ö
9) componentDidCatch ÇÔ¼ö
10) È£Ãâ ¼ø¼
5.5 ¿ä¾à
6Àå ÇÒ?ÀÏ?¸ñ·Ï?¾Û?-?Context?API
6.1 Context API
6.2 ÇÁ·ÎÁ§Æ® Áغñ
6.3 State¿Í Props·Î ÇÒ ÀÏ ¸ñ·Ï ¾Û °³¹ß
1) ¡´Title /¡µ ÄÄÆ÷³ÍÆ®
2) ¡´Button /¡µ ÄÄÆ÷³ÍÆ®
3) ¡´ToDoItem /¡µ ÄÄÆ÷³ÍÆ®
4) ¡´ToDoList /¡µ ÄÄÆ÷³ÍÆ®
5) useState·Î ÇÒ ÀÏ ¸ñ·Ï µ¥ÀÌÅÍ °ü¸®Çϱâ
6) ¡´DataView /¡µ ÄÄÆ÷³ÍÆ®
7) ¡´TextInput /¡µ ÄÄÆ÷³ÍÆ®
8) Ãß°¡ ¹öÆ° ÄÄÆ÷³ÍÆ®
9) ¡´ToDoInput /¡µ ÄÄÆ÷³ÍÆ®
10) ¡´ShowInputButton /¡µ ÄÄÆ÷³ÍÆ®
11) ¡´InputContainer /¡µ ÄÄÆ÷³ÍÆ®
6.4 Context API·Î ÇÒ ÀÏ ¸ñ·Ï ¾Û °³¹ß
1) ¡´ToDoList /¡µ »ý¼º
2) ¡´App /¡µ ÄÄÆ÷³ÍÆ®¿¡ Provider Á¦°ø
3) ¡´ToDoList /¡µ ÄÄÆ÷³ÍÆ®: Consumer¸¦ »ç¿ëÇÏ¿© Context µ¥ÀÌÅÍ »ç¿ëÇϱâ
4) ¡´ToDoInput /¡µ ÄÄÆ÷³ÍÆ®: Consumer¸¦ »ç¿ëÇÏ¿© Context µ¥ÀÌÅÍ »ç¿ëÇϱâ
6.5 ¿ä¾à
7Àå react-router
7.1 react-router
7.2 ÇÁ·ÎÁ§Æ® Áغñ
7.3 °³¹ß
1) react-router
2) ¡´DataView /¡µ ÆäÀÌÁö ÄÄÆ÷³ÍÆ®
3) ¡´ToDoInput /¡µ ÆäÀÌÁö ÄÄÆ÷³ÍÆ®
4) ¡´Header /¡µ ÄÄÆ÷³ÍÆ® Ãß°¡
7.4 ¿ä¾à
8Àå Fetch?API?
8.1 Fetch?API?
8.2 ÇÁ·ÎÁ§Æ® Áغñ
8.3 °³¹ß
1) ¡´Header /¡µ ÄÄÆ÷³ÍÆ®
2) ¡´BlogPost /¡µ ÄÄÆ÷³ÍÆ®
3) ºí·Î±× ±Û ¸ñ·Ï State
4) useEffect ÈÅ
5) Fetch API·Î µ¥ÀÌÅÍ °¡Á®¿À±â
6) ¡´Button /¡µ ÄÄÆ÷³ÍÆ®
7) ¡´Form /¡µ ÄÄÆ÷³ÍÆ®
8) ¡´Form /¡µ Ç¥½Ã State
9) ºí·Î±× ±Û State µ¥ÀÌÅÍ
10) Fetch API·Î ºí·Î±× ±Û µî·ÏÇϱâ
8.4 ¿ä¾à
9Àå ÄÄÆ÷³ÍÆ®?ÁÖµµ?°³¹ß
9.1 ÄÄÆ÷³ÍÆ® ÁÖµµ °³¹ß
9.2 ¾ÆÅä¹Í µðÀÚÀÎ
9.3 ½ºÅ丮ºÏ
9.4 ÇÁ·ÎÁ§Æ® Áغñ
9.5 ½ºÅ丮ºÏ ¼³Ä¡
9.6 ½ºÅ丮ºÏ ¼³Á¤
9.7 ½ºÅ丮ºÏ È®ÀÎ
1) .storybook Æú´õ
2) .eslintrc.js ÆÄÀÏ
3) .npmrc ÆÄÀÏ
4) package.json ÆÄÀÏ
5) ./src/stories Æú´õ
6) ./src/stories/Button.tsx ÆÄÀÏ
7) ./src/stories/Button.stories.tsx ÆÄÀÏ
8) ./src/stories/Introduction.stories.mdx ÆÄÀÏ
9.8 ½ºÅ丮ºÏ ½ÇÇà
1) ¸Þ´º
2) ÄÁÆ®·Ñ ÆгÎ
3) ¾×¼Ç ÅÇ
4) »ó´Ü ¸Þ´º ¹Ù - ¹è°æ»ö
5) »ó´Ü ¸Þ´º ¹Ù - ȸé Å©±â
9.9 ¿ä¾à
10Àå ÄÄÆ÷³ÍÆ®?ÁÖµµ?°³¹ß?-?Ä«¿îÅÍ?¾Û?
10.1 Ä«¿îÅÍ ¾Û
10.2 ÇÁ·ÎÁ§Æ® Áغñ
10.3 °³¹ß
1) ¡´Title /¡µ ¿øÀÚ ÄÄÆ÷³ÍÆ®
2) ¡´Button /¡µ ¿øÀÚ ÄÄÆ÷³ÍÆ®
3) ¡´Count /¡µ ¿øÀÚ ÄÄÆ÷³ÍÆ®
4) ¡´Counter /¡µ À¯±âü ÄÄÆ÷³ÍÆ®
5) ¡´CounterApp /¡µ ÅÛÇø´ ÄÄÆ÷³ÍÆ®
6) ¡´Home /¡µ ÆäÀÌÁö ÄÄÆ÷³ÍÆ®
7) Ä«¿îÅÍ ¾Û
10.4 ¿ä¾à
11Àå CDD?-?ÇÒ?ÀÏ?¸ñ·Ï?¾Û?
11.2 ÇÁ·ÎÁ§Æ® Áغñ
11.3 °³¹ß
1) ¡´AppTitle /¡µ ¿øÀÚ ÄÄÆ÷³ÍÆ®
2) ¡´PageTitle /¡µ ¿øÀÚ ÄÄÆ÷³ÍÆ®
3) ¡´Label /¡µ ¿øÀÚ ÄÄÆ÷³ÍÆ®
4) ¡´Button /¡µ ¿øÀÚ ÄÄÆ÷³ÍÆ®
5) ¡´Input /¡µ ¿øÀÚ ÄÄÆ÷³ÍÆ®
6) ¡´Header /¡µ À¯±âü ÄÄÆ÷³ÍÆ®
7) ¡´ToDoItem /¡µ À¯±âü ÄÄÆ÷³ÍÆ®
8) ¡´InputToDo /¡µ À¯±âü ÄÄÆ÷³ÍÆ®
9) ¡´ToDoList /¡µ ÅÛÇø´ ÄÄÆ÷³ÍÆ®
10) ¡´ToDoInput /¡µ ÅÛÇø´ ÄÄÆ÷³ÍÆ®
11) ¡´ToDoListPage /¡µ ÆäÀÌÁö ÄÄÆ÷³ÍÆ®
12) ToDoList ÄÁÅؽºÆ®
13) ¡´ToDoInputPage /¡µ ÆäÀÌÁö ÄÄÆ÷³ÍÆ®
14) ¡´NotFound /¡µ ÆäÀÌÁö ÄÄÆ÷³ÍÆ®
15) ÇÒ ÀÏ ¸ñ·Ï ¾Û
11.4 ¿ä¾à
12Àå CDD?-?ºí·Î±×?¾Û?
12.1 ºí·Î±× ¾Û
12.2 ÇÁ·ÎÁ§Æ® Áغñ
12.3 °³¹ß
1) ¡´AppTitle /¡µ ¿øÀÚ ÄÄÆ÷³ÍÆ®
2) ¡´BlogTitle /¡µ ¿øÀÚ ÄÄÆ÷³ÍÆ®
3) ¡´BlogBody /¡µ ¿øÀÚ ÄÄÆ÷³ÍÆ®
4) ¡´Button /¡µ ¿øÀÚ ÄÄÆ÷³ÍÆ®
5) ¡´DialogTitle /¡µ ¿øÀÚ ÄÄÆ÷³ÍÆ®
6) ¡´Label /¡µ ¿øÀÚ ÄÄÆ÷³ÍÆ®
7) ¡´InputText /¡µ ¿øÀÚ ÄÄÆ÷³ÍÆ®
8) ¡´Input /¡µ ºÐÀÚ ÄÄÆ÷³ÍÆ®
9) ¡´Header /¡µ À¯±âü ÄÄÆ÷³ÍÆ®
10) ¡´BlogItem /¡µ À¯±âü ÄÄÆ÷³ÍÆ®
11) ¡´RegisterBlogDialog /¡µ À¯±âü ÄÄÆ÷³ÍÆ®
12) ¡´BlogList /¡µ ÅÛÇø´ ÄÄÆ÷³ÍÆ®
13) ¡´BlogListPage /¡µ ÆäÀÌÁö ÄÄÆ÷³ÍÆ®
14) ºí·Î±× ¾Û
12.4 ¿ä¾à
ºÎ·Ï
1. Lefthook
1) ÇÁ·ÎÁ§Æ® Áغñ
2) Lefthook ¼³Ä¡
3) Lefthook ¼³Á¤
4) Lefthook ½ÇÇà
5) Lefthook Àû¿ë
2. ¹èÆ÷
ÃßõÇØ¿ä
- µî·ÏµÈ Ãßõ±ÛÀÌ ¾ø½À´Ï´Ù.
±èÁ¤ÇåÀÇ ´Ù¸¥ Ã¥
ÀúÀÚÀÇ ´Ù¸¥ Ã¥ Á¤º¸°¡ ¾ø½À´Ï´Ù.