Section2์์ ๋ฐฐ์ด ๊ฒ
Section2์์๋ 1์ฃผ์ฐจ ๋ถํฐ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ๊ณผ ์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ, JS/Node ๋น๋๊ธฐ, HTTP ๋คํธ์ํฌ ๊ธฐ์ด์ ์ค์ต, React ๋ฐ์ดํฐ ํ๋ฆ์ ์ดํด์ ๋น๋๊ธฐ ์์ฒญ์ฒ๋ฆฌ, ์น ์๋ฒ ๊ธฐ์ด, React ์ปดํฌ๋ํธ ๋์์ธ(styled component, storybook ์๊ฐ), React ์ํ๊ด๋ฆฌ(Redux), ํด๋ผ์ด์ธํธ ๋น๋์ ๋ฐฐํฌ(Vercel) ๋ฑ์ ๋ฐฐ์ ๋ค.
4์ฃผ๊ฐ ์ ์ถํ ๊ณผ์ ๋ค
beesbeesbees
ES6 ๋ฌธ๋ฒ์ธ ํด๋์ค๋ฅผ ํ์ฉํด ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ๊ตฌํํ๊ณ 4๊ฐ์ง ํน์ง(์บก์ํ, ์ถ์ํ, ์์, ๋คํ์ฑ)์ ๋ฐฐ์ ๋ค
stringifyJSON
๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๋ฐ ์ฌ์ฉ๋๋ JSON๊ฐ์ฒด๋ฅผ ๋ง๋๋ JSON.stringify()์ ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด๋ก ๋ณํํ๋ JSON.parse()๋ฅผ ์ง์ ๊ตฌํํ๋ค
Tree-UI
์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ด์ฉํด์ ๊น์ด๊ฐ ์๋ ๋ฉ๋ดํ์ ๊ตฌํํ๋ค. ๋ฐ๋ณต๋ฌธ๊ณผ createElement, append๋ฑ์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๊ณ , ์ฌ๊ทํจ์๋ฅผ ํ์ฉํด ๋ฉ๋ด์ ์๋ธ๋ฉ๋ด, ๊ทธ ์์ ์๋ธ๋ฉ๋ด๋ฅผ ๋ง๋ค์๋ค.
Callback, Async, Promise (1)
๋น๋๊ธฐ๋ฅผ ๊ตฌํํ๊ธฐ ์ํ ์ธ๊ฐ์ง ๋ฐฉ๋ฒ๊ณผ ์ฅ๋จ์ ์ดํดํ๋ค.
Callback, Async, Promise (2)
node js์ fs ๋ชจ๋์ ์ด์ฉํด ํ์ผ์ ์ด๊ณ ์ ์ฅํ๊ณ ์์ ํ ์ ์๊ณ , promise๋ฅผ ๋ฆฌํด์์ผ ์ํ๋ ์ ๋ณด๋ก ๋ง๋ค ์ ์๋ค.
Callback, Async, Promise (3)
fetch๋ฅผ ์ฌ์ฉํด ์๋ฒ์ ์ ์ฅ๋ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ฌ ์ ์๊ณ , promise chaining, promise.all, asyn await ์ฌ์ฉ๋ฒ์ ์ตํ๋ค.
statesairline client(1), statesairline client(2)
๋ถ๋ชจ ์ปดํฌ๋ํธ์ ๋ง๋ค์ด์ง ์ํ๋ฅผ ํ์ ์ปดํฌ๋ํธ์ ์ด๋ฒคํธ์ ์ํด ๋ณ๊ฒฝ์ํค๊ธฐ ์ํ ์ํ ๋์ด์ฌ๋ฆฌ๊ธฐ์ ์ํ๊ฐ ๋ณ๊ฒฝ๋ ๋ fetch๋ฅผ ํตํด ์๋ฒ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒ์ ๋ฆฌ์กํธ ์ปดํฌ๋ํธ์ ๋ณ๊ฐ๋ก ์๋ํ๋ฏ๋ก ์ด๋ฌํ side effect๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ useEffect๋ฅผ ์ฌ์ฉํ๋ค.
mini node server
upper ๋ฒํผ์ ๋๋ ์๋ post ์์ฒญ์ ๋ณด๋ด๊ณ ์๋ต์ผ๋ก ๋ฐ์์จ ๋๋ฌธ์๋ก ๋ฐ๋ ๋ฌธ์์ด์ ํ๋ฉด์ ๋ณด์ฌ์ฃผ๊ณ , lower ๋ฒํผ์ ๋๋ ์๋ ๋ง์ฐฌ๊ฐ์ง ๊ณผ์ ์ ํตํด ์๋ฌธ์ ๋ฌธ์์ด์ ํ๋ฉด์ ๋ณด์ฌ์ค๋ค.
statesairline server
express ํ๋ ์์ํฌ๋ฅผ ์ด์ฉํด ์๋ฒ๋ฅผ ๋ง๋ค๊ณ , ๋ก์ปฌํธ์คํธ์ ์ฐ๊ฒฐํ๋ค. states airline ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋ฐ๋ผ ํญ๊ณตํธ๊ณผ ์์ฝ ๋ฐ์ดํฐ๋ฅผ ์กฐํ, ์์ฑ, ์์ , ์ญ์ ํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ค.
custom-component
CDD(Component Driven Development)์ storybook ๊ฐ๋
์ ์ดํด๋ณด๊ณ , css-in-js ๊ด๋ จ ๋ฆฌ์กํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค ํ๋์ธ styled-component๋ฅผ ์ฌ์ฉํ์ฌ modal, toggle, tab, tag, autocomplete, clickToEdit ์ปดํฌ๋ํธ ๋ฑ์ ๊ตฌํํ๋ค
cmarket (1)
SPA๋ก ๊ตฌํ๋ ์จ๋ผ์ธ ์ผํ๋ชฐ(์ํ๋ชฉ๋ก ํ์ด์ง, ์ฅ๋ฐ๊ตฌ๋ ํ์ด์ง)์์ ๋ฒํผ์ ๋๋ฌ ๊ธฐ์กด์ ์ฅ๋ฐ๊ตฌ๋์ ๋ด๊ฒจ์์ง ์์ ์ํ์ด๋ผ๋ฉด ์ฅ๋ฐ๊ตฌ๋ ๋ด๊ธฐ ๋ฒํผ์ ํด๋ฆญํ์๋ ์ต์์ ์ปดํฌ๋ํธ์ ์ํ ์ข
๋ฅ ์ํ๋ฅผ +1๋ก ์
๋ฐ์ดํธํ๋ค. ์ฅ๋ฐ๊ตฌ๋ ํ์ด์ง์์๋ input ์ฐฝ์ ํตํด ์ํ์ ์๋์ ์กฐ์ ํ๊ณ , ์ญ์ ๋ฒํผ์ ๋๋ฌ ์ฅ๋ฐ๊ตฌ๋์์ ์ ๊ฑฐํ๋ค.์๋์ ๋ฐ๋ผ ์ฅ๋ฐ๊ตฌ๋ ํ์ด์ง ์ฐ์ธก์ ์ฃผ๋ฌธ ๊ณ์ฐ ์ปดํฌ๋ํธ ๋ํ ๋ณ๊ฒฝ๋๋ค.
cmarket (1)
๊ธฐ์กด์๋ props๋ก ์์ ์ปดํฌ๋ํธ์์ ํ์ ์ปดํฌ๋ํธ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ค๋ฉด, ๋ฆฌ๋์ค๋ฅผ ์ฌ์ฉํด ์ํ๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๋ ๊ฒ์ผ๋ก ์์ ํ๋ค.
section 2๋ฅผ ๋ง์น๊ณ ๋๋ ์
section2๋ถํฐ๋ ๋งค์ฃผ ์์นจ 9์๋ถํฐ ํ์๊ฐ ๋์ ํ ์ด ๋ฌธ์ ๋ฅผ ํ์๊ณ , ์๋ฃ๊ตฌ์กฐ, ์๊ณ ๋ฆฌ์ฆ, ๋ฐฑ์๋ ์ง์ ๋ฑ ์ ๋ง ์๋กญ๊ณ ์ด๋ ค์ด ๋ด์ฉ๋ค์ ๋ง์ด ๋ฐฐ์ ๋ค.
ํ ์ด๋ฌธ์ ๋ ํผ ๊ฒ์ ๊ฑฐ์ ์๊ณ ๋ ํผ๋ฐ์ค ์ฝ๋๋ฅผ ๋ณด๊ณ ๋ ์ดํดํ์ง ๋ชปํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ค. '๋ด๊ฐ ์ด๊ฑธ ํผ์ ํธ๋ ๋ ์ด ์ฌ๊น?'๋ผ๋ ์๊ฐ์ด ๋ค๊ณค ํ๋ค. ๊ฒฐ๊ตญ ์ด๋ฒ ์น์ ๋ด๋ด ๋ด ํ์ผ๋ก ํ ์ด๋ฅผ ํผ ๊ฒ์ ๊ฑฐ์ ์์๋ค.
์ด๋ป๊ฒ ํด์ผํ๋ ์ถ์ ๋๋ ๊ทธ๋ฅ ์ฝ๋๋ฅผ ๋ฉํ๋ ์ณ๋ค๋ณด๊ณ ์๊ธฐ ๋ณด๋ค๋ ์์ผ๋ก ์ฐ๊ฑฐ๋ ๋๋ฒ๊ฑฐ๋ฅผ ๋๋ ค๋ณด๋ ค๊ณ ํ๊ณ , ์ฃผ์์ ๋ฌ๋ฉด์ ํ ์ค์ฉ ๋ถ์ํ๋ค. ๊ทธ๋๋ ์ ๋ชจ๋ฅด๊ฒ ๋ ๋ฌธ์ ๋ ๋์ด๊ฐ๊ณ ์ฃผ๋ง์ ๋ค์ ๋ดค๋ค.
ํ๋ก ํธ๋ง ๋ฐฐ์ ์ ๋๋ ํ๋ก ํธ ๊ฐ๋ฐ์๊ฐ ๋์ด์ผ๊ฒ ๋ค๊ณ ์๊ฐํ๋๋ฐ, ๋ฐฑ์๋๋ฅผ ๋ฐฐ์ฐ๋ค๋ณด๋, ์์ํ๊ณ ์ด๋ ต์ง๋ง ์์ธ๋ก ์ฌ๋ฐ์๋ค.
๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๋ฉด ์๋ตํ๋ฉด์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๊ณ , ๊ทธ ๋ด๋ถ ๊ตฌํ์ ๋ด๊ฐ ์ง์ ํ๋ค๋ ๊ฒ์ด ์ ๊ธฐํ๋ค. HTTP๋ฅผ ๋ฐฐ์ธ๋๋ ๊ฐ์ ์๋ฃ๋ง์ผ๋ก๋ ๋ถ์กฑํด์ ์ํ์ฝ๋ฉ, ์ฑ , ๊ณต์๋ฌธ์ ๋ฑ์ ๋ง์ด ์ฐธ๊ณ ํ๋ค. ๋๋ ์ฑ ์ผ๋ก ๋ณด๋ ๊ฒ ํธํด์ ์ฑ ์ ๊ตฌ๋งคํ๋๋ฐ, ์์ผ๋ก๋ ๊ณต์๋ฌธ์๋ฅผ ์ฝ๋ ์ฐ์ต์ ํด์ผ๊ฒ ๋ค.
HA2๋ฅผ ์ด์ , ์ค๋ ์น๋ ๋ค. ์ฝํ๋ฆฟํ 3๋ฌธ์ ์ ๊ณผ์ ํ 1๋ฌธ์ ๊ฐ ๋์๋ค. ์ฝํ๋ฆฟํ์ 3๋ฌธ์ ์ค์ 2๋ฌธ์ ๋ฅผ ํ์๊ณ , ๋์ด๋๊ฐ ์์๋งํผ ์ด๋ ต์ง๋ ์์๋ค. ๊ทธ๋ฐ๋ฐ ํ ๋ฌธ์ ๊ฐ ๋๊น์ง ์ ํ๋ ค์ ๋ง์ง๋ง ํ ์คํธ ์ผ์ด์ค ํ๋๋ฅผ ํต๊ณผ ๋ชปํ์ฑ๋ก ์ ์ถํ๋ค.
๊ณผ์ ํ์ ๊ธฐ์กด ์คํ๋ฆฐํธ์ ์ธ๋ถ ๊ฐ์, ๊ทธ๋ฆฌ๊ณ ํจ๊ป ํ์ดํ๋ ๋๋ฃ๋ค๊ณผ ํจ๊ป ์ค๋นํ๋ค. ๊ทธ๋์ ์ค๋ ์ ํ ์ ์์๊ฑฐ๋ผ๊ณ ์๊ฐํ๋๋ฐ ์๊ฐ๋ณด๋ค ๋ง์ด ํค๋งธ๋ค. ์ฌ์ ํ props์ state ์ฌ์ฉ์ด ์ต์ํ์ง ์์ ๊ฒ ๊ฐ๋ค. ์ด ๋ถ๋ถ์ section 3๋ฅผ ์์ํ๊ธฐ ์ ์ ์ธ๋ถ ๊ฐ์๋ฅผ ๋ณด๋ฉด์ ํด๋ก ์ฝ๋ฉ์ ํด๋ณด๋ฉด์ ๋ณด์ถฉํด์ผ๊ฒ ๋ค.
๊ณผ์ ํ์ ํ๋ฉด์ ์๋ฌ๊ฐ ์ ๋ง ๋ง์ด ๋ฌ๋๋ฐ, ๊ทธ๋ ๋๋ฌด ์์ ๊ฐ์ ์์๋ ๊ฒ ๊ฐ๋ค. ์๋ฌ๋ฅผ ํผํ ๊ฒ ์๋๋ผ ์๋ฌ๊ฐ ๋ฌ์๋ ์ด๋ค ๋ฌธ์ ์ธ์ง ํ์ ํ๊ณ ํด๊ฒฐํ๋ ค๊ณ ํ์ด์ผ ํ๋๋ฐ ๊ทธ๋ฌ์ง ๋ชปํ ๊ฒ ๊ฐ๋ค. ๊ทธ๋์ ์์ผ๋ก๋ ์๋ฌ๊ฐ ๋ฐ์ํ์๋ ์ด๋ค ์๋ฌ์๊ณ ์ด๋ป๊ฒ ํด๊ฒฐํ๋์ง๋ ๊ฐ๋จํ ๋ธ๋ก๊น ํด๋ด์ผ๊ฒ ๋ค.
section 3๋ฅผ ์์ํ๋ ๋ง์๊ฐ์ง
์ง๋ section 1 ํ๊ณ ๊ธ์ ๋ณด๋,,,
โ
๋งค์ผ์ ์๋๋๋ผ๋ ์๋ก ๋ฐฐ์ด ๊ฐ๋
์ ๋ํด์๋ ๊พธ์คํ ๊ธฐ๋กํ ๊ฒ
โ 1์ผ 1 ์๊ณ ๋ฆฌ์ฆ ํ๊ธฐ
โ
์ฃผ๋ง์ ๋ณต์ตํ๋ ์๊ฐ ๊ฐ๊ธฐ
โ ๋
์ํ๊ธฐ
๋ฅผ ํ๊ฒ ๋ค๊ณ ๊ธ์ ์ผ์๋ค. ๊ทธ๋ฐ๋ฐ ์ค์ ๋ก ํ ๊ฑด ๋ธ๋ก๊น ๊ณผ ์ฃผ๋ง๋ณต์ต ๋ฟ์ธ ๊ฒ ๊ฐ๋ค. ํ๋ก๊ทธ๋๋จธ์ค ์๊ณ ๋ฆฌ์ฆ๋ ๊พธ์คํ ํ๊ณ ์ถ์๋๋ฐ ํ ์ด ํ๋๋ผ๊ณ ๋ฏธ๋ค๋ฒ๋ ธ๋ค. ์๊ณ ๋ฆฌ์ฆ์ ์์ํ ์์ ์ธ๋งํผ ํ๋ค๋๋ผ๋ ํด๋ด์ผ๊ฒ ๋ค!
๐
ํ ์ด๋ ๋น์ผ๋ ๋ ํผ๋ฐ์ค ์ฝ๋ ๋ถ์ํ๊ธฐ (๊ทธ๋๋ ๋ชจ๋ฅด๊ฒ ์ผ๋ฉด ๋ค์๋ ๋๋ณด๊ธฐ)
๐
1์ผ 1 ํ๋ก๊ทธ๋๋จธ์ค
๐
TIL ์์!
๐
์ ๋ ๊ธ์ ์ ์ผ๋ก ์๊ฐํ๊ธฐ! ๋จ๋ค๊ณผ ๋น๊ต ์ ๋ โ
๐
์ค์ 7์ ๊ธฐ์!
ํ๋ก์ ํธ๊น์ง ์ ๋ง ๋ฑ ํ๋ฌ๋จ์๋ค.. ์ฒ์์๋ 6๊ฐ์์ด ๊ธธ๋ค ์ถ์๋๋ฐ ์ง๊ธ์ '๋ฒ์จ section2๊ฐ ๋๋ฌ๋ค๊ณ ?'์ถ๋ค. ํ๋ฌ ๋นก์ธ๊ฒ ํ๋ค๊ณ ์์ฃฝ์ผ๋๊น ์ง์ง ์ด๋ฒ section3๋ ์ต๊ณ ๋ก ์ด์ฌํ ํด๋ณด์! ๋ถ๋ section 3 ๋ง์น๊ณ ์์ผ๋ฉด์ ํ๊ณ ๋ก์ ์ธ ์ ์๊ธธ!!