๋์ด๋ : ๊ณจ๋ 3 ๋ฌธ์ ใทใทใทใ ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ ์ ์ ์ด ๋ค ๊ฐ ์ด์ ์๋ ์์์ ํธ๋ฆฌ์ ๋ํด, ๊ทธ ํธ๋ฆฌ์์ ์ ์ ๋ค ๊ฐ๋ก ์ด๋ฃจ์ด์ง ์งํฉ์ ๊ณ ๋ฅด์. ์ ์ฒด ํธ๋ฆฌ์ ๊ฐ์ ๋ค ์ค ์งํฉ์ ์ํ ๋ ์ ์ ์ ์๋ ๊ฐ์ ๋ง์ ๋จ๊ฒผ์ ๋, ๋ค ๊ฐ์ ์ ์ ์ด ํ๋์ ํธ๋ฆฌ ํํ๋ก ์ด์ด์ง๊ฒ ๋๋ค๋ฉด ‘ใท’ ๋ชจ์์ด๊ฑฐ๋ ‘ใ ’ ๋ชจ์์ผ ๊ฒ์ด๋ค. ํธ๋ฆฌ์์ ‘ใท’์ ๊ฐ์์ ‘ใ ’์ ๊ฐ์๋ฅผ ๊ฐ๊ฐ ํธ๋ฆฌ์์ ‘ใท’ ๋ชจ์, ‘ใ ’ ๋ชจ์์ ์ด๋ฃจ๋ ์ ์ ๋ค ๊ฐ์ง๋ฆฌ ์งํฉ์ ๊ฐ์๋ผ๊ณ ํ์. ์ด์ , ๋ํ์ด๋ ์ธ์์ ๋ชจ๋ ํธ๋ฆฌ๋ฅผ ๋ค์๊ณผ ๊ฐ์ ์ธ ์ข ๋ฅ๋ก ๋๋์๋ค. D-ํธ๋ฆฌ : ‘ใท’์ด ‘ใ ’์ 3๋ฐฐ๋ณด๋ค ๋ง์ ํธ๋ฆฌ G-ํธ๋ฆฌ : ‘ใท’์ด ‘ใ ’์ 3๋ฐฐ๋ณด๋ค ์ ์ ํธ๋ฆฌ DUDUDUNGA-ํธ๋ฆฌ : ‘ใท’์ด ‘ใ ’์ ์ ํํ 3๋ฐฐ๋งํผ ์๋ ํธ๋ฆฌ ์ ์ด ๋ ๋ํ์ด๋ ํธ๋ฆฌ๋ง ๋ณด..
React-query : fetch, cache, synchronize, update(for server state)์ ์ฌ์ฉ๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค. ๊ณต์์ฌ์ดํธ React Query Hooks for fetching, caching and updating asynchronous data in React react-query.tanstack.com ๋ฐฐ๊ฒฝ server state ์ฌ์ฉ ์ ๋ฐ์ํ ์ ์๋ ๋ฌธ์ ์ ์ ๋ค์๊ณผ ๊ฐ๋ค. caching deduping(๋ฐ์ดํฐ ์ค๋ณต ์ ๊ฑฐ) update "out of date" data / know when is it reflecting updates data pagination optimization, lazy loading data memory management, garba..
query๊ฐ ์ค๋ ๋์๋ค๋ ๊ฒ์ ํ๋จํ๊ณ ๋ค์ fetchํด์ฌ ๋, queryClient.invalidateQueries ํจ์๋ฅผ ์ฌ์ฉํ๋ค. https://react-query.tanstack.com/guides/query-invalidation Query Invalidation Query Invalidation Waiting for queries to become stale before they are fetched again doesn't always work, especially when you know for a fact that a query's data is out of date because of something the user has done. For that purpose, the Quer..
query์ ๋ค๋ฅด๊ฒ CUD์ ์ฌ์ฉ๋๋ค. https://react-query.tanstack.com/guides/mutations Mutations Subscribe to our newsletter The latest TanStack news, articles, and resources, sent to your inbox. react-query.tanstack.com ์ฌ์ฉ์์ const mutation = useMutation(newTodo => axios.post('/todos', newTodo)) return ( {mutation.isLoading ? ( 'Adding todo...' ) : ( {mutation.isError ? ( An error occurred: {mutation.error.mes..
๊ธฐ๋ณธ ์ฌ์ฉ const info = useQuery('unique_key', fetchData); // fetchData๋ promise ๋ฐํ uniqueํ key๋ก ์ ์ํ๋ฉฐ, key์ ๋ฌถ์ด๋ ๋ฐ์ดํฐ๋ ๋น๋๊ธฐ ๋ฐ์ดํฐ์ด๋ค. useQuery๊ฐ ๋ฐํํ๋ result๋ ๋น๋๊ธฐ ๋ฐ์ดํฐ์ ์ํ๋ฅผ ๋ด๊ณ ์๋ค. ์ํ loading isLoading์ด true๊ฐ ๋๋ค. error isError๊ฐ true๊ฐ ๋๋ฉฐ, error์ ์๋ฌ ์ ๋ณด๊ฐ ๋ด๊ธด๋ค. success isSuccess๊ฐ true๊ฐ ๋๋ฉฐ, data์ ์ ๋ณด๊ฐ ๋ด๊ธด๋ค. idle ์ฌ์ฉ ์์ const { isLoading, isError, data, error } = useQuery('key', fetchData); // const { status, data, erro..
์น ํ์ด์ง์์ ์ฑ ๋ด๋ถ๋ก ์ ์ ๋ฅผ ์ด๋ํ๊ธฐ ์ํด ๋ฅ๋งํฌ๋ฅผ ์ฌ์ฉํ๋ค. ์ฆ, ๋ฅ๋งํฌ๋ ๋ชจ๋ฐ์ผ ์ฑ ๋ด์ ํน์ ์ฝํ ์ธ ๋ก ์ด๋ํ ์ ์๋ ๋ชจ๋ ๋งํฌ๋ฅผ ์๋ฏธํ๋ค. Deeplink ์ข ๋ฅ URL Scheme ๊ณ ์ ์ฑ://์ฝํ ์ธ ์ ํํ์ด๋ค. ์ฑ์ด ๊น๋ ค์์ ๋ ํน์ ์ฑ์ ํน์ ํ์ด์ง๋ก ์ด๋ํ๋ค. ์ฑ ๋ฏธ์ค์น ์ ๋์ํ์ง ์๋๋ค. Universal Link IOS์์๋ง ๋์ํ๋ ๋ฅ๋งํฌ์ด๋ค. ์ ๋๋ฒ์ ๋งํฌ๋ ์ฑ์์ ํ์ฉํ ๋๋ฉ์ธ์ ๋ฑ๋กํด์ฃผ์ด์ผ ํ๋ฉฐ, ์น ํ๋ก ํธ์์ .well-known/apple-app-site-association ํ์ผ์ ์ ์ํ์ฌ ํ์ฉํ path๋ฅผ ์ง์ ๊ฒฐ์ ํ ์ ์๋ค. ์ ๋๋ฒ์ ๋งํฌ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ชจ๋ฐ์ผ ์น์ผ๋ก ํน์ Path์ ํ์ด์ง์ ์ ์ ์ ์ฑ ๋ด์ ํด๋น ์์น๋ก ์ ์ ๋ฅผ ์ด๋ ์์ผ์ค ์ ์๋ค. App Link ..
๋๋ ์ต๊ทผ ๋ฒํทํ๋ ์ด์ค๋ผ๋ ํ์ฌ์ ์ ์ฌํ๊ณ '๋ ์'๋ผ๋ ์ด๋ฆ์ผ๋ก ๊ทผ๋ฌด ์ค์ด๋ค. ๊ฐ ์์ํ ๊ฐ๋ฐ์์ด๋ ๋งํผ ๊ฐ์ ํ์ ์๋์ด ๋ถ์ด ๊ต์ก์ ๋งก์์ ํด์ฃผ๊ณ ๊ณ์ ๋ฐ, ๊ธฐ์ ์ ์ธ ๋ถ๋ถ ๋ฟ๋ง ์๋๋ผ ๊ฐ๋ฐ์๋ก์์ ์ถ์ ์์ด์ ๋์์ด ๋ ๋งํ ์ด์ผ๊ธฐ๋ค์ ๋ง์ด ํด์ฃผ์ ๋ค. ๊ทธ์ ์ด๋ฆ์ '์กด'. ์ฟ ์ฟ . ์ฃผ์์ ๋ฉ์๋ ์ฌ๋์ด ์์ผ๋ฉด ๊ทธ ์ฌ๋์ ์ฌ๋ฌ ๊ฐ์ง๋ฅผ ๋ฎ์๊ฐ๋ ค ๋ ธ๋ ฅํ๋ ๊ฒ์ฒ๋ผ, ๋ ๋ํ ์กด๋์ ์ฌ๋ฌ ๊ฐ์ง๋ฅผ ๋ฎ์๊ฐ๋ ค ๋ ธ๋ ฅ ์ค์ด๋ค. ๋ง ํ๋ง๋ ํ๋ง๋ ์ฃผ๋์ด์ ๋ถ๋ด์ด ๋ ๊น ์ ๊ฒฝ ์ฐ์๋ ๋ชจ์ต๋ถํฐ ์์ ์ด ๋ชจ๋ฅด๋ ๊ฒ์ ์ธ์ ํ๊ณ ๋น ๋ฅด๊ฒ ๋ฐฐ์๋๊ฐ๋ ํ๋๋ ฅ๊น์ง. ๋น์ฅ์ ์ด๋ ๊ฒ ๊ธ์ ์ฐ๊ฒ ๋ ๊ณ๊ธฐ๋ ์กด๋์ ์ํฅ์ ๋ฐ์์ ์ผ์ง ๋ชจ๋ฅธ๋ค. ์๋ ๋๋ ๊ธ์ ์ฐ๊ธฐ๋ฅผ ๊ฝค ์ข์ํ๋ ๊ฒ ๊ฐ์๋ฐ... ์ด๋์๊ฐ๋ถํฐ ๊ธ์ ์์ฐ๊ฒ ๋์..
๋์ด๋ : ๊ณจ๋ 4 ๊ฑธ๋ฆฐ ์๊ฐ : 40๋ถ ๋ฌธ์ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ณตํต ์กฐ์ ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ ๋ฃจํธ๊ฐ ์๋ ํธ๋ฆฌ(rooted tree)๊ฐ ์ฃผ์ด์ง๊ณ , ๊ทธ ํธ๋ฆฌ ์์ ๋ ์ ์ ์ด ์ฃผ์ด์ง ๋ ๊ทธ๋ค์ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ณตํต ์กฐ์(Nearest Common Anscestor)์ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋ฉ๋๋ค. ๋ ๋ ธ๋์ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ณตํต ์กฐ์์, ๋ ๋ ธ๋๋ฅผ ๋ชจ๋ ์์์ผ๋ก ๊ฐ์ง๋ฉด์ ๊น์ด๊ฐ ๊ฐ์ฅ ๊น์(์ฆ ๋ ๋ ธ๋์ ๊ฐ์ฅ ๊ฐ๊น์ด) ๋ ธ๋๋ฅผ ๋งํฉ๋๋ค. ์๋ฅผ ๋ค์ด 15์ 11๋ฅผ ๋ชจ๋ ์์์ผ๋ก ๊ฐ๋ ๋ ธ๋๋ 4์ 8์ด ์์ง๋ง, ๊ทธ ์ค ๊น์ด๊ฐ ๊ฐ์ฅ ๊น์(15์ 11์ ๊ฐ์ฅ ๊ฐ๊น์ด) ๋ ธ๋๋ 4 ์ด๋ฏ๋ก ๊ฐ์ฅ ๊ฐ๊น์ด ๊ณตํต ์กฐ์์ 4๊ฐ ๋ฉ๋๋ค. ๋ฃจํธ๊ฐ ์๋ ํธ๋ฆฌ๊ฐ ์ฃผ์ด์ง๊ณ , ๋ ๋ ธ๋๊ฐ ์ฃผ์ด์ง ๋ ๊ทธ ๋ ๋ ธ๋์ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ณตํต ์กฐ์์ ์ฐพ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์..
Comment