์๋ฐ์คํฌ๋ฆฝํธ์ ๊ฐ๋ ์ ๊ณต๋ถํ๋ค ๋ณด๋ฉด ํ์์ ์ผ๋ก ๋ง์ฃผ์น๊ฒ ๋๋ ํธ์ด์คํ ์ ๋ํด ๋ฐ๋ก ์ ๋ฆฌํด ๋ณธ๋ค. ํธ์ด์คํ Hoisting ์๋ฐ์คํฌ๋ฆฝํธ์์ ๋ณ์ ์ ์ธ์ด๋ ํจ์ ์ ์ธ์ด ํด๋น ์ค์ฝํ์ ์ต์๋จ์ผ๋ก ์ฌ๋ ค์ง๋ ํ์์ ๋งํ๋ค. ๋ณ์์ ํธ์ด์คํ ๋จผ์ ๋ณ์์์์ ํธ์ด์คํ ์ ์์๋ณด์. var๋ก ์ ์ธํ ๋ณ์ console.log(hi); // undefined var hi = 'hello'; ์์ ๊ฐ์ ์ฝ๋๊ฐ ์์ ๋, undefined๊ฐ ์ถ๋ ฅ๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค. ๊ทธ ์ด์ ๊ฐ ๋ฐ๋ก ํธ์ด์คํ ๋๋ฌธ์ธ๋ฐ, ๋ณ์ hi์ ์ ์ธ๋ฌธ์ด ๋จผ์ ์ต์๋จ์ผ๋ก ์ฌ๋ผ๊ฐ ๋ฒ๋ ค ์ ์ธ๋์์ง๋ง ์์ง 'hello'๋ผ๋ ํ ๋น์ ๋ฐ๊ธฐ ์ ์ธ ์ํ์ด๋ค. var ํค์๋๋ก ์ ์ธ๋ ๋ณ์์ ๊ฒฝ์ฐ ์ ์ธ๊ณผ ๋์์ undefined๋ก ํ ๋น๋๋ค๋ ํน์ง์ด ์๋ค. let ๋๋..
'Restful API๋?' ์ด๋ผ๋ ์ง๋ฌธ์ ๋ต๋ณ์ ์ํ REST API์ ๋ํ ๋ด์ฉ์ ์ ๋ฆฌํด๋ณธ๋ค. RESTful API๋ ๊ฒฐ๊ตญ RESTํ๋ค๋ ์๋ฏธ์ธ๋ฐ, ๋จผ์ REST๊ฐ ์ด๋ค ์๋ฏธ์ธ์ง๋ถํฐ ์์์ผํ ํ์์ฑ์ด ์๊ฒ ๋ค. REST API REST API๋ HTTP๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ๋ฆฌ์์ค์ ์ ๊ทผํ๋ ๋ฐฉ์์ ๊ท์ ํ ์ํคํ ์ฒ REST๋ REpresentational State Transfer์ ์ฝ์๋ก, ์์(Resource)์ ๋ํ ์์ฒญ์ ํ์(HTTP Method)๋ก ์ฒ๋ฆฌํ๋ค. ์ฃผ๋ก JSON, XML ํ์์ ๋ฐ์ดํฐ๋ก ๋ฐํ๋์ด ์ฒ๋ฆฌ๋๋ค. REST์ ๊ตฌ์ฑ ์์(Resource) - URI (์๋ํฌ์ธํธ) ํ์(Verb) - HTTP Method (HTTP ์์ฒญ ๋ฉ์๋) ํํ(representations) -..
www.google.com ์ ์ฃผ์์ฐฝ์ ์ ๋ ฅํ์ ๋ ์ผ์ด๋๋ ์ผ ๊ผญ ๊ตฌ๊ธ์ด ์๋๋๋ผ๋, ์ฐ๋ฆฌ๋ ์ด๋ค ์ฃผ์๋ฅผ ๋ธ๋ผ์ฐ์ ์ ์ฃผ์์ฐฝ์ ์ ๋ ฅํ์ ๋, ํ์ด์ง๊ฐ ๋ฐ๋ก ๋จ๋ ๊ฒ์ ๋น์ฐํ๊ฒ ์๊ฐํ๊ณ ์๋ค. ์ด๋ค ์์ผ๋ก ๊ทธ ํ์ด์ง๋ฅผ ๋ถ๋ฌ์ค๋์ง์ ๋ํด ๊ณ ๋ฏผํด ๋ณธ ์ ์ด ์๋๊ฐ? ๋ธ๋ผ์ฐ์ ์ ๋ ๋๋ง ๊ณผ์ ์ ๋ํด ๋ค์ ๊ณต๋ถํ๋ค๋ณด๋ ์ด ๊ณผ์ ์ด ๊ถ๊ธํด์ง๊ธฐ๋ ํ๊ณ , ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๋ผ๋ฉด ๋ฐ๋์ ์๊ณ ์์ด์ผ ํ ๋ด์ฉ์ธ ๊ฒ ๊ฐ์ ํ๋ฒ ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํ๋ค. ๊ฒฐ๊ตญ ์นํ์ด์ง์ ์ฐ๋ฆฌ๊ฐ ์ํ๋ ํ๋ฉด์ด ๋ณด์ด๋ ค๋ฉด ์๋ฒ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์์ผ ํ๋ค. ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ค๊ธฐ ์ํ ๊ณผ์ ์ ๋์ดํด๋ณด์! www.google.com๋ก๋ถํฐ IP ์ฃผ์ ์ป์ด์ค๊ธฐ ๋๋ฉ์ธ ๋๋ฉ์ธ์ด๋ผ๋ ๊ฒ์ ํ๋ฒ์ฏค ๋ค์ด๋ดค์ ๊ฒ์ด๋ค. ์ฝ๊ฒ ๋งํ๋ฉด ๊ฐ๊ฐ์ IP ์ฃผ์์ ๋ถ์ ์ด๋ฆํ ๊ฐ์ ๊ฒ์ด๋ค. IP..
Today, What I learned? ๋ด ํํธ๋ ์๋์์ง๋ง ๊ธํ๊ฒ ์ข์์ ๊ด๋ จ ๋ฒ๊ทธ๋ฅผ ์์ ํ๊ฒ ๋์๋ค. ๋ด๋นํ์ง ์์๋ ํํธ๋ผ ์ฝ๋๋ฅผ ๋ค์ฌ๋ค๋ณผ ์ผ์ด ๋ง์ง ์์๋๋ฐ ์คํ๋ ค ์ข์!.. ์ด๋ฒ ๋ฒ๊ทธ๋ ์๋ก๊ณ ์นจ ํ์ ๋ ํํธ๊ฐ ์ ์ง๋์ง ์๋ ๋ฒ๊ทธ์๋ค. ๋ถ๋ช ์ด์ ์๋ ๋์๋ ๊ฒ ๊ฐ๊ธฐ๋ ํ๋ฐ ๊ทธ ์ฌ์ด ์์ ์ด ๋๋ฉด์ ๋ญ๊ฐ ๋ฒ๊ทธ๊ฐ ์๊ธด ๋ฏ.. ๐ค ์์ธ ํ์ myProjects ์ปฌ๋ ์ ์ ํ์ฌ ํ๋ก์ ํธ id ๊ฐ์ด ํ์ธ๋์ด์ผ๋ง ํํธ๋ฅผ ์ฑ์ฐ๋ isLike๊ฐ ํ๋จ๋ ์ ์๋๋ฐ, ์๋ก๊ณ ์นจ ํ์ ๋ useQuery์์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ค๋ ์๊ฐ์ด ์์ด์ ์ฒ์์ undefined๋ก ๊ฐ์ด ๋ค์ด๊ฐ ๋ฒ๋ฆฌ๋ ๊ฒ ๋ฌธ์ ์ธ ๋ฏํ๋ค. ๊ทธ๋์ ์๋ก๊ณ ์นจํ๊ณ ํํธ๊ฐ ํ๋ฆฌ๋๊น ๋ค์ ๋๋ฅด๋ฉด ์ซ์๊ฐ 1์ฉ ๋์ด๋๋.. ์ด์ํ ๋ฒ๊ทธ.. ๋ก๊ทธ๋ฅผ ๋ณด๋ฉด true๋ก m..
Today, What I learned? ์ ์ ํผ๋๋ฐฑ์ ๋ฐ์ํ์ฌ, ๊ธฐ์กด์ ๊ณต์ ๊ธฐ๋ฅ์์ ์นด์นด์คํก ๊ณต์ ๋ฅผ ์ถ๊ฐํ๊ธฐ๋ก ํ๋ค. (์๋ฌด๋๋ ๋ง์ด ์ฐ์ด๋๊น) ์ด์ ํ๋ก์ ํธ์๋ ๊ตฌํ๋์ด ์๋ ๋ถ๋ถ์ด๋ผ (๋ด๋นํ์ง ์์) ๊ฝค ๋ง์ ์ฐธ๊ณ ๋ฅผ ํ์์๋?.. ์กฐ๊ธ ๋ค๋ฅด๊ฒ ์ ์ฉํ๋ ค๋ค ๋ณด๋ ์ค๋ฅ๊ฐ ์ข ๋ฐ์ํด์ ๊ธฐ๋ก.. ์ฌ์ ์์ ์ผ๋จ ์นด์นด์ค ๋๋ฒจ๋กญ์ค์์ ์ฑ ๋ฑ๋ก๊ณผ ํ๋ซํผ์ ๋๋ฉ์ธ ๋ฑ๋ก์ด ํ์ํ๋ค. ์ฑ์ ๋ฑ๋กํ๋ฉด ์ฑ ํค๋ฅผ ํ์ธํ ์ ์๊ณ , ์ฌ๊ธฐ์ ํ์ํ ๊ฐ์ ์๋ฐ์คํฌ๋ฆฝํธ ํค๊ฐ. env ํ์ผ์ ์ถ๊ฐํด ์ฃผ์! ๋ ํ๋ซํผ์์ Web์ ๋๋ฉ์ธ์ ์ถ๊ฐํด ์ค๋ค. ๋๋ ๋ฐฐํฌ์ฃผ์๋ ๋ก์ปฌํธ์คํธ๋ฅผ ์ถ๊ฐํด ์ฃผ์๋ค. ์ถ๊ฐ์ ์ผ๋ก PR์ vercel ํ๋ฆฌ๋ทฐ์์ ํ์ธํ๊ณ ์ถ๋ค๋ฉด ํ๋ฆฌ๋ทฐ ์ฃผ์๋ฅผ ์ถ๊ฐํด์ค์ผ ํ๋ค. index.html index.html์ ํค๋ ..
Today, What I learned? ์ฃผ๋ง์ฏค์ ๋์์ธ ์์ ์ฌํญ์ ๋ฐ์ํ๋ ์ถ๊ฐ ๊ธฐ๋ฅ์ธ ์ธํ ํ๊ทธ ํด๋ฆฌ์ด ๋ฒํผ์ด ์ ๋๋ก ๋์ํ์ง ์๋ ์ด์.. ๋ฒ๊ทธ๋ฅผ ํด๊ฒฐํ๋ค๊ฐ ์ ์ด ์ปดํฌ๋ํธ์ ๋น์ ์ด ์ปดํฌ๋ํธ์ ๋ํด์๋ ์ฐพ๊ฒ ๋์ด์ ํ ๋ฒ ์ ๋ฆฌํด ๋ณธ๋ค. ์์ธ ํ์ ์ผ๋จ ์ฒ์์ ๋์์ด ์ ๋๋๋ฐ, ํ ๋ฒ ์ง์ฐ๊ณ ๋ ๋ค๋ถํฐ ์ ๋๋ก ๋์์ด ๋์ง ์์๋ค. ๊ทธ๋์ ๋ก๊ทธ๋ฅผ ์ฐ์ด๋ณด๋.. state๋ ๋ณ๊ฒฝ์ด ์ ๋์์ง๋ง input์ฐฝ์ ๋น์ด๋ฒ๋ฆฐ ๊ฐ์ด ๋ค์ ๋ฐ์์ด ์ ๋๊ณ ์๋ ์ํ.. input ํ๊ทธ์ state์ ๊ฐ์ด ์ฆ๊ฐ์ ์ผ๋ก ๋ฐ์์ด ๋์ง ์๊ณ ์๋ค๋ ๊ฒ์ ํ์ธํ๋ค. ์์ธ์ ๋ฐ๋ก defaultValue !.. ๋ง์ดํ์ด์ง๋ ๋์ฒด๋ก ์์ ํ๋ ์์ญ์ด๊ธฐ ๋๋ฌธ์ ๋ฌด์์์ ์ผ๋ก value ๋์ defaultValue๋ฅผ ์ถ๊ฐํ๋ ๊ฒ ๊ฐ๋ค. (๊ธฐ..
Today, What I learned? ์ง๊ธ ํ๋ก์ ํธ์์ ์ฌ์ฉ๋๊ณ ์๋ ๋ฆฌ์กํธ ์ฟผ๋ฆฌ์ staleTime๊ณผ CacheTime, invalidateQueries์ ๋ํ ๊ฐ๋ ์ด ์ ๋ฆฝ๋์ด ์์ง ์์ ๊ฒ ๊ฐ์์ ํ๋ฒ ์ ๋ฆฌํ๋ฉด์ ๊ณต์๋ฌธ์๋ ์ฝ์ด๋ณด๊ณ .. ๋ฏธ๋์ ๋๋ฅผ ์ํ ๊ธฐ๋ก!.. ๊ณต์ ๋ฌธ์ ๋งํฌ๋ ์ด์ชฝ์ด๋ค. https://tanstack.com/query/latest/docs/react/overview Overview | TanStack Query Docs TanStack Query (FKA React Query) is often described as the missing data-fetching library for web applications, but in more technical terms, it ma..
Today, What I learned? ์ฌ์ค์ ๋ผ๋์ค๋ผ๋ ์ฝ์์ ๋ผ๋์ค๋ฒํผ์ ํด๋นํ๋ ๊ฒฝ๋ ฅ ๋ถ๋ถ ์ปดํฌ๋ํธ์ ๋ค์ด๊ฐ ์์์๋ ๋ถ๊ตฌํ๊ณ , ์ ์ฒด์ ์ผ๋ก ๋ ๋๋ง์ด ๋๋ ๊ฒ์ ์ ์ ์์๋ค. ๋ถ๋ชจ์ปดํฌ๋ํธ์ ์ํ๊ฐ ๋ณ๊ฒฝ๋์๊ธฐ ๋๋ฌธ์!... ์ด๋ฐ ์ธ๋ฐ์๋ ๋ ๋๋ง ํ์๋ฅผ ์ค์ด๊ณ ์, React.memo๋ฅผ ์ ์ฉํ๊ธฐ๋ก ํ๋ค. UserTopInfo -> ์ฒดํฌ ์์ญ์ ๊ฐ์ธ๋ ์ปดํฌ๋ํธ -> ์ฒดํฌ๋ฐ์ค/๋ผ๋์ค ๋ฒํผ ์ปดํฌ๋ํธ ํํ๋ก ๊ตฌ์ฑ์ด ๋์ด์์ด์, ํด๋ฆญ์ ์ฃผ์ฒด๊ฐ ๋๋ ๊ฐ์ฅ ๋ด๋ถ ์ปดํฌ๋ํธ์ธ ์ฒดํฌ๋ฐ์ค์ ๋ผ๋์ค ๋ฒํผ ์ปดํฌ๋ํธ์ memo๋ฅผ ์ ์ฉํ๋ค. ๋ ๋ค userTopInfo์์ ์ ์ญ ์ํ์ธ userInfo๋ผ๋ props๋ฅผ ๊ณตํต์ ์ผ๋ก ๋ฐ๊ณ ์๋ค. (์ ์ ๊ฐ ์์ ํ ์ ๋ณด์ ๋ํ ๋ถ๋ถ!) profiler ์ ๋ณด ์์ ๊ณผ ๊ด๋ จ๋ UserInfoT..
์ด๋ค ์๋ฌ? ํ๋กํ ์ด๋ฏธ์ง๊ฐ ์ฌ์ฉ๋๋ ์ด๋ ๊ณณ์ด๋ ๋ํ๋๋ ์ด 403 ์๋ฌ.. ํ๋กํ ์ด๋ฏธ์ง๋ฅผ ์ ๋๋ก ๋ชป๊ฐ์ ธ์์ ๊ทธ๋ฐ ๋ฏ ๋ณด์๋ค. ๊ทธ๋์ ํ๋กํ ์ด๋ฏธ์ง๊ฐ ๋น๋ฒํ๊ฒ ์ ๋๋ก ๋จ์ง ์์๋ค. ์ด๋ ๊ฒ ๋น์ด์๋ ์ด๋ฏธ์ง๋ฅผ ํ์ธํด๋ณด๋ฉด src๊ฐ ๋น์ด์๋ ๊ฒ์ ๋ณผ ์ ์๋ค. ์์ธ ํ์ ์ด ๋ฌธ์ ๋ ๊ตฌ๊ธ๋ก ๋ก๊ทธ์ธํ ๊ณ์ ์๋ง ๋ํ๋๋ ํ์.. 403 ์๋ฌ๋ ์๋ฒ์ ์์ฒญ์ ํ์ง๋ง ๊ถํ์์ ๋ฌธ์ ๋ก ๊ฑฐ์ ๋์๋ค๋ ์๋ฌ๋ผ๋๋ฐ, ๋ณดํต ๋ค๋ฅธ ๋๋ฉ์ธ์์ ํธ์ถํ ๋ ๋ฐ์ํ๋ค๊ณ ํ๋ค. ๋ค๋ฅธ ๋๋ฉ์ธ์์ ์จ ์์ฒญ์์ ํ์ธํ๊ณ ๊ฑฐ์ ํ๋จ ๊ฒ์ด๋ค. ํด๊ฒฐ ๊ณผ์ https://stackoverflow.com/questions/56242788/http-403-on-images-loaded-from-googleusercontent-com HTTP 403 on ..
Today, What I learned? ๋ง์ดํ์ด์ง์ UI๊ฐ ๊ฝค.. ๋ณ๊ฒฝ์ด ๋์๋ค. ๊ธฐ์กด๊ณผ ๋ค๋ฅด๊ฒ ๊ธฐ์ ์คํ๋ณ ์ด๋ฏธ์ง๋ฅผ ์ถ๊ฐํด์ผ ํ๋๋ฐ, ์ผ์ผ์ด import ํด์ฌ ์๋ ์์ผ๋.. ๋์ ์ผ๋ก ์ด๋ฏธ์ง ๊ฒฝ๋ก๋ฅผ ์ง์ ํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์ฐพ์๋ณด๊ฒ ๋์๋ค. ์์ค๋ฐ์ค๋ฅผ ๋ณด๊ณ ํ์๋ถ์ด require๋ผ๋ ํํธ๋ฅผ ์ฃผ์ จ๋ค. ๊ธฐ์กด ์ํ ๊ฐ๊ฐ ๊ธฐ์ ์คํ์ ํด๋นํ๋ ์์ด์ฝ ์ด๋ฏธ์ง ์ ์ฉ์ ์ํด ์๋์ ๊ฐ์ด ์ฝ๋๋ฅผ ์์ฑํ๋ค. ํ์ง๋ง ๋ชจ์กฐ๋ฆฌ ์๋ฐ ใ ... require() ์ ์ฉ require๋ฅผ ์๋์ ๊ฐ์ด ์ ์ฉํด๋ณด์์ ๋, ์ด๋ฏธ์ง๊ฐ ์ ๋จ๋ ๊ฒ์ ๋ณผ ์ ์๋ค. ๋ธ๋ก๊ทธ๋ค์ ๋ณด๋ค๋ณด๋ .default๋ฅผ ๋ถ์ฌ์ผ ์๋ฐ์ด ์ ๋จ๋ ๊ฒฝ์ฐ๊ฐ ๋ ์๋๋ฐ, ๋ ๊ฐ์ ๊ฒฝ์ฐ๋ ์คํ๋ ค ๋ถ์ด๋๊น ์๋ฐ์ด ๋ด๋ค. ์ผ์ด์ค ๋ฐ์ด ์ผ์ด์ค์ธ์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง? require๋ง ..
Comment