์ฐธ๊ณ ์ฌ์ดํธ • Inpa Dev๋์ ํฐ์คํ ๋ฆฌ git ๋ช
๋ น์ด๋ฅผ ํตํ์ฌ ์๊ฒฉ ์ ์ฅ์์ ํ๋ก์ ํธ๋ฅผ ๊ด๋ฆฌํด๋ณด์. ์ ๊ฒ์๊ธ์์ git clone์ ํตํด ๋ฐ์ ํด๋๋ฅผ ๋ค์ด๊ฐ ํด๋์ ๋ด์ฉ์ ๋ณ๊ฒฝํด๋ณด์. ๐ git status ํด๋์ ๋ณ๊ฒฝ๋ ๋ด์ฉ์ ํธ๋ํนํ์ฌ ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ค๋ค. ์ด๋, ๋นจ๊ฐ์์ผ๋ก ํ์๋ ํ์ผ์ ๋ด์ฉ์ด ๋ณ๊ฒฝ๋์์ผ๋, ์ ์ฅ์์ ๋ฑ๋กํ์ง ์์ ํ์ผ๋ค์ด๊ณ ๋
น์์ผ๋ก ํ์๋๋ ํ์ผ๋ค์ ๋ด์ฉ์ด ๋ณ๊ฒฝ๋์๊ณ , ์ ์ฅ์์ ๋ฑ๋กํ ํ์ผ๋ค์ด๋ค. $ git status # ์ ์ฅ์์ ์ํ๋ฅผ ์ฒดํฌํ๋ค. # ์ด๋ค ํ์ผ์ด ์ ์ฅ์ ์์ ์๋์ง, ์ปค๋ฐ์ด ํ์ํ ๋ณ๊ฒฝ์ฌํญ์ด ์๋์ง, ํ์ฌ ์ ์ฅ์์ ์ด๋ค ๋ธ๋์น์์ # ์์
ํ๊ณ ์๋์ง ๋ฑ์ ๋ณผ ์ ์๋ค. $ git status -s # git status์ ์ ์ฌํ๋ ์ํน ํธ๋ฆฌ์ ์ํ๋ฅผ ์์ฝํด..
๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ
์ฐธ๊ณ ์ฌ์ดํธ โ Git - Git ์๋ฒ - SSH ๊ณต๊ฐํค ๋ง๋ค๊ธฐ ๐ SSH ๊ณต๊ฐํค ๋ก์ปฌ์์ ๋ณธ์ธ๋ง์ ๊ฐ๋ฐ์ ์ํด์๋ผ๋ฉด ์ ๊ฒ์๊ธ ์ฒ๋ผ SSH Key๊ฐ ์์ด๋ Git์ ์ด์ฉํ ์ ์๋ค. ๊ทธ๋ฌ๋ ์ธ๋ถ Git ์๋ฒ์ ์ฝ๋๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด SSH ํ๋กํ ์ฝ์ ์ฌ์ฉํด์ผํ๋ค. ๋ง์ Git ์๋ฒ๋ค์ SSH ๊ณต๊ฐํค๋ก ์ธ์ฆํ๋ค. ๋ด ์ปดํจํฐ๊ฐ ์๋ ๋คํธ์ํฌ๋ก ๋ค๋ฅธ ์ปดํจํฐ์ ์ ๋ฌํด์ฃผ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์๋ณผ ์ ์๊ฒ ํด์ฃผ๋๊ฒ ๋ฐ๋ก SSH์ด๋ค. ๊ณต๊ฐํค๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ชจ๋ ์ด์์ฒด์ ๊ฐ ๋น์ทํ๋ค. ๐ ๊ณต๊ฐํค ์์ฑ ์ฌ์ฉ์์ SSH ํค๋ค์ ๊ธฐ๋ณธ์ ์ผ๋ก ~/.ssh ๋๋ ํ ๋ฆฌ์ ์ ์ฅํ๋ค. $cd ~/.ssh $ls id_dsa๋๋ id_rsa๋ผ๋ ํ์ผ์ ์ด๋ฆ์ด ๋ณด์ผ ๊ฒ์ด๊ณ ๊ฐ์ ํ์ผ๋ช
์ผ๋ก .pub์ด๋ผ๋ ํ์ฅ์๊ฐ ๋ถ์ ํ์ผ์ด ์์ ๊ฒ์ด๋ค. ๊ทธ ์ค, .pu..
GitHub๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด GitHub์ ์ ์ํ๋ค. https://github.com/ GitHub: Let’s build from here GitHub is where over 100 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and fea... github.com ๐พ Repository ์์ฑ ์ข์ธก ์๋จ์ New๋ฅผ ํด๋ฆญํ์ฌ Repository ์์ฑ ํ์ด์ง๋ก ์ด๋ํ๋ค. Owner *: ์ ์ฅ์์ ์์ ์๋ฅผ ์ง์ ํ๋ค. ๊ฐ์ธ์ด ๋ ์๋ Organization ๊ฐ..
๐ ๏ธ Flutter Flutter๋ Google์์ ๊ฐ๋ฐํ๊ณ ์ง์ํ๋ ์คํ ์์ค ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์
๊ฐ๋ฐ ํ๋ ์์ํฌ์
๋๋ค. ์ด ์น์
์์๋ Flutter ๊ฐ๋ฐํ๊ฒฝ ์ค์ ์ ๋ํด ์ค๋ช
ํฉ๋๋ค. ๐บ Homebrew ์ค์น Homebrew๋ macOS์ ํจํค์ง ๊ด๋ฆฌ์์
๋๋ค. ํด๋น ํจํค์ง ๊ด๋ฆฌ์๋ฅผ Terminal์์ ๋ช
๋ น์ด๋ฅผ ์ด์ฉํ์ฌ ํจํค์ง๋ฅผ ์ค์นํ๊ณ , ๋๋ถ๋ถ ๋ณ๋์ Path ์ค์ ์์ด ํ๊ฒฝ๋ณ์ ์ค์ ์ ๋์์ค๋๋ค. ๐ง Dart ์ค์น Dart๋ Flutter์ ์ฌ์ฉ๋๋ ๊ฐ๋ฐ ์ธ์ด์
๋๋ค. # Dart์ ์ค์น ์ฌ๋ถ๋ฅผ ํ์ธํฉ๋๋ค. $ brew -v # ์ค์น ์ ๋์ด ์์ ์, $ brew install dart ๐จ Xcode ์ค์น App Store์์ Xcode๋ฅผ ์ค์นํ์ฌ ์๋ฎฌ๋ ์ดํฐ์ ์ฌ์ฉ๋ ์ํํธ์จ์ด๋ฅผ ์ค์นํฉ๋๋ค. ํด๋น ๊ธฐ..
์ฐธ๊ณ ์ฌ์ดํธ โ Dart ๊ณต์ ๋ฌธ์ - ๋ณ์ ๋ณ์ Dart์ ๋ณ์์ ๋ํด ํ์ตํฉ๋๋ค. dart-ko.dev ๐ฏ Null safety ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ๋ค๋ณด๋ฉด ๋ฐํ์์ Null Pointer Exception์ ๋ง๋๋ ๊ฒฝํ์ ํํ๋ค. ๋ฐฐํฌ ์ ํด๋น ์๋ฌ๋ฅผ ์ก์๋ด๋ฉด ์ข์ง๋ง, Dart๋ null์ด ํ๋ก๊ทธ๋จ์์ ๋ํ๋๋ ๊ฒ์ ๋ง๊ณ ์๋ค. ๋๋ถ์ ๊ฐ๋ฐ ๊ณผ์ ์์ ๋ ์๋ฒฝํ ํ๋ก์ ํธ๋ฅผ ํด๋ผ ์ ์๋ค. ๐ฆ ๋ณ์ ๋ณ์๋ฅผ ์์ฑํ๊ณ ์ด๊ธฐํํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค. var name = 'Bob'; name์ด๋ผ๋ ๋ณ์๋ 'Bob'์ด๋ผ๋ ๊ฐ์ ๊ฐ์ง๊ณ ์๋ String ๊ฐ์ฒด์ ๋ ํผ๋ฐ์ค๋ฅผ ํฌํจํ๋ค. ํ์
์ถ๋ก ์ ํตํด name์ ํ์
์ String์ผ๋ก ์ถ๋ก ๋๋ค. ๋ง์ฝ ๊ฐ์ฒด๊ฐ ๋จ์ผ ํ์
์ผ๋ก ์ ํ๋์ง ์๋๋ค๋ฉด, Object ํ์
์ผ๋ก ๋ช
์ํ๋ฉด ..
์ฐธ๊ณ ์ฌ์ดํธ • ๋ฆฌ์กํธ ๊ณต์ ๋ฌธ์ - useContext ๐ useContext useContext๋ ์ปดํฌ๋ํธ์ Context๋ฅผ ์ฝ๊ณ ๊ตฌ๋
ํ๊ฒ ํด์ฃผ๋ ๋ฆฌ์กํธ Hook์ด๋ค. ๋ฆฌ์กํธ์์ ๋ฐ์ดํฐ๊ฐ์ ํ์ ์ปดํฌ๋ํธ๋ก ์ ๋ฌํ๊ธฐ ์ํด ์ปดํฌ๋ํธ ํธ์ถ ์, ๋ฐ์ดํฐ prop์ ๋ด๊ณ , ํด๋น props๋ฅผ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ค. useContext๋ ํด๋น ๊ณผ์ ์ ์๊ด์์ด useContext๋ก ๊ฐ์ผ ์ปดํฌ๋ํธ๋ค์ ํด๋น ๋ฐ์ดํฐ๋ฅผ ์ ๊ทผํ ์ ์๋๋ก ๋์์ค๋ค. ๋น์ทํ ๊ธฐ๋ฅ์ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก๋ recoil์ด ์๋ค. ๐ฆ Parameter useContext ์ปจํ
์คํธ๋ฅผ ์ฝ๊ณ ๊ตฌ๋
ํ๋ ค๋ฉด ์ปดํฌ๋ํธ ์ต์์์์ ํธ์ถํด์ผํ๋ค. const value = useContext(SomeContext); • SomeContext: ํด๋น ์ปจํ
์คํธ๋ cr..
์ฐธ๊ณ ์ฌ์ดํธ • ๋ฆฌ์กํธ ๊ณต์ ๋ฌธ์ - useCallback • ๋ณ์ฝ๋ฉ๋์ youtube - useCallback ๊ฐ์ ๐ชฃ useCallback useCallback์ ์ฌ๋ ๋๋ง ์ฌ์ด์ ํจ์ ์ ์๋ฅผ ์บ์ํ ์ ์๋ React Hook์ด๋ค. ๐ข ์ฐธ์กฐ useCallback ์ฌ๋ ๋๋ง ์ฌ์ด์ ํจ์ ์ ์๋ฅผ ์บ์ํ๋ ค๋ฉด ๊ตฌ์ฑ ์์์ ์ต์์ ์์ค์์ ํธ์ถํ๋ฉด ๋๋ค. const cachedFn = useCallback(fn, [dependencies]); ๐ฆ Parameters • fn: ์บ์ํ๋ ค๋ ํจ์์ด๋ค. ๋ชจ๋ ์ธ์๋ฅผ ์ทจํ๊ณ ๋ชจ๋ ๊ฐ์ ๋ฐํํ ์ ์๋ค. React๋ ์ด๊ธฐ ๋ ๋๋ง ์ค์ ํจ์๋ฅผ ๋ค์ ๋ฐํํ๋ค(ํธ์ถX). ๋ค์ ๋ ๋๋ง์์ dependencies๊ฐ ๋ณ๊ฒฝ๋์ง ์์ ๊ฒฝ์ฐ ๋์ผํ ๊ธฐ๋ฅ์ ๋ค์ ์ ๊ณตํ๋ฉฐ, ๊ทธ๋ ์ง ์๋ค๋ฉด ..
์ฐธ๊ณ ์ฌ์ดํธ • ๋ฆฌ์กํธ ๊ณต์ ๋ฌธ์ - useMemo ๐ useMemo useMemo๋ ์ฌ๋ ๋๋ง ๊ฐ ๊ณ์ฐ ๊ฒฐ๊ณผ๋ฅผ *์บ์(Cache)ํ ์ ์๋ React Hook์ด๋ค. ๋น์ฉ์ด ๋ง์ด ๋๋ ์ฌ๊ณ์ฐ์ ๊ฑด๋๋ฐ๊ธฐ ์ํ์ฌ ์ฌ์ฉํ๋ค. *์บ์(Cache): ์ปดํจํฐ ๊ณผํ์์ ๋ฐ์ดํฐ๋ ๊ฐ์ ๋ฏธ๋ฆฌ ๋ณต์ฌํด ๋๋ ์์ ์ฅ์๋ก ๋ฐ์ดํฐ ์ ๊ทผํ๋ ์๊ฐ์ด ์ค๋๊ฑธ๋ฆฌ๊ฑฐ๋ ๋ค์ ๊ณ์ฐํ๋ ์๊ฐ์ ์ ์ฝํ๊ณ ์ถ์ ๊ฒฝ์ฐ์ ์ฌ์ฉ ์ถ์ฒ: Wikipedia ๋ฐํ๊ฐ์ ์บ์ฑํ๋ ๊ฒ์ ๋ฉ๋ชจ์ด์ ์ด์
(memoization)์ด๋ผ๊ณ ๋ ํ๋ฉฐ, ์ด๊ฒ์ด ์ด Hook์ด ๋ถ๋ฆฌ๋ ์ด์ ์ด๋ค. ๐ข ์ฐธ์กฐ useMemo ์ฌ๋ ๋๋ง ๊ฐ์ ๊ณ์ฐ์ ์บ์ํ๋ ค๋ฉด ๊ตฌ์ฑ ์์์ ์ต์์ ์์ค์์ ํธ์ถํ๋ค. const cachedValue = useMemo(calculateValue, [depende..