๋๋์ด ์์ฝ๋์ ๋ง์ง๋ง ํ๋ก์ ํธ,STAWEFOLIO๋ฅผ ํตํด ๋๊ธฐ๋ค๊ณผ์ ๋ง์ง๋ง์ ๋ง๋ฌด๋ฆฌ ์ง์๋ค !Notion & Trello & Gitbook์ด๋ฒ์๋ ๋๋ฒ์งธ๋ผ ๊ทธ๋ฐ์ง Notion์ Plan์ ๊ณํํ๋๋ฐ ์ต์ํด์ก๊ณ ํฐ์ผ๋ ๋งํฌ์ , ์คํ์ผ๋ง, ๊ธฐ๋ฅ๊ตฌํ์ผ๋ก ๋๋์ด ์ฑ์ทจ๊ฐ๋ ์ป
(1) ์ง์ํ๊ณ ์ถ์ ์ฐธ๊ฐ๊ธฐ์ ์ฝ๋ก๋19๋ฅผ ๊ฑฐ์น๋ฉด์ ์ ์ ์๋น์ค ์ ์ด ๋ง์ด ํ๋ค์๋๋ฐ, ์๋ฐ๋ฏน ๋ถ์๊ธฐ์ ํจ๊ป ๋จ๊ฒ๊ฒ ํ๋ณต๋๊ณ ์๋๊ฑธ ๋๊ผ์ด์. ํฌ๋ฐ๋ฏน์ผ๋ก ์ธ์์ด ๋ณํ๋๋ฐ, ์ ์ ์ ๊ณ๋ ๋ณํด์ผ ํ ๊ฑฐ๋ผ๊ณ ์๊ฐํ๊ณ ๋ง์ดํ์ด๊ฐ ์ฐธ์ ํ๊ฒ ์๋ํ๊ณ ์๋๊ฑธ ์์์ฃ (2) ํ๋ฆฌ
๋์ฅ์ ์ 1์ฐจ ํ๋ก์ ํธ๊ฐ ๋์ด๋ฌ๋ฐโ๏ธ ๋ค์ฌ๋ค๋ํ๊ณ ์ฐ๋นํํ์ด์์ง๋ง ์ข์ ํ์๋ค๊ณผ ํจ๊ป ๊ธฐํ๋ถํฐ ํ๊ณ ๊น์ง ๋ฌด์ฌํ ๋๋ง์น ์ ์์๋ค :) 1. Scrum Process ์ ์์ผ๋ฐฉ๋ฒ๋ก ์ ๋ฐ๋ผ Weekly Sprint๋ก ์ด 2๋ฒ์ Sprint๋ฅผ ์งํํ์๋ค. Notion,
1. ์ด์ ์๋ฒ๋? ๊ฐ๋ฐ์ด๋ ํ ์คํธ ๋ชฉ์ ์ด ์๋ ์ค์ ์ฌ์ฉ์๋ค์ ๋์์ผ๋ก ์๋น์คํ๋ ์๋ฒ 1-1. ๋จ์ผ ์๋ฒ ๊ฐ์ฅ ๋จ์ํ๋ฉด์ ๊ธฐ๋ณธ์ ์ด๊ณ , ๊ตฌ์ถํ๊ธฐ ๊ฐ๋จํ ์๋ฒ๊ตฌ์กฐ ์ ์ฒด ์๋น์ค์ ์ฅ์ ๋ฐ์ ๊ฐ๋ฅ์ฑ ๋์ ์๋ฒ ์์์ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๊ธฐ ์ด๋ ค์ ๋ณด์์ฑ์ด ๋จ์ด์ง scale-o
์ฝ๋์ ๊ฐ๋ ์ฑ๊ณผ ์ ์ง๋ณด์์ฑ์ ํฅ์์์ผ ์ฝ๋ ํ๋ฆฌํฐ๋ฅผ ์ฌ๋ฆฌ๊ธฐ ์ํด ์ปดํฌ๋ํธ ๋ถ๋ฆฌ๋ฅผ ์ ์ฉview์ ๋ก์ง์ ๋ถ๋ฆฌstate์ ๋ฐ๋ผ์ ๋ถ๋ฆฌ
๋์ผํ ํด๋ผ์ด์ธํธ๊ฐ ๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด ์น ์๋ฒ์ ์ ์ํ ์์ ์ผ๋ก๋ถํฐ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ข ๋ฃํ์ฌ ์ฐ๊ฒฐ์ ๋๋ด๋ ์์ ๋์์ ๋ค์ด์ค๋ ์ผ๋ จ์ Request๋ฅผ ํ๋๋ก ๋ณด๊ณ , ๊ทธ ์ํ๋ฅผ ์ผ์ ํ๊ฒ ์ ์งํ์ฌ ํด๋ผ์ด์ธํธ์ ์ธ ์๋ฒ๊ฐ ๋ ผ๋ฆฌ์ ์ผ๋ก ์ฐ๊ฒฐ๋ ์ํ์๋ฒ๋ session์ ๋ํ ์ ๋ณด๋ฅผ
FACT RESTful API ์ค๊ณ๋ฐฉ๋ฒ(uniform interface) ์ธ์คํ๊ทธ๋จ ๋ฆฌ์กํธ ํด๋ก ์ฝ๋ฉ fetchํจ์๋ฅผ ํตํ ์๋ฒ์์ ํต์ FEELING fetch๋ฅผ ํตํด ๋ฐฑ์๋์์ ํต์ ์ ์ฒ์ ์๋ํ๋ค. jsonํํ๋ก ์ฃผ๊ณ ๋ฐ์๊ณ ์ฒ์์ผ๋ก RESTful API๋ฅผ ์ ํด๋ณด
์ธ์คํ๊ทธ๋จ ๋ฆฌ์กํธ ํด๋ก ์ฝ๋ฉ \- ํผ๋ ์ปดํฌ๋ํธ ๋ถ๋ฆฌ \- ํผ๋ ๋ณ ๋๊ธ ๋ฑ๋ก/์ญ์ ๊ธฐ๋ฅ ๊ตฌํํผ๋ ๋ณ๋ก ๋๊ธ์ด ๋ค๋ฅด๊ฒ ๋ฌ๋ ค์ผํ๋๋ฐ ํ๊ฐ์ ํผ๋์ ๋๊ธ์ ๋ฑ๋กํ๋ฉด ํด๋น ํผ๋์๋ง ๋ฑ๋ก๋์ด์ผํ๋๋ฐ ๋ชจ๋ ํผ๋์ ๋ฑ๋ก์ด ๋์ด์ ๋นํฉํ๋ค. ์์ธ์ ํผ๋๋ฅผ ์ปดํฌ๋ํธ๋ก ๋ถ๋ฆฌ์์ผฐ๋
์ธ์คํ๊ทธ๋จ ๋ฆฌ์กํธ ํด๋ก ์ฝ๋ฉ \- ์์ ๋ฐ์ดํฐ๋ก footer section ์์ \- mock data๋ก ํผ๋ ๊ตฌํfooter๋ถ๋ถ์ ์์ ๋ฐ์ดํฐ๋ก footer์ ๋ฆฌ์คํธ๋ค์ ์ ๋ฆฌํด์ map์ผ๋ก ๊ตฌํํ๋ ์ชฝ์ผ๋ก ์์ ํ๋ค. ํ์คํ map์ผ๋ก ๋๋ฆฌ๋๊น ์์ํ๊ธด ํ๋๋ฐ ๊ทธ๋ผ
React์์ side effect๋ฅผ ํธ๋ฆฌํ๊ณ ์์ ํ๊ฒ ๋ฐ์์ํฌ ์ ์๊ฒ ๋์์ฃผ๋ hookuseEffect(์ฝ๋ฐฑ ํจ์, ์์กด์ฑ ๋ฐฐ์ด)์ฝ๋ฐฑํจ์ : ํน์ ํ side effect๋ฅผ ์ํ์์กด์ฑ ๋ฐฐ์ด : ๋ ๋๋ง ์ useEffect๋ฅผ ์คํํ ์กฐ๊ฑด์์กด์ฑ ๋ฐฐ์ด์ด ์ ๋ฌ๋์ง ์์์ผ๋ฏ๋ก
์ธ์คํ๊ทธ๋จ ๋ฆฌ์กํธ ํด๋ก ์ฝ๋ฉ \- ๋๊ธ ์ปดํฌ๋ํธํ์ฝ๋ ์นดํ \- strs์ ๋จ์ด๊ฐ ๋ด๊ธด ๋ฐฐ์ด์ ๋๋ค. ๊ณตํต๋ ์์ ๋จ์ด(prefix)๋ฅผ ๋ฐํํด์ฃผ์ธ์. ์๋ฅผ ๋ค์ด strs = \['start', 'stair', 'step']return์ 'st'์ธ์คํ๊ทธ๋จ ํด๋ก ์ฝ๋ฉ ๋๊ธ์ฐฝ
์ปดํฌ๋ํธ ๋ด๋ถ์์ ์ปดํฌ๋ํธ์ ์ํ๊ฐ -> ํด๋น ์ปดํฌ๋ํธ๊ฐ UI์ ๋ณด์ฌ์ค ์ ๋ณด๋ฅผ ๊ฒฐ์ ํ ๋ ์ฌ์ฉํ ์ ์๋ ์ํ๊ฐuseState()๋ฅผ ์ฌ์ฉํด์ state๋ฅผ ๊ด๋ฆฌํ๋ค.์ฒซ๋ฒ์งธ ์์ : ๋์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ ์ ํ๋ ์ํ๊ฐ๋๋ฒ์งธ ์์ : ์ํ๊ฐ์ ์ ๋ฐ์ดํธํ๋ ํจ์useState()
1. props๋? ์ปดํฌ๋ํธ์ ์์ฑ๊ฐ -> ๋ถ๋ชจ ์ปดํฌ๋ํธ๋ก๋ถํฐ ์ ๋ฌ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ง๋๊ณ ์๋ ๊ฐ์ฒด ์ ๋ฌํ๊ณ ์ ํ๋ ์ด๋ค ๊ฐ์ด๋ ์์ ์ปดํฌ๋ํธ์ ์ ๋ฌ ๊ฐ๋ฅ
์ธ์คํ๊ทธ๋จ ๋ฆฌ์กํธ ํด๋ก ์ฝ๋ฉ \- ๋๊ธ ์ถ๊ฐ๊ธฐ๋ฅ ๊ตฌํ์ฝ๋ ์นดํ \- ์ซ์์ธ num์ ์ธ์๋ก ๋๊ฒจ์ฃผ๋ฉด, ๋ค์ง์ ๋ชจ์์ด num๊ณผ ๋๊ฐ์์ง ์ฌ๋ถ๋ฅผ ๋ฐํ๋๊ธ์ ๊ตฌํํ๊ธฐ ์ํด์ map์ ํ์ฉํ๋ผ๋๊ฒ ์ฌ์ค ํฌ๊ฒ ์๋ฟ์ง ๋ชปํ๋ค. ์ ๋ฐฐ์ด์ ์จ์ผํ๋๊ฑด๊ฐ.... ๊ทธ๋ฐ๋ฐ ๊ธฐ์กด ๋๊ธ์
์ธ์คํ๊ทธ๋จ ๋ฆฌ์กํธ ํด๋ก ์ฝ๋ฉ \- ๋ก๊ทธ์ธ ๋ฒํผ ํด๋ฆญ ์ ์ ํจ์ฑ๊ฒ์ฌ ํ ๋ฉ์ธํ์ด์ง ์ด๋๋ฆฌ์กํธ ํด๋ก ์ฝ๋ฉ ํํ๋ก์ ํธ \- ํ ๋ ํฌ์งํ ๋ฆฌ ์์ฑ ํ ๊ฐ ํ์๋ณ ๋ธ๋์น ์์ฑ ํ ๋ ์ด์์ ์์ฑ์ฝ๋ ์นดํ \- String ํ์ธ str ์ธ์์์ ์ค๋ณต๋์ง ์์ ์ํ๋ฒณ์ผ๋ก ์ด๋ฃจ์ด์ง ์
FACT ์ธ์คํ๊ทธ๋จ ๋ฆฌ์กํธ ํด๋ก ์ฝ๋ฉ FEELING FINDING FUTURE ACTION
React ํ์ต \- ์ปดํฌ๋ํธ, JSX, CRA, Route, css์ ์ฒ๋ฆฌ๊ธฐ์ธ์คํ๊ทธ๋จ ํด๋ก ์ฝ๋ฉ \- ๋ฐ๋๋ผ์๋ฐ์คํฌ๋ฆฝํธ์์ ๋ฆฌ์กํธ๋ก ๋ง์ด๊ทธ๋ ์ด์ ๋ฆฌ์กํธ๋ฅผ ํ์ตํ๊ณ ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ๋ ๋๋ง์ ๋ํ ๊ฐ๋ ์ด ํ๊ณ ํด์ก๋ค. <div id ="root"> ์ ๋ชจ๋ ์ปดํฌ๋ํธ๋ค
1. Link ์ปดํฌ๋ํธ๋? ๋ผ์ฐํ ๊ธฐ๋ฅ์ ๊ตฌํํ ์ ์๋ ์ปดํฌ๋ํธ > - to : ์ด๋ํ ์ปดํฌ๋ํธ ๊ฒฝ๋ก ๐ก `์ ` ํ๊ทธ์ ์ฐจ์ด๋? > - `` : ์ค์ ์๋ฒ์ ์์ฒญ์ ๋ณด๋ด์ง์๊ณ url๋ง ๋ณ๊ฒฝ `` : ํ์ด์ง ์ด๋ ์ ์๋ฒ๋ก๋ถํฐ ๋งค๋ณธ ์๋ก์ด ํ์ด์ง๋ฅผ ์์ฒญํด์ ๋ฐ
๋ค๋ฅธ ๊ฒฝ๋ก(url ์ฃผ์)์ ๋ฐ๋ผ ๋ค๋ฅธ View(ํ๋ฉด)๋ฅผ ๋ณด์ฌ์ฃผ๋ ๊ฒ์ ์๋ฏธํ๋ค.๋ฆฌ์กํธ๋ ํ๋ ์์ํฌ๊ฐ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ฏ๋ก ๋ผ์ฐํ ์ ํ๊ธฐ ์ํด์๋ npm react-router-dom ๋ช ๋ น์ด๋ก ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ค์ด๋ฐ์์ผ ํ๋ค./src/index.js์์ ๋ ๋๋ง์ ํ ๋