์๋ฌ ์ ์ ํ์ธ : ์ฐ์ ์๋ฒ ๊ฐ๋ฐ์์ ์ด์ผ๊ธฐํ๊ธฐ / ์๋ฌ ๊ฐ๋ฅ์ฑ ๋ฎ์ถ๊ธฐ : '๋ฌด์กฐ๊ฑด ์ ํด์ง ๊ทธ ์์น'์์ ๊ฐ์ ๊ฐ์ ธ์ค์ง ์๊ธฐ / ์๋ฌ ๋ค๋ฃจ๊ธฐ : error callback ํ์ฉ / ํ ์คํธ ๋๊ตฌ๋ฅผ ์ฐพ์
์นํ์ค / HTML / ์๋ฉํฑ ํ๊ทธ / ํ ์คํธ / ๋ชฉ๋ก / ํ / ์์ / ์ฝํ ์ธ ๊ตฌํ ํ๊ทธ / ์นํ์ค๊ณผ ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ง
๊ฐ๋ฐ ํ๊ฒฝ๊ณผ Node.js / npm์ ์ญํ / IIFE ๋ฐฉ์ ๋ชจ๋ / ๋ค์ํ ๋ชจ๋ ์คํ / webpack ์ค์ ํ์ผ ์์ฑ
์ฌ์ฉํ ํด๋ค / Create React App ์ค์ / public ํด๋์ index.html์ ๋ฃ์ ํญ๋ชฉ๋ค / ๋ฉํ ๋ฐ์ดํฐ / target="_blank"์ ๋ณด์ ์ทจ์ฝ์
์ด๋จธ์๋ธ ์ฝ์ค๊ฐ ๋๋ฌ๋ค. ์์ํ ๋ ๋ง์ง๋ง ๋ ์ด ์ง์๋ ์ ๊ฐ๋๋ฐ, ์ด๋ ๊ฒ ๊ธ๋ฐฉ ์๋ค.
์๋น์ค ์์ฑ / ์๋น์ค ํ๋ฉด ์คํฌ๋ฆฐ์ท / ๋ง์ฃผ์น ๋ฌธ์ ๋ค / API ์์ฒญ ํ์ด๋ฐ ์ค์ ํ๊ธฐ / ์คํ์ผ๋ง / ๋ง์นจํ๋ฅผ ์ฐ๊ณ ๋ค์ ์์ํ๋ฉด์
๋ค๋ฌ๊ณ ๋ณ๊ฒฝํ๊ธฐ / API ์์ฒญ๊ณผ ์ปดํฌ๋ํธ ์ฐ๊ฒฐํ๊ธฐ / ์คํ์ผ๋ง ์์ / ๋จ์ ๊ธฐ๊ฐ 7์ผ
์๋ก์ด ํ๋ก์ ํธ, ์๋ฌผ ๊ด๋ฆฌ ๊ธฐ๋ก์ฅ '์ด๋ก ChoLog' / ์๋ก์ด ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๊ธฐ / ๊ธฐ๋ฅ ์ค๋ฌธ์กฐ์ฌ ์ค์, ๊ทธ ๊ฒฐ๊ณผ๋? / User Flow์ UI ๋์์ธ / React Navigation 4.x ์์ 5.x๋ก / ๋ง์ฃผ์น ๋๊ด / ๋จ์ ์๊ฐ์ 2์ฃผ
ํ๋ก์ ํธ 1 ๋ง๋ฌด๋ฆฌํ๊ธฐ / ์์ฑ๋ ๋ชจ์ต / ์์ฌ์ด ์ / ๋ฌผ๋ก ์ข์ ์ ๋ ์ฌ๋ฌ๊ฐ์ง / ๋์์ธ์ ์ฒ์๋ถํฐ / ๋ค์ ํ๋ก์ ํธ๋ฅผ ์ค๋นํ๊ธฐ
ํ๋ก์ ํธ 1 ์์ / ํ์ผ๋ก ์ผํ๊ธฐ / ๋ฌธ์ ์ ์๋ฌธ์ ๋ถ๋ชํ๊ธฐ / Git Flow
์ธ์ฆํ๊ธฐ / Session, Cookie / Express.js์ ๋ฏธ๋ค์จ์ด๋ค
DATABASE Sprint ์ํ / ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ์์ฑ / ์คํค๋ง, ์คํค๋ง ์ค๊ณ / mysql2 / Sequelize
To-do List with React / ์์ฑ๋ ๋ชจ์ต, ๋๋ ์ ๊ณผ ๋ฐฐ์ด ์ / Ref / input value๋ฅผ state๋ก ๋ค๋ฃจ๊ธฐ
React - ์ฃผ์์ ๊ณผ ํ / Window.localStorage
Functional Component vs class Component / props / state / Life cycle
Fetch API / package.json / ์๋ฐ์คํฌ๋ฆฝํธ ๋ชจ๋ - ์๋ฒ์ฌ์ด๋ / Node.js๋ฅผ ์ด์ฉํ์ฌ ์๋ฒ ๋ผ๋ ๊ตฌ์ฑํ๊ธฐ
Ajax / Browser / HTTP / API / Server
๋ฏธ๋์ด๋ฅผ ์ฌ์ํ๊ณ , ๋ฉ์ถ๊ณ , ์ฌ์์ค์ธ์ง ํ์ธํ๊ธฐ / ๋ฏธ๋์ด ์์์ ๊ด๋ จ๋ ํ๋กํผํฐ๋ค / ๋ถ๋ชจ ์๋ฆฌ๋จผํธ ์์ ์์ ์๋ฆฌ๋จผํธ ๊ฐ์ ธ์ค๊ธฐ / MouseEvent.offsetX : ํน์ ์๋ฆฌ๋จผํธ ์์์ ๋ง์ฐ์ค ์์น ๊ฐ์งํ๊ธฐ / ์ ์ฒดํ๋ฉด ์ค์ ํ๊ธฐ / Document: scroll event / Window.scrollY / HTMLElement.offsetTop / img ์๋ฆฌ๋จผํธ์ ์ผ๋ฐ ์๋ฆฌ๋จผํธ์ width๊ฐ ๊ตฌํ๊ธฐ / ๋ฐ์ค ํฌ๊ธฐ๋ฅผ ๋์ด๊ฐ๋ ๋ฌธ์ฅ์ ๋ง์ค์ํ ์์ฑํ๊ธฐ / if (์กฐ๊ฑด) return true or false๋ก ๊ตฌ์ฑ๋ ์ฝ๋๋ฅผ ๊ฐ๋จํ๊ฒ ์ ๊ธฐ