์ ์ฒด ๊ธ (70) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ ์ธ์ ์คํ ๋ฆฌ์ง, ๋ก์ปฌ ์คํ ๋ฆฌ์ง ์ด๋ค ๊ฑธ ์จ์ผํ ๊น? 2025.03.13 - [๐ฉ๐ป๐ป dev] - ๋ก์ปฌ ์คํ ๋ฆฌ์ง vs ์ธ์ ์คํ ๋ฆฌ์ง vs ์ฟ ํค ๋ก์ปฌ ์คํ ๋ฆฌ์ง vs ์ธ์ ์คํ ๋ฆฌ์ง vs ์ฟ ํคhttp ํ๋กํ ์ฝ์ ์๋ฒ์ ํด๋ผ์ด์ธํธ ๊ฐ์ ์ปค๋ฎค๋์ผ์ด์ ์ด ์ฉ์ดํ๋๋ก ์ค์ํ ํด์ค๋ค. ๋ค๋ง http ํ๋กํ ์ฝ์ stateless ํ๋กํ ์ฝ์ด๋ผ๋ ์ ์์ ์๋ฒ๋ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ด๋ ์๋ต์ ํธ๋ํน ํ์ง ์pyotato-dev.tistory.com์ด์ ๋์์ด ์ ๋งคํ๋ ๋์ useFunnel ๊ณ ์ณ๋ณด๊ธฐ๋ฅผ ์งํํ๋ฉด์ ํผ๋ ์คํญ๋ง๋ค ๋ฐ์ดํฐ๋ฅผ ์ ์งํ ๋ฐฉ๋ฒ์ ๋ํด ๊ณ ๋ฏผํ๋ ์ ์ด ์๊ฐ์ด ๋์ ๋ค๋ค๋ณด๊ณ ์ ํ๋ค. ๊ทธ์ค ์ด์ ์ ์ดํด๋ดค๋ ์ธ์ /๋ก์ปฌ ์คํ ๋ฆฌ์ง ๋ฐ ์ฟ ํค์ ๊ด๋ จํด์ ์ ํํ ์ต์ ์ ๋ํด ์ดํด๋ณด๊ณ ์ ํ๋ค.๐ค ํญ์ด๋ ํ์ด์ง๋ฅผ ๋ซ๊ณ ๋ค์ ์ง์ ํ์ ๊ฒฝ์ฐ, ํด๋น ์ ํ์ฌํญ์ด ์ ์ง๋์ด์ผํ ๊น? ์ญ.. ๋ก์ปฌ ์คํ ๋ฆฌ์ง vs ์ธ์ ์คํ ๋ฆฌ์ง vs ์ฟ ํค http ํ๋กํ ์ฝ์ ์๋ฒ์ ํด๋ผ์ด์ธํธ ๊ฐ์ ์ปค๋ฎค๋์ผ์ด์ ์ด ์ฉ์ดํ๋๋ก ์ค์ํ ํด์ค๋ค. ๋ค๋ง http ํ๋กํ ์ฝ์ stateless ํ๋กํ ์ฝ์ด๋ผ๋ ์ ์์ ์๋ฒ๋ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ด๋ ์๋ต์ ํธ๋ํน ํ์ง ์๋๋ค๋ ์ ์ด๋ค. ํด๋น ๋ฌธ์ ์ ์ ํด๊ฒฐํ๊ธฐ ์ํด ๋ก์ปฌ/์ธ์ ์คํ ๋ฆฌ์ง ๋ฐ ์ฟ ํค๋ฅผ ์ฌ์ฉํด์ ์๋ฒ๋ค ๊ฐ์ ์์ฒญ์ ํธ๋ํน ํ ์ ์๋ค.TLDR;ํ๋์ ๋น๊ตํด๋ณด๊ธฐlocal storagesession storagecookie์ ์ฅ ์ฉ๋5MB ~ 10MB๋๋ถ๋ถ 5MB์ต๋ 4KBpersistence๋ธ๋ผ์ฐ์ /ํญ์ ๋ซ์๋ ์ ์ง, ์ง์ ๋๋ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ์ญ์ ๋ฅผ ํด์ค์ผ ์ ๊ฑฐ๋๋ค.๋ธ๋ผ์ฐ์ /ํญ์ด ๋ซํ๋ฉด ์ ๊ฑฐ๋จ์ฟ ํค ์ค์ ์ ๋ฐ๋ผ ๋ค๋ฅด๋ค (session-base ๋๋ persist)scopeorigin, ๋๋ฉ์ธ์ด๋ ํ๋กํ ์ฝ์ ์ํด ๊ฐ๊ฐ ์ ์ฅ๋จ.. [ํ์ ์คํฌ๋ฆฝํธ] Type error: Re-exporting a type when 'isolatedModules' is enabled requires using 'export type'. 2025.03.12 - [๐ฉ๐ป๐ป dev] - ๐ฌ React import ์ Wrapper ํจํด ํ์ฉํด ๋ณด๊ธฐ ๊ณผ ๊ฐ์ด importํ๋ ๊ฒฝ์ฐ" data-og-host="pyotato-dev.tistory.com" data-og-source-url="https://pyotato-dev.tistory.com/entry/%F0%9F%8D%AC-React-import-%EC%8B%9C-Wrapper-%ED%8C%A8%ED%84%B4-%ED%99%9C%EC%9A%A9%ED%95%B4%EB%B3%B4%EA%B8%B0" data-og-url="https://pyotato-dev.tistory.com/entry/%F0%9F%8D%AC-React-import-%EC%8B%9C-Wrapper-%ED%8C%A8%ED%.. ๐ฌ React import ์ Wrapper ํจํด ํ์ฉํด๋ณด๊ธฐ ์ต๊ทผ์ ๋ฆฌ์กํธ์์ import ์์ wrapper ํจํด์ ํ์ฉํ๋ค๋ ๊ธ์ ์ฝ์๋ค.lodash๋ Framer Motion๋ฅผ ์ ์ฒด ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋จ์๋ก importํ๋ ์ํฉ์ด ์ข ์ข ์๋ค๊ณ ํ๋ค.์๋ฅผ ๋ค์ด, lodash๋ฅผ > ๊ณผ ๊ฐ์ด importํ๋ ๊ฒฝ์ฐ์ ๊ฐ๋ค.>import _ from 'lodash' -> imported 71.78KB>import debounce from "lodash/debounce"; -> imported 3.41KBimport merge from 'lodash/merge'; -> imported 16KB๋ฌผ๋ก ์ ์ฒด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ importํ๊ณ ์์ง๋ ์์ง๋ง, ๊ธ์ด์ด๊ฐ ์ธ๊ธํ ๋ฐ์ ๊ฐ์ด, ์ฌ๊ธฐ์ ๊ธฐ ํฉ์ด์ ธ ์๋ ํ์ผ๋ค๋ง๋ค framer-motion๋ className/bind๋ฅผ importํ๊ณ .. ๐ ๊ตฟ๋ฐ์ด CRA (Sunsetting Create React App) TLDR;๋ฆฌ์กํธ ์ฑ์ ์ค์นํ๊ธฐ ์ํด CRA๋ฅผ ์ฌ์ฉํ๊ณ ๊ณ์ จ๋์? ์ด์ ๋ CRA๊ฐ deprecate ๋ฉ๋๋ค.ํด๋น ์ด์ ๋ ํฌ๊ฒ CRA๋ ๋ผ์ฐํ , ๋ฐ์ดํฐ fetching, ์ฝ๋ ์คํ๋ฆฟ์ ์์ฒด์ ์ผ๋ก ์ง์ํ์ง ์์ ์ถ๊ฐ์ ์ผ๋ก ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์์กดํด์ผํ๋ค๋ ์ , ์ต๊ทผ ๋ง์ ํ๋ ์์ํฌ๋ค์ด ํด๋น ๋ฌธ์ ๋ค์ ํด๊ฒฐํ๊ณ ํด๋น ๊ธฐ๋ฅ๋ค์ ์ํด CRA๊ด๋ฆฌ๊ฐ ๋ถํ์ํด์ก๊ธฐ ๋๋ฌธ์ ๋๋ค.ํ๋ ์์ํฌ๋ ๋น๋ ํด๋ก ๋ฆฌ์กํธ ํ๋ก์ ํธ๋ฅผ ๋ง์ด๊ทธ๋ ์ด์ ํ๊ธฐ๋ฅผ ๊ถ์ฅํฉ๋๋ค. ๋น๋ก CRA+๋น๋ ํด๋ ์ ํ ๊ฐ๋ฅํ ์ต์ ์ด์ง๋ง ๋ผ์ฐํ , ๋ฐ์ดํฐ fetching, ์ฝ๋ ์คํ๋ฆฟ ๊ธฐ๋ฅ์ “์” ํตํฉํด๋์ Next.js, React Router, Expo์ ๊ฐ์ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์ถ์ฒํฉ๋๋ค.์์ ํ๋ ์์ํฌ๋ค์ SSR๊ณผ CSR ์ต์ ๋ชจ๋ ์ ๊ณตํฉ๋๋ค.SSR์ด SEO๋ฟ๋ง.. ์ฑ๋ฅ - intro https://web.dev/learn/performance Learn Performance | web.devThis course is designed for those new to web performance, a vital aspect of the user experience. It covers key web performance concepts and techniques for improving performance.web.dev"์ฑ๋ฅ์ ์ฑ๊ฒจ์ผ์ง"๋ผ๊ณ ์๊ฐ์ ํ๊ณ , ์๊ฒ ํ ์ ์๋ ๋ฐฉ๋ฒ๋ค์ ๋ํด ์์๋ณด๊ณ ์ฌ๊ธฐ์ ๊ธฐ ์ค์ฒํ์ง๋ง, ์ด๋ก ์ ์ธ ๊ฒ์ ๋ด๊ฐ ์ ์๊ณ , ์ฐ๊ฒฐ ์ง์ด ์ค์ ๋ก ์ ์ฉํ ์ ์๋๊ฐ๋ฅผ ์๊ฐํ๋ฉด 100% ์์ ์๊ฒ ๊ทธ๋ ๋ค๊ณ ํ๊ธฐ ์ด๋ ค์ ์์ฌ์ ๋ค.์ด๋ฒ์๋ web.dev๋ฅผ ํตํด ์๊ณ ์์๋ .. [Nextjs] Dynamic metadata tag ์์ฑํ๊ธฐ (Part.2) 2025.02.25 - [๐ฉ๐ป๐ป dev] - [Nextjs] Dynamic metadata tag ์์ฑํ๊ธฐ (SEO ์งํ 54 โก๏ธ 91) [Nextjs] Dynamic metadata tag ์์ฑํ๊ธฐ (SEO ์งํ 54 โก๏ธ 91)nextjs๋ก ํด๋ณด๊ณ ์ถ์๋ ๊ฒ์ด ์๋ค๋ฉด Metadata API ๋ฅผ ํ์ฉํด์ ๊ฐ๋จํ๊ฒ metadata tag๋ฅผ ๋ฌ์์ฃผ๋ ๊ฒ ์๋๊น ์ถ๋ค.์ค๋์ ๊ทธ ์ค ํ์ด์ง ํ๋์ ๋ฐ๋ผ ๋ค์ด๋ด๋ฏนํ๊ฒ ๋ฉํํ๊ทธ๋ฅผ ์์ฑํ ์ ์๋ ๋ฐฉ๋ฒ์ ๋pyotato-dev.tistory.com ์ด์ ์๋ /region ๊ฒฝ๋ก์ ํ์ด์ง๋ค์ ๋ํ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๋ถ์ฌ์คฌ๋ค.ํ์ง๋ง ๋น์ ์ค๋ณต๋๋ ๋ถ๋ถ์ด ๋ง์ ๊ฑฐ ๊ฐ์์ ์ข ๋ ๊ฐ๊ฒฐํ๊ฒ ํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ฐพ์๋ณด๋, ์์์ ํ์ด์ง์ ๊ณต์ ํ ๋ฉํ๋ฐ์ดํฐ ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด ์ธ .. [Nextjs] Dynamic metadata tag ์์ฑํ๊ธฐ (SEO ์งํ 54 โก๏ธ 91) nextjs๋ก ํด๋ณด๊ณ ์ถ์๋ ๊ฒ์ด ์๋ค๋ฉด Metadata API ๋ฅผ ํ์ฉํด์ ๊ฐ๋จํ๊ฒ metadata tag๋ฅผ ๋ฌ์์ฃผ๋ ๊ฒ ์๋๊น ์ถ๋ค.์ค๋์ ๊ทธ ์ค ํ์ด์ง ํ๋์ ๋ฐ๋ผ ๋ค์ด๋ด๋ฏนํ๊ฒ ๋ฉํํ๊ทธ๋ฅผ ์์ฑํ ์ ์๋ ๋ฐฉ๋ฒ์ ๋ํด ๋ค๋ฃจ๊ณ ์ ํ๋ค.Tripie ์ฑ์ ํฌ๊ฒ ๋ ๊ฐ์ง ์๋น์ค๋ฅผ ์ ๊ณตํ๋๋ฐ, ํธ๋ฆฌํ์์ ์คํฌ๋ํํ ์ฌํ์ง์ ๋ํ ํ, ์ง์ญ ์ ๋ณด๋ ์๋น ์ ๋ณด, ์ฌํ ์ผ์ ํ ๋ฑ์ ์ด๋ํ ์ ์๋ค.์ฑ์งํผํฐ ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ฉ์์ ๊ธฐํธ์ ๋ฐ๋ผ ์ฌํ์ผ์ ์ ์์ฑํด ์ค๋ค. ์ด ์ค ๋ฉํํ๊ทธ๋ก ์ผ์ ๋ฐ์ดํฐ๋ค์ด ๋ชจ๋ ์ค๋น๋ ์ฒซ ๋ฒ์งธ์ธ ์ฌํ์ง ์ ๋ณด์ ๋ํ ํ์ด์ง๋ค์ ๋ฉํํ๊ทธ๋ฅผ ์ถ๊ฐํด์ฃผ๊ณ ์ ํ๋ค. ๊ณต์๋ฌธ์๋ฅผ ์ดํด๋ณด๋ฉด, ๋ฉํํ๊ทธ๋ฅผ ๋ฌ ์ ์๋ ๋ฐฉ๋ฒ์ ๋๊ฐ์ง๋ค.Config ๊ธฐ๋ฐ : static metadata object๋ dynami.. ์ด์ 1 2 3 4 ยทยทยท 9 ๋ค์