CodeSoom
์ฝ๋์จ(CodeSoom) ๋ฆฌ์ํธ 11๊ธฐ ๋ง์ง๋ง ํ๊ณ ๋ฐ ํ๊ธฐ.. (๋ถ์ : ๋๋ ์คํจํ๋ค)
๋ฌด๊ฑฐ์ด ๋ง์์ ๊ฐ๊ณ ๋ง์ง๋ง ์ฝ๋์จ ํ๊ณ ๋ฅผ ์จ๋ณด๋ ค ํ๋ค.๊ฒฐ๋ก ๋ถํฐ ๋งํ์๋ฉด.. ๋๋ 6์ฃผ์ฐจ์ ๋ฒฝ์ ๋๊ธฐ์ง ๋ชปํ๊ณ ํฌ๊ธฐํ๋ค. ์ฌ์ค ํฌ๊ธฐํ๋ค๋ ๊ฒ ์์ฒด๊ฐ ๋ง์ด ๋ถ๋๋ฝ๊ณ ์ฐฝํผํด์ ๊ทธ๋์ ํ๊ณ ๋ฅผ ์ฝ๊ฒ ์ฐ์ง ๋ชปํ๊ณ ์์๋ค.๊ทธ๋ฌ๋ค ์ฝ๋์จ ๋ฆฌ์ํธ ๋๊ธฐ ๋ถ๋ค ์ค ๊นํ๋ธ์์ ๋๋ฅผ ํ๋ก์ฐํ์ ํ ๋ถ์ด ์ผ๋ง ์ ์ธํํ์ ๊ฒ์ ๋ณด๊ณ ๋น๋ก ์ฐฝํผํ์ง๋ง ๋๋ง์น์ง ๋ง๊ณ ์ด๋ ๊ฒ ํ๊ธฐ๋ฅผ ์ ๊ณ ๊ณต์ ํ๋ ๊ฒ์ด์ฝ๋์จ์์ ๋๋ฅผ ์ง์ผ๋ด ์ค์ (์ธ์ ๊ฐ ์ด๋์์ ๋ ์ด๋ป๊ฒ ๋ต์ง ๋ชจ๋ฅผ) ์ฌ๋ฟ ๋ถ๋ค์๊ฒ๋๊ทธ๋ฆฌ๊ณ ์ด๋ฒ ์คํจ๋ฅผ ์์น๋ง์ด ์๋ ์ฑ์ฅ์ ๋ฐํ์ผ๋ก ์ผ๊ณ ์ถ์ ๋ ์์ ์๊ฒ๋์ข์ ๊ฒ ๊ฐ๋ค๋ ์๊ฐ์ด ๋ค์ด ์ด๋ ต๊ฒ ๊ธ์ ์ด๋ค. ๋๋ ์น ๊ฐ๋ฐ์ ๊ดํ ๊ธฐ์ด ์ง์์ด ๋ง์ด ๋ถ์กฑํ ์ํ์์ง๋ง ๊ฐํ ์ด์ ์ ๊ฐ๊ณ ์ฝ๋์จ์ ์ ์ฒญํ๋ค.๋ฌผ๋ก 1์ฃผ์ฐจ๋ถํฐ ๋งค ์๊ฐ์ด ๊ณ ๋น์ ์ฐ์์ด์..
์ฝ๋์จ(CodeSoom) ๋ฆฌ์ํธ 11๊ธฐ 5์ฃผ์ฐจ ํ๊ณ
ํ์ตํ ๊ฒ๋น๋๊ธฐ ์ฒ๋ฆฌ๋๊ธฐ ์ฒ๋ฆฌ vs ๋น๋๊ธฐ ์ฒ๋ฆฌ์ฝ๋ฐฑ ํจ์์ฝ๋ฐฑ ์ง์ฅ Promise, async/awaitPromise ๊ฐ์ฒด๋์ฝ๋ฐฑ ์ง์ฅ์ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒPromise์ 3๊ฐ์ง ์ํPromise ์ฐ๊ฒฐ, ์๋ฌ ์ฒ๋ฆฌ ๋ฐฉ๋ฒasync/await ๋ฌธ๋ฒ์ด๋ ๐ ๋ฌด์์ ๊ณต๋ถํ๋์ง๋ ์๋ ๊นํ๋ธ ์ฃผ์์ ํจ์ฌ ๋ ์์ธํ ๊ธฐ๋กํด๋์์ต๋๋ค.๋งํฌ ๋ฐ๋ก๊ฐ๊ธฐ ๐ ๐ป CodeSoom ๋ฆฌ์ํธ 11๊ธฐ - ํ์ต ๋ด์ฉ ์ ๋ฆฌ ๋ฐ ํ๊ณ ํ๊ณ ๋ฐ ๋๋์ ์์งํ ๊ณ ๋ฐฑ์ ํ์๋ฉด.. ์ด๋ฒ ์ฃผ๋ ํ๊ณ ๋ฅผ ํ ๊ฒ์ด ๋ณ๋ก ์๋ค.์๋ํ๋ฉด ์ด๋ฒ ์ฃผ๋ ์ฝ๋์จ ๊ต์ก์ ์๊ฐ์ ๊ฑฐ์ ํฌ์ํ์ง ๋ชปํ๊ธฐ ๋๋ฌธ์ด๋ค.๊ทธ๋์ ์ด๋ฒ ํ๊ณ ๋ ๋ด๊ฐ ์คํจํ ์ด์ , ์ค์ค๋ก์ ๋ํ ๋ฐ์ฑ์ด ์ฃผ๋ฅผ ์ด๋ฃฐ ๊ฒ ๊ฐ๋ค. ์ด๋ฒ ์ฃผ ์ฝ๋์จ ๊ณต๋ถ๋ฅผ ๋ณ๋ก ํ์ง ๋ชปํ ์ด์ ๋ฅผ ์๊ฐํด๋ณด๋, ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์์์ง๋ง,..

์ฝ๋์จ(CodeSoom) ๋ฆฌ์ํธ 11๊ธฐ 4์ฃผ์ฐจ ํ๊ณ
ํ์ตํ ๊ฒํ ์คํธ ์ฝ๋ ์ถ๊ฐ ์ค์ตToDo์ฑ (์ง๋ ์ฃผ ๊ณผ์ ) ํ ์คํธ ์ฝ๋ ์ฒ์๋ถํฐ ํผ์ ํ์ผ๋ก ๋ค์ ์์ฑํด๋ณด๊ธฐBDD ์คํ์ผ (describe - context- it) ์ค์ต Flux ์ํคํ ์ฒFlux Architecture ๊ฐ๋ (๋จ๋ฐฉํฅ์ผ๋ก ๋ฐ์ดํฐ ํ๋ฆ์ ๊ด๋ฆฌํ๋ ํจํด)[Action] -> [Dispatcher] -> [Store] -> [View][View] -> [Action] -> [Dispatcher] ReduxRedux ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋? (์ํ ๊ด๋ฆฌ)Redux์ 3๊ฐ์ง ์์นRedux์ ๋์ ํ๋ฆacton, dispatch,reducer, store, subscribe, getState, render ๊ฐ๊ฐ์ ์ญํ Presentational Components, Container ComponentsProvi..

์ฝ๋์จ(CodeSoom) ๋ฆฌ์ํธ 11๊ธฐ 3์ฃผ์ฐจ ํ๊ณ
ํ์ตํ ๊ฒ2์ฃผ์ฐจ ๋ณต์ต (์ฝ๋ ์ดํด ์์ฃผ)์ปดํฌ๋ํธ ์์ฑ ๋ฐ ๋ถ๋ฆฌ ์ฐ์ตSpecial Props Warning ๋ฌธ์ ์ ๋ํ ๊ณ ์ฐฐ์ง๋ ์ฃผ 2๋ฒ์งธ ๊ณผ์ (๊ฐ๋จํ Todo App ๋ง๋ค๊ธฐ) ์ฝ๋ ์ดํดํ๊ธฐ๊ฐ์ฒด ๋งค๊ฐ๋ณ์ ๊ตฌ์กฐ ๋ถํด ํ ๋น ๋ฐฉ๋ฒ, ...state ๊ตฌ๋ฌธ ํ์ต TDD ๊ด๋ จ ๊ฐ๋ ํ์ตJest์ RTL (React Testing Library)์ ์ญํ ๋จ์ ํ ์คํธ์ TDD๋ ๋ฌด์์ธ๊ฐTDD์ ๋ฃฐ๊ณผ TDD ์ฌ์ดํดJest ๋จ์ธ๋ฌธ (Assertion) ๊ณผ ๊ตฌ์กฐ (expect ๋งค์๋ + Matcher)Matcher์ ์ข ๋ฅ์ Jest DOMํ ์คํธ์ ์ ํ (์ ๋ ํ ์คํธ, ๊ธฐ๋ฅ ํ ์คํธ, ํตํฉ ํ ์คํธ, E2E ํ ์คํธ)์ ๋ ํ ์คํธ์ ๊ธฐ๋ฅ ํ ์คํธ์ ์ฅ๋จ์ ํ ์คํธ ์ฝ๋ ์์ฑ ์คํ์ผ - BDD ํ ์คํธ ์ฝ๋ ์์ฑ ์ค์ตํ ์คํธ ์ฝ๋ ๋ฌธ๋ฒ ๊ณต๋ถ์ปดํฌ..
์ฝ๋์จ(CodeSoom) ๋ฆฌ์ํธ 11๊ธฐ 2์ฃผ์ฐจ ํ๊ณ
ํ์ตํ ๊ฒ1์ฃผ์ฐจ ๋ณต์ต (์ฝ๋ ์ดํด ์์ฃผ)createElement ํจ์๋ฅผ ์ง์ ๊ตฌํํ๋ ๊ณผ์ ๋ถํฐ ๋ณต์ต1์ฃผ์ฐจ ๊ณผ์ ๋ณต์ต (๋ค์ ๊ตฌํํด๋ณด๊ธฐ)๋ ผ๋ฆฌ์ฐ์ฐ์ || ์ด JavaScript์์ ๋์ํ๋ ๋ฐฉ๋ฒ์ค์ฒฉ if / else๋ฌธ์ ํผํ๊ธฐ ์ํ Guard Clause ํ์ต React ํ์ตReact ํ๋ ์์ํฌ๊ฐ ํ์ํ ๋ฐฐ๊ฒฝReact์ ํต์ฌ ๊ฐ๋ ReactDOM๊ณผ ๊ฐ์ DOM์ปดํฌ๋ํธ์ ๊ฐ๋ ์ปดํฌ๋ํธ ํฉ์ฑ, ์ปดํฌ๋ํธ ๋ถ๋ฆฌ (๊ด์ฌ์ฌ์ ๋ถ๋ฆฌ)๋ฆฌ์กํธ Hook, useState์ปดํฌ๋ํธ์ 'key' ์์ฑ Etc. webpack์ ์๋ฒ๋ฅผ ๋์ธ ์ ๊ฒฝ๋ก ์ค์ ์ ๋ฐ๊พธ๋ ๋ฐฉ๋ฒ (index.js=>index.jsx) ๐ ๋ฌด์์ ๊ณต๋ถํ๋์ง๋ ์๋ ๊นํ๋ธ ์ฃผ์์ ํจ์ฌ ๋ ์์ธํ ๊ธฐ๋กํด๋์์ต๋๋ค.๋งํฌ ๋ฐ๋ก๊ฐ๊ธฐ ๐ ๐ป CodeSoom ๋ฆฌ์ํธ 11๊ธฐ..

์ฝ๋์จ(CodeSoom) ๋ฆฌ์ํธ 11๊ธฐ 1์ฃผ์ฐจ ํ๊ณ
ํ์ตํ ๊ฒ๊ฐ๋ฐํ๊ฒฝ ๊ตฌ์ถNode.JS, NPM ์ค์น ๋ฐ ์ฌ์ฉ ๋ชฉ์ ํ์ตNPM ๋ช ๋ น์ด์ ์ต์ํด์ง๊ธฐESLint, Webpack, Babel ์ค์น ๋ฐ ์๋๋ฒ๊ณผ ๊ฐ๊ฐ์ ์ฌ์ฉ ๋ชฉ์ ํ์ต JavaScript๋ฅผ ํ์ฉํ Web ๊ฐ๋ฐ์๋ฐ์คํฌ๋ฆฝํธ '๊ฐ์ฒด'์ ๋ํด ํ์ต๊ตฌ์กฐ๋ถํด ํ ๋น, ์์ฃผ ์ฐ์ด๋ ๋ฐฐ์ด ํจ์ (map, filter, forEach), ์ ๊ฐ์ฐ์ฐ์ ์ฌ์ฉ๋ฒ ํ์ต + ์ต์ํด์ง๊ธฐDOM๊ณผ DOM Tree์ ์ดํดJSX์ ์ดํด ๊น ์ดํดํ๊ณ PR ๋ณด๋ด๊ธฐ๊น์ ๊ฐ๋ ๋ฐ ์ฉ์ด ํ์ต (์ปค๋ฐ, ๋ธ๋์น, ์ ์ฅ์ ๋ฑ)๊น์ ๋ค์ํ ๋ช ๋ น์ด ํ์ต + ์ฌ์ฉ ์ฐ์ตPull Request ํ๋ จ ๐ ๋ฌด์์ ๊ณต๋ถํ๋์ง๋ ์๋ ๊นํ๋ธ ์ฃผ์์ ํจ์ฌ ๋ ์์ธํ ๊ธฐ๋กํด๋์์ต๋๋ค.๋งํฌ ๋ฐ๋ก๊ฐ๊ธฐ ๐ ๐ป CodeSoom ๋ฆฌ์ํธ 11๊ธฐ - ํ์ต ๋ด์ฉ ์ ๋ฆฌ ๋ฐ ํ๊ณ ..