๋ค์ด๋๋ฏน ์ํฌํธ ํ์ฉํ๊ธฐ๋ฌผ๋ก ๋ด๊ฐ ๋ค์ด๋๋ฏน ์ํฌํธ ์ฒ๋ฆฌ๋ฅผ ์งํํ ์ปดํฌ๋ํธ ํฌ๊ธฐ๊ฐ ๋ฏธ๋ฏธํด์, ๋ฒ๋ค์ฌ์ด์ฆ์ ํฌ๊ฒ ์ํฅ์ ์ค์ง๋ ์๋ฌธ์ด์๋ค.ํ์ง๋ง ์ด๊ฒ์ ์งํํ๋ ์ทจ์ง๋ ๋ฒ๋ค ์ฌ์ด์ฆ๋ฅผ ์ค์ฌ๋ณธ ๊ฒฝํ์ ํด๋ณด๊ณ ์ถ์ด์์๋ค.hydrate๋ผ๋ ๊ฐ๋ , ๊ทธ๋ฆฌ๊ณ ๋ฆฌ์ํธ์์์ hydrate
2๊ฐ์ ํ๋ก์ ํธ๋ฅผ ์งํํด๋ดค์ผ๋, ๋ง์ง๋ง์ผ๋ก ์ฌ์ฉ์๊ฐ ์ค์ ๋ก ์กด์ฌํ๋ ํ๋ก์ ํธ๋ฅผ ์งํํด๋ณด๊ณ ์ถ๋ค๋ ์๊ฐ์ ํจ. ์น๊ตฌ์ sns ๊ณ์ ์ ์ด์ฉํด์ ์ผํ๋ชฐ์ ์คํํด๋ณด๋ ค๊ณ ํจ.์ฒ์ ๊ธฐํํ ๋๋ ์ผํ๋ชฐ์ด๋ ์๋ฅ๋ค์ ๋ณด์ฌ์ฃผ๋ shopํ์ด์ง, ๋ง์ดํ์ด์ง ๋ฑ๋ฑ ๊ฐ๋ณ๊ฒ ์๊ฐํ๊ณ ์งํ.ํ์ง๋ง
์ข ์ฌํํ ํ์ ๊ฒ์ฌ์ ํ์ํ ์ง์๋ค์ฌ๋ฌ ๊ฐ์ง ํ์ ์ ๊ฒฐํฉํ์ฌ ํ๋์ ๋จ์ผ ํ์ ์ผ๋ก ๋ง๋ค ์ ์์&๋ฅผ ์ฌ์ฉํด์ ํ๊ธฐํจ. A&B๊ฒฐ๊ณผ๋ฌผ๋ก ํ์ํ ๋จ์ผ ํ์ ์๋ ํ์ ๋ณ์นญ(type alias)์ ๋ถ์ผ ์ ์์type ProductItemWithDiscount = Product
์๋ฐ์คํฌ๋ฆฝํธ์ anyํ์ ์ด ์๋๊ฐ?anyํ์ ์ ํ์ ์คํฌ๋ฆฝํธ์๋ง ์กด์ฌํ๋ ๋ ์์ ์ธ ํ์ ์์คํ ์ผ๋ก ๊ฐ์ฃผ๋จํ์ง๋ง anyํ์ ์ ๊ฐ๋ ์ ์ด๋ฏธ ์๋ฐ์คํฌ๋ฆฝํธ์์ ์ฌ์ฉ๋จ. ์ด๋ฆ ๊ทธ๋๋ก ์ด๋ค ํ์ ์ด๋ ๋งคํํ ์ ์๋ ์ฑ์ง์ ๊ฐ์ง๊ณ ์๊ณ , ์ด๊ฑด ์๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ์ฌ์ฉ๋ฐฉ์๊ณผ ์ผ์นํ๊ธฐ
์๋ฐ์คํฌ๋ฆฝํธ์์ ๊ฐ์ ํ์ ์ ๊ฐ์ง์ง๋ง ๋ณ์๋ ๋ณ๋์ ํ์ ์ ๊ฐ์ง์ง์์ํ์ ์คํฌ๋ฆฝํธ๋ ์ด ๋ณ์์ ํ์ ์ ์ง์ ํ ์ ์๋ ํ์ ์์คํ ์ฒด๊ณ๋ฅผ ๊ตฌ์ถํจ\-> ํน์ ํ์ ์ ์ง์ ํ ๋ณ์์ ํด๋น ํ์ ์ ๊ฐ๋ง ํ ๋น ๊ฐ๋ฅ์๋ฐ์คํฌ๋ฆฝํธ์๋ boolean ์์ ๊ฐ์ ์๋์ง๋ง ํ ๋ณํ์ ํตํด
์ ์ ํ์ ๊ณผ ๋์ ํ์ ํ์ ์ ๊ฒฐ์ ํ๋ ์์ ์ ๋ฐ๋ผ ํ์ ์ ๋ถ๋ฅ ์ ์ ํ์ (static type) ๋ชจ๋ ๋ณ์์ ํ์ ์ด ์ปดํ์ผ ํ์์ ๊ฒฐ์ . ์ฝ๋ ์์ค์์ ํ์ ์ ๋ช ์ํด์ค์ผ ํจ ๋ฒ๊ฑฐ๋กญ์ง๋ง ์ปดํ์ผํ์์ ํ์ ์๋ฌ๋ฅผ ๋ฐ๊ฒฌใดํ ์ ์๊ธฐ ๋๋ฌธ์ ํ๋ก๊ทธ๋จ์ ์์ ์ฑ์ ๋ณด์ฅ ๋์
์์ผ๋ก ์ฐํ์ค๋ฅผ ์ฝ์ผ๋ฉด์ ์ค์ํ ๋ด์ฉ๋ค์ ๋ด ๋ง๋ก ์ ์ด๋์ ๊ณํ!...๋จผ์ ...JS๊ฐ ์ด๋ป๊ฒ ๋ธ๋ผ์ฐ์ ์์ ๋๋ฆฌ ์ฌ์ฉ๋๊ธฐ ์์ํ์๊น?๋ ๊ฒฝ์ ์ ์ฒด์์ ๊ฐ์์ ๋ธ๋ผ์ฐ์ ์ ์๋ก์ด ๊ธฐ๋ฅ์ ๋น ๋ฅด๊ฒ ๋๋ฆฌ๊ธฐ ์์. ์ถ๊ฐ๋ ๊ธฐ๋ฅ์ ๊ฐ์์ ๋ธ๋ผ์ฐ์ ์์๋ง ๋์(๋ค๋ฅด๊ฒ ๋์ or ํฌ๋ก์ค
๊ธฐ์ ์ง๋ฌธJavaScript ์์ Function์์ this๋?ํ์ฌ ํจ์๋ฅผ ๋ถ๋ฅธ ๊ฐ์ฒด๊ฐ ๋๊ตฌ์ธ์ง๋ฅผ ๋ํ๋ด๋ฉฐ ๊ณ ์ ๊ฐ์ด ์๋๋๋ค. ํจ์ ๋ด this๋ ํจ์๊ฐ ํธ์ถ๋๋ ๋ฐฉ์์ ๋ฐ๋ผ ๊ฒฐ์ ๋ฉ๋๋ค.this๋ ๊ธฐ๋ณธ์ ์ผ๋ก window์์ผ๋ฐ ํจ์ ๋ด์์ ํผ์ this๋ฅผ ์ ์ธํ๋ฉด, ๊ทธ
๊ธฐ์ ์ง๋ฌธ ํด๋ก์ ๊ฐ ๋ญ๊ฐ์?ํด๋ก์ ๋ ํจ์์ ๊ทธ ํจ์๊ฐ ์ ์๋ ๋ ์์ปฌ ํ๊ฒฝ์ด ๊ฒฐํฉ๋ ์ํ๋ฅผ ๋งํฉ๋๋ค.์ด ์ํ๋ก ์ธํด ํจ์๋ ์์ ์ด ์ ์๋ ๋น์์ ๋ณ์๋ฅผ ๊ธฐ์ตํ๊ณ , ๊ทธ ๋ณ์์ ์ ๊ทผํ ์ ์๋ ๊ฒ์ ๋๋ค.MDN ๊ณต์ ๋ฌธ์ํด๋ก์ ๋ ํจ์์ ๊ทธ ํจ์๊ฐ ์ ์ธ๋ ์ฃผ๋ณ ์ํ(๋ ์์ปฌ ํ๊ฒฝ,
๋ณ๊ฒฝ์ ์ ์ฐ ๋ณ๊ฒฝ์ ์์ธกํ๋ฉด ์๋๊ณ , ๋ณ๊ฒฝ์ ๋์ํ๋ ์ปดํฌ๋ํธ๋ฅผ ์ ์ํด์ผ๋จ > 1. Headless ๊ธฐ๋ฐ์ ์ถ์ํ ํ๊ฐ์ง ์ญํ ๋ง ํ๊ธฐ ๋๋ฉ์ธ ๋ถ๋ฆฌํ๊ธฐ ์ปดํฌ๋ํธ๋ ๋ฌด์์ ํ ๊น? >๋ฐ์ดํฐ ๊ด๋ฆฌ : ์ธ๋ถ์์ ๋ค์ด์ค๋ ๋ฐ์ดํฐ, ์ํ ๊ฐ์ ๋ด๋ถ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌ UI :
:HTML์ฝ๋์ React์ธ JS์ฝ๋๋ฅผ ์๋ก ๋งค์นญ์ํค๋ ๊ณผ์ ์๋ฒ์ฌ์ด๋์์ ํด๋ผ์ด์ธํธ ์ฌ์ด๋ํํ ๋ ๋๋ง ๋ ์ ์ ํ์ด์ง, ๋ฒ๋ค๋ง๋ JSํ์ผ ๋ณด๋. ํด๋ผ์ด์ธํธ๋ ๋ฐ์์ HTML,JS ์๋ก ๋งค์นญ์ ์ ์ธ ํ์ด์ง์ ๋ฌผ์ ์ฃผ์ด ๋์ ์ผ๋ก ๋ง๋ฆ์ด๊ฒ์ ๋ํด ์์๋ณด๊ธฐ ์ ๋ฆฌ์ํธ์ ์นํ์ด์ง
์ต๊ทผ next.js ํ๋ก์ ํธ์์ ์นํ์ด์ง ์ฑ๋ฅ์ ์ฌ๋ฆฌ๊ธฐ ์ํด ์ด๊ฒ์ ๊ฒ ํ๋ค ๊ธฐ์ด์ ์ธ ์ง์์ด ํํํ์ง ์๋ค๋ ๋๋์ ๋ฐ์ ์ด ํฌ์คํธ๋ฅผ ์์ฑ ์นํ์ด์ง๊ฐ ๋ ๋๋ง ๋๋ ๊ณผ์ > 1. HTML parser๊ฐ HTML์ ๋ฐํ์ผ๋ก DOM tree๋ฅผ ๊ทธ๋ฆผ CSS parser๊ฐ C
SSR์ ์ฌ์ฉํ๋ฉด JavaScript ๋ฒ๋ค์ด ๋ก๋๋๊ณ ์คํ๋๊ธฐ ์ ์ ์ฌ์ฉ์๊ฐ ํ์ด์ง์ ์ฝํ ์ธ ๋ฅผ ๋ณผ ์ ์์๋ชฉ์ : ์ฑ์ ์ฌ์ฉ์๊ฐ ์ฝํ ์ธ ๋ฅผ ๋ ๋นจ๋ฆฌ ๋ณด๊ณ ํจ์ฌ ๋ ๋น ๋ฅด๊ฒ ์ํธ ์์ฉ์ ์์์ ํ๋ธ,๋ค์ด๋ฒ ๋ฑ๋ฑ ํ ์ฌ์ดํธ์ ๊ฒฝ์ฐ, ๋๋ฆฐ ๋คํธ์ํฌ ํ๊ฒฝ์์๋ ๋ทฐํฌ์ธํธ์ ์ผ๋ถ๋ถ์
์๋ฌด๋ฆฌ '๋ค๋ก ๊ฐ๊ธฐ'๋ฒํผ์ ๋๋ฌ๋ https://www.recordyslow.com/mypage?tab=๋ก๊ทธ์ธ์ ๋ณด์์ ๋ฒ์ด๋์ง์ง ์๋ ํ์์ด ๋ฐ์ํจ ์ด๋ฐ์์ผ๋ก tab์ ์ ํํ์ง ์์ ์ํ(๋ง์ดํ์ด์ง ๋ฒํผ์ ๋๋ ์๋)๋ '๋ก๊ทธ์ธ ์ ๋ณด' ํญ์ผ๋ก ๊ฐ๊ฒํด๋์. ํ์ง๋ง,
๋ค์ด๊ฐ๊ธฐ ์ ์...์ง๊ธ๊น์ง ์๊ฒผ๋ ์๋ฌธ๋ค์ ์ ๋ฆฌํด๋ณด์Q1. SSR์ ๋น๋์์ ์ ๋ฐ์ดํฐ๋ฅผ ๋ค ๊ฐ์ ธ์ค๋๊ฒ ์๋๋ฐ ์ด๋ป๊ฒ SEO ์ธก๋ฉด์ ์ ๋ฆฌํ ๊ฑธ๊น?SSR(์๋ฒ ์ฌ์ด๋ ๋ ๋๋ง)์ ๊ฐ ์์ฒญ๋ง๋ค ์๋ฒ ์ธก์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ ํ์ด์ง๋ฅผ ๋ ๋๋งํจ. ๋ฐ๋ผ์ SSR์ ๋น๋ ์์ ์ ๋ฐ์ดํฐ
React-Query + Next.js ์ด๋ฒ ํ๋ก์ ํธ๋ ๋ฆฌ์ํธ ์ฟผ๋ฆฌ์ ๋ฅ์คํธ๋ฅผ ๊ฐ์ด ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๋ฆฌ์ํธ์ฟผ๋ฆฌ ๊ณต์๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ๋ค. SSR react-query๋ SSR์ ์ํด ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ ๋ฐ์ดํฐ ํ๋ฆฌํจ์นญ์ ์ง์ํจ ์๋ฒ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ queryClient์
๋ด์ฅ๋ ์ฝ๋๋ถํ ๊ธฐ๋ฅ์ ํตํด ๋์. /page ๋๋ ํ ๋ฆฌ ๋ด์ ๊ฐ ํ์ผ์ ๋น๋ ๋จ๊ณ์์ ์์ฒด ์๋ฐ์คํฌ๋ฆฝํธ ๋ฒ๋ค๋ก ์๋๋ถํ ๋จ์ด๊ฒ ๋ฌด์จ๋ง์ด๋๋ฉด...Next.js์์ ํ์ด์ง๋ /page ๋๋ ํ ๋ฆฌ์ ์์นํจ. ์ด ๋๋ ํ ๋ฆฌ ๋ด์ ๊ฐ ํ์ผ์ ํด๋น ํ์ด์ง์ ๋ํ ๊ธฐ๋ฅ๊ณผ ๋ก์ง์ ํฌํจํจ.
React๋ฅผ ์ด์ฉํ ์น ์ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค๊ธฐ ์ํ framewrokReact : โA JavaScript library for building user interfacesโ Angular : 'Angular is an application-design framework
์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์. >์๋ฃ๊ตฌ์กฐ๋ ๋ฐ์ดํฐ๋ฅผ ์ํ๋ ๊ท์น ๋๋ ๋ชฉ์ ์ ๋ง๊ฒ ์ ์ฅํ๊ธฐ ์ํ ๊ตฌ์กฐ์ ๋๋ค. ์๊ณ ๋ฆฌ์ฆ์ ์๋ฃ๊ตฌ์กฐ์ ์์ธ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํด ์ด๋ ํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ์ฌ๋ฌ ๋์๋ค์ ๋ชจ์์ ๋๋ค. ์๊ฐ๋ณต์ก๋์ ๊ณต๊ฐ๋ณต์ก๋์ ๋ํด์ ์ค๋ช ํด์ฃผ์ธ์. >
OSI 7๊ณ์ธต์ ๋ํด์ ์ค๋ช ํด๋ณด์ธ์.๊ตญ์ ํ์คํ ๊ธฐ๊ตฌ์์ ์ ์ํ ํ์ค์ผ๋ก ์ปดํจํฐ ๋คํธ์ํฌ์์ ๋ฐ์ดํฐ ํต์ ์ ๊ณผ์ ์ ์ผ๊ณฑ ๊ฐ์ ๊ณ์ธต์ผ๋ก ๋๋ ๊ฐ๋ ๋ชจ๋ธ์ ๋๋ค. ๊ฐ๊ฐ์ ๊ณ์ธต์ ํน์ ํ ๊ธฐ๋ฅ์ ์ํํ๊ณ , ๋ฐ์ดํฐ ํ๋ฆ์ ์กฐ์ ํ๋ฉฐ, ํต์ ์ ํ์ํ ์๋น์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. 7๊ณ์ธต์ ์ต