์ฝํ
๋ฌธ์ ๋ฅผ ํ๋ค๊ฐ ๋ฐ๊ฒฌํ ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ด์ฅํจ์ parseInt() ์ Number()์ ๋ค๋ฅธ์ ์ฌ์ค parseInt() ์ Number() ๋ชจ๋ ๋ด์ฉ๋ฌผ์ด ์ ์ํ ์ซ์์ธ๋ฐ type๋ง ๋ฌธ์ํ์ผ ๊ฒฝ์ฐ์๋ ๋ ๋ค ์ซ์ํ์ผ๋ก ์ ๋ณํํด์ฃผ์ด ๋๊ฐ์ ์ญํ ์ ํ๋ค๊ณ ๋ด๋ ๋ฌด๋ฐฉํ๋ค. ๋๋ ์ฌํ๊น์ง ๋ ํจ์ ๋ชจ๋ ๊ฐ์ ๊ธฐ๋ฅ์ ํ๋ ์ค ์์๋ค๋.. ๊ทธ๋ฐ๋ฐ ๋ด์ฉ๋ฌผ์ด ์ซ์๊ฐ ์๋ ๊ฒฝ์ฐ์๋ ๊ฐ๊ฐ ๋ค๋ฅธ ๊ฐ์ด ๋์ค๊ณ .. ์ฐพ์๋ณด๋ ์์ฐํ ์ด๋ก ์ ์ผ๋ก๋ ๋ฌ๋ผ์ ํ๋ฒ ์ ๋ฆฌํด๋ณธ๋ค. ์ค๋์ ์ฝํ
๋ฌธ์ const arr =[ '', '', '1', '23', '' ] ๋ฌธ์์ ์ซ์๊ฐ ์์ฌ์๋ string์์ ์ ๊ทํํ์์ผ๋ก ๋ฌธ์๋ฅผ ๊ฑธ๋ฌ๋ด๊ณ ์ซ์ํ๋ง ๋จ๊ธฐ๊ณ , ๋๋จธ์ง ์ซ์๋ฅผ ๋ํด์ฃผ๋ ๊ฒฐ๊ณผ๊ฐ ํ์ํ๋ค. ๊ทธ๋์ ๊ฐ ๋ฐฐ์ด ์์๋ฅผ ์ซ์ํ์ผ๋ก ๋ฐ๊พธ๊ณ ๋ํด์ฃผ๋ฉด ๋..
์ ๊ธฐํ ๊ฒฝํ์ด๋ค. ์ฒ์ ๊ณต๋ถํ ๋๋ ์ ํ ๋ฌด์จ๋ง์ธ์ง ์ดํด๊ฐ ์๋๋ ๊ฒ๋ค์ด ๋ถํธ์บ ํ ์๋ฃํ ๋ค์ ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ Deep Dive ์ฑ
์ ์ฝ์ผ๋ ์ ์ ์ ์ฝํ๋ค. (์์ง ์ฒ์ ๋ถ๋ถ์ด๋ผ ๊ทธ๋ฐ๊ฑธ์ง๋.... ) ์๋ฐ์คํฌ๋ฆฝํธ ๋ฉด์ ์คํฐ๋๋ฅผ ์์ํ๋ฉด์ ํ์๋ค์ด๋ ๊ฐ์ ์๋ฐ์คํฌ๋ฆฝํธ ์ฑ
์ ์ฝ๊ณ ๊ถ๊ธํ ๊ฒ๋ค์ ๊ณต์ ํ๋๋ฐ ์์ฆ ๊ทธ๋์ ๊ผญ ํ์๊ฐ ์ด์์ ๋ชจ๋ฅ๋ค ์ฑ
์ ์ฝ์ ๊ฒ ๊ฐ๋ค. ์์ฆ ์ด ๋๊บผ์ด ์ฑ
์ฝ๋ ์ฌ๋ฏธ์ ๋น ์ก๋ค ! ๐ ์ง๋ฌธ const a = {}; a.b = 5; console.log(a.b) = ? ์ฝ์์ ์ฐํ๋ ๊ฐ์? ๐ ๋ฉด์ ์ง๋ฌธ ์๋ 1. const๋ let์ ์๊ณ ์๋๊ฐ? 2. ์์ํ์
, ๊ฐ์ฒดํ์
์ ์ฐจ์ด๋ฅผ ์๊ณ ์๋๊ฐ? ๐ ๋ต๋ณ 5๊ฐ ์ฐํ๋ค. ๋น ๊ฐ์ฒด๋ฅผ a๋ผ๋ ์์๋ก ํ ๋น์ ํด์ฃผ์๋ค. const ํค์๋๊ฐ ์์ด ..
๋ฆฌํฉํ ๋ง ์ดํ ๋ฐ๋ชจ input์ด ๋น์ด์์๋ + ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ๋ชจ๋ ํต๊ณผํ๊ธฐ ์ ์๋ ๋ก๊ทธ์ธ ๋ฒํผ์ด disabled ๋์ด ๋ฒํผ์ ๋๋ฅผ ์ ์๋ค. ๋ชจ๋ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ํต๊ณผํด์ผ์ง ๋ก๊ทธ์ธ ๋ฒํผ์ ๋ถ์ด ๋ค์ด์ค๊ณ ๋ก๊ทธ์ธ ๋ฒํผ์ ํด๋ฆญํด์ ์๋ฒ์ ๋ก๊ทธ์ธ ์์ฒญ์ ๋ณด๋ธ๋ค. ์ด๋ฒ ํ๋ก์ ํธ์์๋ ๋ก๊ทธ์ธ, ํ์๊ฐ์
๊ธฐ๋ฅ ๊ตฌํ์ ์ ํจ์ฑ ๊ฒ์ฌ๊ฐ ํ์ํ ๋ชจ๋ input์ฐฝ์ useState hook ์ํ๋ก ๊ด๋ฆฌํ ํ์์์ด, react-hook-form ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋์
ํด์ form์ ์์ฑํ๋ค. react-hook-form์ ์ฌ์ฉํ๋ฉด ์๋ฒ๋ก ํต์ ์ด ๊ฐ๊ธฐ ์ด์ ์ ํด๋ผ์ด์ธํธ์์ ํด์ผ๋๋ ์ ํจ์ฑ๊ฒ์ฌ๋ฅผ ์ฝ๊ณ ๊ฐ๋จํ ์ฝ๋๋ก ์งค ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค. react-hook-form ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ณต์ ๋ฌธ์์ ํ์ดํ๋ Simple React forms ..
์ด ๋ ์ด ์ค๊ฒ๋ ์ค์ด์ผ... ์ค๋์ ์๋ฃ์์ด์๋ค. ๋ฉ์ธํ๋ก์ ํธ๊ฐ ๋๋๊ณ ํ๋ก์ ํธ ๋ด์ฉ์ ๋ค์ ํ๋ฒ ์ ๋ฆฌํ๋ฉด์ ๋ธ๋ก๊น
์ ํ๊ณ ์ถ์๋๋ฐ ์ก์์นญ์ ๋ญ์ .. ์ญ์ ๋ธ๋ก๊น
์ ์ ๋ง ์๊ฐ๋ ์๊ฐ์ด์ง๋ง ์ด์ ๊ณผ ๋
ธ๋ ฅ์ด ์์ด์ผ์ง๋ง ๊ฐ๋ฅํ๋ค. ๋ ์๊ทผ ๋ฐ์๊ฒ ํ๋ ๋ ์ก์์นญ ๊ธฐ๊ฐ์ด์๋ค..! ์๋ ๋ญ๊ฐ ๊ธ์ ๋ฐํ?ํ ๋ ๊ทธ๋ฅ ์งง๊ฒ ์ ๊ณ ๋๋ด๋ ์คํ์ผ์ด ์๋๋ผ์ ๋ ๋ด์ฉ์ด ๋ง์ ์ปจํ
์ธ ๊ฐ ์๋๋ฉด ๋ธ๋ก๊น
์ ํ์ง ์์๋๋ฐ ,,, ์ด ์๊ฐ์ด ์ง๋๋ฉด ์ค๋์ ์ง๋๊ณ ์ค๋ ๋๊ผ๋ ๊ฐ์ ์ ํ๋ฆฟํด์ ธ ๋ฐ๋ํ ๊ธฐ๋ถ์ ์ ์ด๋ ์ ์์ ๊ฒ ๊ฐ์ ์ง๊ธ ์๊ธฐ ์ ์ ๋ฒ์จ ์๋ฒฝ์ด ๋์์ง๋ง ์กฐ๊ธ ํํ๊ฑฐ๋ฆฌ๋ค๊ฐ ์์ผ๊ฒ ๋ค. ํ์ดํ๋์ ํ๋ฉด์ ํ์ฌ๋ค๋๋๋ณด๋ค ์ ๋ง ํจ-์ฌ ๋ง์ ์ฌ๋๋ค์ ๋ง๋ฌ๋ค. ๋ด๊ฐ ์ฌํ์ํ์ ํ๋ฉด์ ๋๊ผ๋ ๊ฑด ์ฌ๋๋ค์ ๋์ด๊ฐ ๋ค์๋ก ์ฒ์ ๋ง๋๋ ์ฌ๋์ ..
๋ฉ์ธํ๋ก์ ํธ๊ฐ ๋๋๊ณ ๋๋ผ๋ ์ ์ถ์ ์ด์ ์ ์์ํ ๋ฉ์ธ ํ๋ก์ ํธ๊ฐ 10์ 11์ผ์ ๊ฐ๋ฐ ๋ง๊ฐ์ ํ๊ณ 12์ผ์ ๋ฐ๋ชจ๋ฐ์ด๋ ํ๊ณ ... ์ ๋ง ์ด๋ ๊ฒ ๋ฐ์๊ณ intensiveํ๊ฒ ๋ฌ๋ ค์จ ์ ์ด ์์๋๊ฐ..? ์ฐ๋ฆฌ ํ์ด ์ง์ ์์ด๋์ด๋ ๊ตฌ์ํ๊ณ , ๊ธฐํ์ ํ๊ณ , ๋์์ธ๋ ํ๊ณ , ์ ๋ง ๋ด ์ถ์ด ๊ฐ๋ฐ ๊ฐ๋ฐ ์ฝ๋ฉ์ผ๋ก ๊ฐ๋!! ์ฐจ์๋ ๊ทธ๋ฐ ๋ชฐ์
๊ฐ ๋์ ๊ฒฝํ์ ํ๋ค. ํ๋ก์ ํธ ๊ธฐ๊ฐ๋์ ๋ฐฅ๋ ์ ๋ ๋จน์ง ๋ชปํ๋ ๋ ๋ ๋ง์๊ณ , ๊ทธ๋ ๊ฒ ์ฐ์ฑ
์ ์ข์ํ๋ ๋ด๊ฐ ์ง์์ ํ๋ฐ์ง๋ ์ฐ์ฑ
์ ๋ชป๋๊ฐ์ ๋ ๋ง์ง๋ง.. ๊ฒฐ๊ณผ์ ์ผ๋ก ํ๋ก์ ํธ๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ๋ง์น๊ฒ ๋์ด ์ ๋ง ๋ฟ๋ฏํ๊ณ ์์ง ํด์ผ๋ ๊ณต๋ถ๊ฐ ๋ ๋ง๊ธด ํ์ง๋ง ์ด๋์ ๋ ์กฐ๊ธ ๊ทธ๋๋ ์์ ๊ฐ๋ ์ด์ง ์๊ธด ๊ฒ ๊ฐ๋ค. ์์ฒญ๋ ์์ ๊ฐ์ ์๋์ง๋ง .. ์น๊ฐ๋ฐ์ ์ฒ์ ํด๋ณด๋๊ฑฐ๊ณ ์ธ์ ๊ฑฐ์ ์ฒซ ํ ํ๋ก์ ํธ์ด์ง๋ง..
VSCode ํ
๋ง๋ฅผ ๋ง์์ ๋๋ ํ
๋ง๋ก ๋ณ๊ฒฝํ๋๋ฐ ์ด๋ด๋๊ฐ ์๋ค. ์ ์ด ์๊น๋ง ์ข ๋ฐ๊ฟ์ ์๋.. ๋ค๋ฅธ ๊ฑด ๋ค ๊ด์ฐฎ์๋ฐ ์ด ์๊น์ด ๋๋ฌด ๊ฑฐ์ฌ๋ ค ใ
ใ
์ด๋ฒ์ pc๋ฅผ ๋ฆฌ์
๋นํ๊ณ ? ํ๋ก์ ํธ ๋์ค์ ๊ธํ๋๋ก vscode์ ๋ด์ฅ๋์ด์๋ ํ
๋ง ์ค ๊ทธ๋๋ ์ ค ๋ง์ ๋๋๊ฑธ๋ก ๋ณ๊ฒฝํ๋๋ฐ.. ๋์ ํ.. ํ๋ก์ ํธ๋ฅผ ๊ณ์ํ๋๋ฐ ์ JSX ํ๊ทธ์ ๋นจ๊ฐ ๊ธ์จ๊ฐ ๋๋ฌด๋๋ฌด ๋์ด ์ํ ๋ค... ์ด๋ ๊ฒ ์ปดํฌ๋ํธ ํ๊ทธ๊ฐ ์ฃ๋ค ๋นจ๊ฐ์ ... ์ฝ.. ์.. ํ๋ฒ ๋ฐ๊ฟ๋ณด๊ฒ ์ต๋๋ค.. ํน์ ํ๊ทธ๋ง ๋ฐ๊พธ๋ ค๋ฉด ๋ญ๋ก ๊ฒ์ํด์ผ๋๋์ง ...? ๋ฐ๊พธ๋๋ฐ๋ ์กฐ์ฝค ์๊ฐ์ด ๊ฑธ๋ ธ์ด์ ์ ์ด๋ณด๋ ํฌ์คํ
๋จผ์ VSCode ์ค์ Settings ๋ก ๊ฐ์ editor: token ์ด๋ผ๊ณ ๊ฒ์ํ๋ค. ์ด์ฐฝ๊ธฐ์ ์ผ์ผ์ด settings ์์ ์นดํ
๊ณ ๋ฆฌ๋ฅผ ๋ค ์ฐพ๊ณ ๋ค๋
๋๋ฐ ๋๋ฌด ๋ฐฉ๋..
์ต์ข
๊ตฌํ ๋ชจ์ต JSX ์ฝ๋ ๋งํฌ์
๊ตฌ์กฐ ์ด๋ฒ ํ๋ก์ ํธ์์ ๋ง์ดํ์ด์ง๋ฅผ ๊ตฌํํ๋ฉด์ ์กฐ๊ธ ์ ๋ฅผ ๋จน์๋ ๋ถ๋ถ์ด ์๋๋ฐ, ์ธ๋ถ ๋ค๋น๊ฒ์ด์
๋ฐ์์ ๋ง์ดํ์ด์ง ์์ ๋ฉ๋ด ํญ์ผ๋ก ๊ตฌํํ๋ ๋ด ํ๋กํ, ๋ด ๋ ์ํผ, ๋ด ์ข์์, ๋ฐ์ ๋๊ธ ๋ค๊ฐ์ ํญ์ ๊ฐ๊ฐ ํ๋์ฉ ๋ค๋ฅธ ํ์ด์ง์ฒ๋ผ ์ ๊ทผํ ์ ์๊ฒ ๋ง๋๋ ๊ฒ์ด์๋ค. ์ฒ์์๋ useState๋ฅผ ์ด์ฉํด์ ์ํ๋ก ์ฒ์ currentTab์ 0์ผ๋ก ๋๊ณ , ํ์ฌ ๋๋ฌ์ง ํญ์ด currentTab์ด ๋๋๋ก ๊ตฌํํ๋๋ฐ, ์ด๋ ๊ฒ ํ๋๋ ๋ง์ดํ์ด์ง์ ๋ค์ด์ค๋ฉด ๋ฌด์กฐ๊ฑด ์ํ๊ฐ 0๋ฒ์งธ์ธ ๋ด ํ๋กํ๋ก ์์์ด๋๊ณ , ์ธ๋ถ์์ ๋ง์ดํ์ด์ง ๊ฐ๊ฐ์ ํญ์ ์ ๊ทผํ ์ ์๋ค๋ ๋ฌธ์ ์ ์ด ์์๋ค. ๊ธฐ์กด ์ฝ๋ const [currentTab, setCurrentTab] = useState(0); {menuArr.ma..
9์ 7์ผ ๋ฉ์ธ ํ๋ก์ ํธ๊ฐ ์์๋๋ฉด์ ๊ฐ ํ๋ณ๋ก ๋ถ์ฌ๋ฐ์ ํ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ด๊ธฐํ๊ฒฝ์ ์
ํ
ํด์ผ๋์๋ค. ๊น ๋ฆฌํฌ์งํ ๋ฆฌ ์ด๊ธฐ ํ๊ฒฝ๋ ์ ํ์ ์ด ์ค๋๋์๊ณ ๊น๋จน์๋ ๋ด์ฉ๋ค์ด ๋ง์์ ใ
ใ
๋ฐ๋ณด๊ฐ์ ์ง์ ํ๊ณ git cleanํ๋ค๊ฐ ์ปดํฐ ๋ฆฌ์
๊น์ง ๋์๋... ๋ฆฌํฌ์งํ ๋ฆฌ ํ๊ฒฝ ์
ํ
์ ํ๋ค๊ฐ ๋ง์ฃผํ ์๋ฌ์ ๊ทธ์ ๋ํ ์ ๋ฆฌ์ด๋ค. ๋น์ ์ด๊ธฐ ํ๊ฒฝ ์
ํ
์ด ๋์ง ์์ ์ํ์ด๋ฉด ๋์ค๋ ๊นํ ๋ฆฌํฌ์งํ ๋ฆฌ ์ด๊ธฐ ํ๋ฉด ์์ฒด! ๊ทธ๋ ํ๋ฉด์ ์บก์ฒ ํด๋์ง์์์ ๊ตฌ๊ธ๋งํด์ ์ด๋ค ๋ค๋ฅธ ์ฌ๋์ ์คํฌ๋ฆฐ์ท์ ๊ฐ์ ธ์จ ๊ฒ์ด๋ค. ์ฝ๋์คํ
์ด์ธ ์์ ๋ง๋ค์ด์ค ์ฐ๋ฆฌ ํ ๊นํ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ค์ด๊ฐ๋ฉด ์ด๋ฐ ๋ชจ์ต์ด์๋ค. create a new repository on the command line ์ ๋์ค๋ ๋ช
๋ น์ด๋ค์ ๊ทธ๋๋ก ์ ๋๊ฒ ํฐ๋ฏธ๋์๋ค ๋ณต๋ถํ๋ค. ๊ทธ๋ฌ๋๋ ๊ฒฐ๊ณผ..
ํ๋ก์ ํธ ์์ ์ด์ ๋ถํธ์บ ํํ๋ฉด์ CS ๋ํ๊ต ์์
๋ ๋ฃ๊ณ 7-8์์ ๊ฐ์ธ์ ์ผ๋ก ์ ๋ง ํ๋ ์ผ๋ ๊ฒน์น๋ฉด์.. ๋ถํธ์บ ํ ๊ณผ์ ์ ์จ์ ํ ๋ชฐ๋ํด๋ ๋ถ์กฑํ ์๊ฐ๋ค์ด์์์๋ ๋ถํธ์บ ํ ์ฝ์ค์ ์จ ๋ง์๊ณผ ์ ์ ์ 100% ์ ๋
ํ์ง ๋ชปํ์ฑ๋ก ํ๋ก์ ํธ ๊ธฐ๊ฐ๊น์ง ์ด๋ป๊ฒ ์๋ค. 5-6์์ ์น์
2๋ฅผ ๋ฐฐ์ธ๋ ์ฌ๋ฌ ํ์ด๋ค์ ๋ง๋๊ณ ์๊ธฐํด๋ณด๋ฉด์ ๊ฒฐ๊ณผ๋ฌผ๋ก ๋ง๋ค์ด๋ด์ผ๋๋ "ํ๋ก์ ํธ"์ ๋ํด์ ๋ถ๋ด/๋ถ์๊ฐ์ด ๊ฐ์ฅ ์ฌํ๊ณ , ๋์ ๊ฐ๋ฐ output์ ๋ํด, ํต๊ณผ๊ฐ ์๋๋ ๋ช๊ฐ์ ํ
์คํธ๋๋ฌธ์, ๊ตฌํ ์๋๋ ๋ช๊ฐ์ง ๋๋ฌธ์ ๊ฐ๋ฐ ๊ณต๋ถ๊ฐ ์ ๋ง ํ๋ค์๊ณ ์ค์ค๋ก๋ฅผ ํ๋ค๊ฒ ํ๋ค. ์ด๋ ํ์ฐจ๋ฅผ ์ ๋ง ์ง์งํ๊ฒ ๊ณ ๋ คํ์๋ค... ๊ทธ ์ดํ๋ก ๋ง์์ ๊ณ ์ณ๋จน๊ณ , ๊ฐ๋ฐ ๊ณต๋ถํ ๋์ ๊ด์ ์ ์กฐ๊ธ ๋ฐ๊พธ๊ณ , ๋ด ๋ง์์ ์ฌ์ ๋ฅผ ๋๊ณ ๋ ์ดํ๋ถํฐ๋ ํ๋ก์ ํธ? ์ด์ฐจํผ ๋จ๋ค์ ์๋ฌด๋..
Git Clean ์ ๋ ๋ฐ๋ก ํ์ง๋ง๊ธฐ ์ค๋ main project ์ค์ ์ ํ๋ค๊ณ git ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ํ๊ฒฝ์ค์ ํ๋๋ฐ ๋ญ๊ฐ home ๋๋ ํ ๋ฆฌ์์ git์ด ๊ผฌ์ฌ์๋ ๋ฌธ์ ๊ฐ ์์๋ค. ๊ผฌ์ฌ์๋ ์ปค๋ฐ์ ํด๊ฒฐํด๋๊ณ git status๋ช
๋ น์ด๋ก ํ ๋๋ ํ ๋ฆฌ~ ๋ฅผ ํ์ธํ๋๋ฐ ์๊พธ untracked filesํ๋ฉด์ ์ข๋ฅด๋ฅต ๋์ค๋๊ฒ ๋๋ฌด ๊ฑฐ์ฌ๋ ธ๋ค. Untracked files: (use "git add ..." to include in what will be committed) keyํ์ผ pemํ์ผ๋ฑ ์ค์ํ ํ์ผ๋ ๋ช๊ฐ์๋ ๊ฒ ๊ฐ๊ณ , git์ด ๋์ด์ ์ด ํ์ผ๋ค์ trackํ์ง ์์ผ๋ฉด ์ข์ ๊ฒ ๊ฐ์๋ค. git untracked files remove ๊ฒ์์ด๋ก ๊ตฌ๊ธ๋ง์ ํ๊ณ , git remove๋ฅผ ํ๋ผ๊ธธ๋ ํ์์๋ ๋ค๋ฅด๊ฒ ๋ณ ๋ง..