230822(ํ)
๐ค ์ฑ์ฅ์ผ์ง 7.0
์ฑ
ํ๋ณตํ ์ด๊ธฐ์ฃผ์์(์จ์ธ ๋ค์ด์ด)
์ ๋ด์ฉ์ ์๊ทน๋ฐ์ ์์ํ๋ ์๋ฐํ ์ฑ์ฅ๊ธฐ๋ก
์ด์์๋ ๊ฝ๊ณผ ์ฃฝ์ ๊ฝ์ ์ด๋ป๊ฒ ๊ตฌ๋ณํ๋๊ฐ?
์ฑ์ฅํ๊ณ ์๋ ๊ฒ์ด ์ด์ ์๋ ๊ฒ์ด๋ค.
์๋ช ์ ์ ์ผํ ์ฆ๊ฑฐ๋ ์ฑ์ฅ์ด๋ค!
โ (7.0)<์์ ๊ฐํธ>
ํ์ธ๋ง ํ์ต๋ฒ
์ ์๊ฒ ๋๋งํผ, ์ฑ์ฅ์ผ์ง๋ ์ ๋ง ๊ทธ ๋ ์ ํค์๋ ์ค์ฌ์ผ๋ก ๊ฐ๋จํ๊ฒ ์ ๋ฆฌํ๋๋ก ํ๋ค.
โ๏ธ ํค์๋: ์ง๊ด์ ์ด๊ณ ์ฝ๊ณ ๊ฐ๋จํ๊ฒ ์์ฑ
husky
- git hook์ ์ฝ๊ฒ ๊ด๋ฆฌํ ์ ์๊ฒ ๋์์ฃผ๋ ํจํค์ง์ด๋ค.
- git hook์ git์ ํน์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ์ ๋ ์คํ๋๋ ์คํฌ๋ฆฝํธ์ด๋ค.
- ์๋ฅผ ๋ค์ด,
pre-commit
์ด๋ผ๋ git hook์ commit์ ํ๊ธฐ ์ ์ ์คํ๋๋ ์คํฌ๋ฆฝํธ์ด๋ค. - ๋,
pre-push
๋ผ๋ git hook์ push๋ฅผ ํ๊ธฐ ์ ์ ์คํ๋๋ ์คํฌ๋ฆฝํธ์ด๋ค.
useEffect vs useLayoutEffect
- useEffect๋ ๋ ๋๋ง์ด ์๋ฃ๋ ํ, ์ฆ ๋ธ๋ผ์ฐ์ ๊ฐ repaint๊น์ง ์๋ฃ๋ ํ์ ์คํ๋๋ค.
- useLayoutEffect๋ ๋ ๋๋ง์ด ์๋ฃ๋ ํ, ๋ธ๋ผ์ฐ์ ๊ฐ repaintํ๊ธฐ ์ ์ ์คํ๋๋ค.
- react ๊ณต์๋ฌธ์์์๋ useLayoutEffect๊ฐ ํผํฌ๋จผ์ค๋ฅผ ์์์ํฌ ์ ์๊ธฐ์ ๊ฐ๋ฅํ๋ฉด useEffect๋ฅผ ์ฌ์ฉํ๋ผ๊ณ ๊ถ์ฅํ๋ค.
- ์ฐธ๊ณ : https://react.dev/reference/react/useLayoutEffect
shebang
#!
์ผ๋ก ์์ํ๋ ํน๋ณํ ์ฃผ์์ด๋ค.- ๋ฆฌ๋ ์ค์์๋ ์ด ์ฃผ์์ ํตํด ํด๋น ํ์ผ์ ์คํํ ๋ ์ด๋ค ์ธํฐํ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํ ์ง ๊ฒฐ์ ํ๋ค.
- ์๋ฅผ ๋ค์ด,
#!/usr/bin/env node
๋ผ๊ณ ์ ํ์์ผ๋ฉด node๋ก ์คํํ๋ผ๋ ์๋ฏธ์ด๋ค. - ํ์ฅ์๊ฐ ์์ด๋ ์คํ์ด ๊ฐ๋ฅํ๋ค.
.bin
- npm์ผ๋ก ์ค์นํ ํจํค์ง์ ์คํํ์ผ์ด ์์นํ๋ ํด๋์ด๋ค.
- npm์ผ๋ก ์ค์นํ ํจํค์ง์ ์คํํ์ผ์
node_modules/.bin
์ ์์นํ๋ค. - ํน์ ๋ช
๋ น์ด๋ฅผ ๊ฐ์ง ํจํค์ง๋ฅผ ๊ฐ๋ฐํ๊ณ ์ถ์ ๋, package.json์
bin
์์ฑ์ ๋ช ๋ น์ด์ ์คํํ์ผ์ ๊ฒฝ๋ก๋ฅผ ์ ์ด์ฃผ๋ฉด ๋๋ค. - ์ฐ๋ฆฌ๊ฐ globalํ๊ฒ ์ฌ์ฉํ๋ ์ฌ๋ฌ ๋ช
๋ น์ด๋ค๋ ์ด๋ฐ ์์ผ๋ก ๋ง๋ค์ด์ ธ์๋ค.
echo $PATH
๋ฅผ ํตํด ํ์ธํด๋ณด๋ฉด,/usr/local/bin
์ ๋ง์ ๋ช ๋ น์ด๋ค์ด ์์นํด์๋ค.
๐ ํ๊ณ
์ํฐ๋ ์ธํด์ญ ์ฒซ๋ฒ์งธ ์ธ์ ์ ๋ค์๋ค. ๊ฐ๋ฐ ๊ณต๋ถ๋ฅผ ํ๋ฉด์ ๋ช๋ฒ ๋ค์ด๋ณธ ๋ถ์ด ๋ฉํ ๋์ด์ ์ ๋๋๋ค. ์ด๋ฆ์ ๋ค์๋๋งํผ ์ธ์ ์งํ์ ๋๋ฌด ์ํด์ฃผ์ ์ ๋ ๋๋๋ค. ใ ใ ใ ใ ใ prettier, eslint, husky์ ๋ํด์ ์ด๋์ ๋ ์๋ค๊ณ ์๊ฐํ๋๋ฐ ์๋กญ๊ฒ ์๊ฒ๋ ๋ถ๋ถ๋ค์ด ์์ด์ ์ข์๋ค.(ํนํ husky๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด prettier์ eslint๋ฅผ cli๋ก๋ ๋์ด์ผ ํ๋ค๋ ๊ฒ!)
๊ทธ๋ฆฌ๊ณ ๊ฐ๋ฐ์๋ ํญ์ ์๋ํํ๋ ๊ฒ์ ์๊ฐํด์ผํ๋ค๋ ๋ง์ด ๋๋ฌด ์ธ์๊น์๋ค.(ํ์์ ๋๋ ์๋์ผ๋ก ํ๋ ๊ฒ๋ ๊พธ์ญ๊พธ์ญํ๋ ์คํ์ผ์ด๋ผโฆ)
๋ชจ์์ค๋ฅผ ์ฝ์ง ๋ชปํ ๊ฑด ์์ฝ์ง๋ง, ๊ทธ๋๋ ๊ณํํ๋๋ก ๋ง์ ๊ฒ๋ค์ ํด์ ๋ฟ๋ฏํ ํ๋ฃจ์๋ค :)