๐คฎ ์ฝ๋ฉ์ด์ง ์ฝ์นญ ํ๋ก์ ํธ - (1) ์ปดํฌ๋ํธ
์์ํ๋ฉฐ...
๊ฐฑ์ ํ๊ฒ
- ์ฉ์ด๋ณด ์ฌ์ดํ.. ๊ทธ์๊ฒ ์ฝ๋ฉ ์๋ ค์ฃผ๋ฉด์ ์ปค๋ฆฌํ๋ผ ๋ง๋ค๊ณ ํฌํ ํด๋ฆฌ์ค ๋ง๋ค์ด์
- ๋ถ์
์ผ๋ก ์ฝ๋ฉ๊ณผ์ธ ํด๋ณผ ์ ์์ง ์์๊น ํ๋ ๊ฒ์ ์์ฌ ใ
ใ
ใ
(๋ฒ์จ ์จ๊ณ ์ 4๋ง์ ๊ฒฐ์ ํด๋์๊ฑด ๋น๋ฐ..)
- ๋๊ณต๋ถ๋ฝ ์ฌ์ดํ์ ๋ซ์ด๋ด๋ฉด ์ฝ์นญ์คํฌ์ด ์์ฒญ๋๊ฒ ๋ฐ์ ํด์
- ๋์ค์ ์๋์ด ๋์์ ๋ ์ฐ๋ด์ ์กฐ๊ธ์ด๋ผ๋ ๋ณดํฌ์ด ๋์ง ์์๊นํ๋ ์๊ฐ๋
(๋ฏธ๋ฆฌ ๋ ํผ๋ฅผ ์์๋๋ ๊ฑฐ์ฅฌ~)

์ฝ์ง ์๋ค ๐
๐
๐
- ๊ฐ๋ฐ๊ณผ ์ ํ ๊ด๋ จ์๋ ๊ฑด์คํ ์ง์ฅ์ ๋ค๋๋ ์ฌ์ดํ!
- ๊ฐ์ ์ถ์ฒํด์ฃผ๊ณ , ๊ฐ์ด ์๊ฐ ์ฐ๋ฉด์ ๊ณต๋ถํ๋ ๋ฐฉ์์ผ๋ก ์๋ํด๋ดค์ง๋ง...
(๋
ธ๋ง๋ ์ฝ๋, ์ํ์ฝ๋ฉ ๋ฑ๋ฑ... ์ฝ๋ฉ๊ฐ์ ๊ฒฐ์ ๋ ํด์ฃผ์์ง๋ง)
- ์ด๋ ต๋ค๊ณ . ๊ดํ ์๋ํ ๊ฒ ๊ฐ๋ค๊ณ . ์ฝ๋ฉ๊ณต๋ถํ๋ ค๊ณ ๋งฅ๋ถ์๋๋ฐ ๋น๊ทผ๊ฐ์ผ๊ฒ ๋ค๊ณ ..

๋ง์ง๋ง ๋์
- ๊ทธ๋๋ ๋ง์ง๋ง ๋์ ์ ํด๋ณด๊ธฐ๋ก ํ๋ค!
- ํ์ด ํ๋ก๊ทธ๋๋ฐ์ด ์๋๋ผ ์ข๋น ํ๋ก๊ทธ๋๋ฐ... ํด๋ณด๊ธฐ๋ก
(์ฒ์๋ถํฐ ๋๊น์ง ๋ด๊ฐ ์์์ ์
์ฝ๋ฉํ๊ณ , ์ฌ์ดํ์ด ์์ฝ๋ฉํ๋ ๋ฐฉ์)
- ๋ง์ฝ ์ด๊ฒ๋ง์ ธ ์๋๋ฉด ์๋ง๋ ์ฒ์์ด์ ๋ง์ง๋ง ํฌ์คํ
์ด ๋ ๋ฏ... ใ
ใ
ใ

์ฌ๋์ ์ ์ ํ๋ ๊ณ ๋ฏผ๋ค
- ์ง๊ธ ๋น์ฅ ํ์ํ์ง ์์ ์ด๋ก ์ ์๋ ค์ฃผ์ง ์๋๋ค..
(์ด๋ก ์ฃผ์
์ ํฅ๋ฏธ๋ฅผ ๋จ์ด๋จ๋ฆฌ๊ณ ์คํธ๋ ์ค๋ฅผ ๋ถ๊ณผํจ.)
- ์ต๋ํ ๋ฐ๋ก๋ฐ๋ก ์จ๋จน์ ์ ์๋ ์ ๋ณด๋ง ์ ๊ณต!
(์ฐ๊ฒฐ์ง์ด์ ์ดํด์ฌ์ด ์ ๋ณด ๊ทธ๋๊ทธ๋ ์ ๊ณตํ๊ธฐ~)
(ํ์ด๋ฐ๋ ์ค์ํ๊ณ , ๋ถ๋๋ ์ค์ํ๋ค. ์ ์ ํ ํ์ด๋ฐ์ ์ ์ ํ ๋ถ๋์)
- ์ ๋๊ฐ์ง ๊ณ ๋ฏผ์ ์ปค๋ฆฌํ๋ผ์ ๋ฐ์ํด์ ๊ณ ์ํ ๊ฒ์ด ์ข๋น ํ๋ก๊ทธ๋๋ฐ. ๋ด๊ฐ ๋ง๋๋ ๊ณผ์ ์ ์
์ผ๋ก ์ ๋ฌํ๊ณ ์ฌ์ดํ์ด ์ดํดํด์ ํ๋ก๊ทธ๋๋ฐ ํ๋๋ก ๋ง๋๋ ๊ฒ.
- ์ค์ํ๊ฑด ์ง์์ ์ ๋ฌํ๋๊ฒ ์๋๋ค. ํ๋ก๊ทธ๋๋ฐํ๋ ๊ทผ์ก์ ๊ธธ๋ฌ์ฃผ๋ ๊ฒ์ด๊ณ , ๊ฑฐ๊ธฐ์ ๋์ ์ข์ ์ต๊ด๋ค์ ์ถ๊ฐ์ ์ผ๋ก ์ด์ํด์ฃผ๋ ๊ฒ์ด ์ค์ํ๊ฒ! ๊ทธ๋ ๋ค๋ฉด ๋ด๊ฐ ํ๋ ๊ทธ๋๋ก ํ๋ฌ์ฌ๊ฐ ๋ญ๊ฐ๋ฅผ ๊ฐ๋ฐํ๋๊ฒ ์ต์ ์ ๋ฐฉ๋ฒ์ด ์๋๊น ํ๋ ์๊ฐ. ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฑธ๋ก ์ด๋ป๊ฒ ์ด์ฐฉ๋ฅ ํ ๊ฑด์ง๋ ๋ค์๋จ๊ณ!
์์
์์~!
๋ค์ด๊ฐ๊ธฐ
- ๊ฐ๋ฐํ๊ฒฝ ๊ตฌ์ถ (react)
- ๋ฒํผ, ์
๋ ฅ์ฐฝ, ํ
์คํธ ๋ง๋ค์ด๋ณด๊ธฐ
node
- ์ฝ๋๋ฅผ ์คํ์์ผ์ฃผ๋ ํ๋ก๊ทธ๋จ (aka ๋ฐํ์)
(์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ JavaScript๋ผ๋ ์ฝ๋)
- ์๋ฆฌ๋ก ์ ์ => https://nodejs.org/ko/
- lts ๋ฒ์ ๋ค์ด๋ก๋, ์์ถํ๊ณ , pkgํ์ผ ์ค์นํด๋ผ
- terminal ์ด์ด์,
node -v ์
๋ ฅํด์ ์ค์นํ์ธ
npm
- ๋ค์ํ ๊ฐ๋ฐ์ ๋์๋๋ ๋๊ตฌ๋ค ์ค์นํ ์ ์์ (aka ํจํค์ง ๋งค๋์ )
- ํฐ๋ฏธ๋ ์ด๊ณ
sudo npm install -g create-react-app
: ๋ฆฌ์กํธ ์ฑ ๋ง๋ค์ด์ฃผ๋ ํจํค์ง ์ค์น
create-react-app -V
: ์ค์น ํ์ธ
- ๊ฐ๋ฐ ์งํํ ํด๋ ๋ง๋ค๊ณ ํด๋น ๋๋ ํ ๋ฆฌ ์ด๋
cd
: change directory (๊ฒฝ๋ก์ด๋)
ls
: list segments (ํ์ผ๋ชฉ๋ก)
create-react-app .
: ๊ฐ๋ฐ ์งํํ ํด๋์ ๋ฆฌ์กํธ ์ดํ๋ฆฌ์ผ์ด์
์ด๊ธฐํ
VS Code
- ์ฝ๋ ์์ฑ, ์คํ, ๋๋ฒ๊ทธ, ๋ฐฐํฌ ํ ์ ์๋ ํ๋ก๊ทธ๋จ (aka ํตํฉ๊ฐ๋ฐํ๊ฒฝ ~ IDE)
react
- ํ์ด์ค๋ถ์ด ์นํ์ด์ง ๊ฐ๋ฐ ์ฝ๊ณ ํธ๋ฆฌํ๊ฒ ํ๋ ค๊ณ ๋ง๋ ๊ฐ๋ฐ๋๊ตฌ๋ชจ์ (aka ๋ผ์ด๋ธ๋ฌ๋ฆฌ)
- ์ฝ๋ฉ = ์๊ณ ๊ฐ๋จํ ๋ ๊ณ ๋ธ๋ญ ์กฐ๋ฆฝํด์ ํฌ๊ณ ๋ณต์กํ ์ดํ๋ฆฌ์ผ์ด์
๋ง๋๋๊ฑฐ
- ์ธ๊ฐ์ง ์ฃผ์ํ ๋ถํ์ ํ
- ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ค ํ๋ฉด (component)
- ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ค ๋ฐ์ดํฐ (props, state)
- ์ฌ์ฉ์์ ์ํธ์์ฉ ์ด๋ฒคํธ
- ๋ณต์กํ๊ฒ ๋ณด์ด์ง๋ง ์ฌ์ค์ ๊ฐ๋จํจ. ์ฒ์์๋ ํ์ํ๊ฑฐ๋ง ์๋ฉด๋จ. ๋ค๋ฅธ๊ฒ ์ ๊ฒฝ๊บผ๋ ๋ฌธ์ ์์.
- index.js / ์์์
- index.css / ์์ ์๋ ๋ด์ฉ ๋ค ์ง์ฐ๊ธฐ
- app.js / div ์์์๋ ๋ด์ฉ ๋ค ์ง์ฐ๊ธฐ
- app.css / ์์ ์๋ ๋ด์ฉ ๋ค ์ง์ฐ๊ธฐ
Component
- ๊ธฐ๋ณธ ์ปดํฌ๋ํธ ์จ๋ณด๊ธฐ
- ๋ฒํผ
- ์
๋ ฅ์ฐฝ
- ํ
์คํธ
์ฌ๊ธฐ ๋ฆฌ๋ด์ผ ํ์
vscode ํ์ฅํด
- ๊ฐ๋ฐ ํธ๋ฆฌํ๊ฒ ํด์ฃผ๋ ๋๊ตฌ๋ค
- prettier : ์ฝ๋ ํ์ ๊น๋ํ๊ฒ ์ ๋ฆฌํด์ค.
- eslint : ์ฝ๋ ๋ฌธ๋ฒ ํ๋ฆฐ ๋ถ๋ถ ์ฒดํฌํด์ค.
- path intellisense : ๊ฒฝ๋ก ์๋ ์ ํ์ง ์ ๊ณต.
- auto close tag : html ํ๊ทธ ์๋์ผ๋ก ๋ซ์์ค
- auto rename tag : html ํ๊ทธ ์๋์ผ๋ก ๋ฐ๊ฟ์ค
๊ฐ๋จ ์์
์ค๋น
- ๋ฒจ๋ก๊ทธ๊ฐ ๋ง๋ค์ด์ค ๋งํฌ๋ค์ด ํ๋ฉด์ ๊ณ ๋๋ก ์ค์ท์ฐ์ด์ ํ์ํฌ์ธํธ๋ก ๊ฐ์์ ๋ง๋ จ

๋๊ฐ๊ธฐ
- ์ ๊ทธ๋๋ ์ด์ ๋๋ฉด ์ ๋ฐฉํ๋ค. ํ ๋งํ๋ค๊ณ ~~~
- ์ด๋ฒ์ฃผ ์ค์ฐํด! ์์ ํ์๋ ์งํํ๊ธฐ๋ก ํ๊ตฌ.
- ์์์ ํ๋ฉด ์ ํํ๋ ๊ธฐ๋ฅ
- ํ์์ ๋ฐ์ดํฐ ์ฌ์ฉํ๋ ๊ธฐ๋ฅ
- ๋ง์กฑ๋ง์กฑ๋ง์กฑ~~
