
์ค๋์ Next JS์์ Client Data fetching ์ฌ์ฉ ์ ๋ง์ฃผํ ์ ์๋ Anchoring ์ด์์ ๋ํด ์ ๋ฆฌํ๋ ค ํฉ๋๋ค. Next JS docs์์ ๊ถ์ฅํ๊ณ ์๋ ์ฝ๋ ์คํ์ผ์ ์ ์ฉํ์ ๋ ์๊ธธ ์ ์๋ ์ด์์ด๊ธฐ ๋๋ฌธ์, ๊ด๋ จ ์ด์๊ฐ ์๊ฒผ์ ๋ ์ ๋ ๋๋ฒ๊น ์ ์๊ฐ์ ๊ฝค๋ ์ผ์ต๋๋ค. ๋จผ์ Next JS์ Data fetching์ ๋ํ ์ง์์ด ์ ๋ฌดํ ๋ถ๋ค์ ์ํด ๊ฐ๋ ๋ถํฐ ์ ๋ฆฌํ๊ณ ์ด์์ ๋ํ ํด๊ฒฐ ๊ณผ์ ์ ์ฐจ๋ก๋ก ์ ์ด๋ณด๊ฒ ์ต๋๋ค. Data fetching Next JS๋ฅผ ์ด์ฉํ Data fetching์๋ ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ๊ณต์ ๋ฌธ์๋ฅผ ์ฐธ์กฐํด์ฃผ์ธ์! getStaticProps / getServerSideProps : Server Side์์ ๋ฏธ๋ฆฌ page h..

Sticky ์คํ์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ ์คํ์ ํ์ํ ์กฐ๊ฑด์ ํ๋์ฉ ์ถ๊ฐํด๊ฐ๋ฉด์ ์ด๋ป๊ฒ ํด๊ฒฐํ ์ง๋ฅผ ๊ณ ๋ฏผํด๋ณด์. css์ poistion: sticky; ๋ฅผ ์ด์ฉํ์. ์ฐ์ Sticky๋์ด์ผ ํ๋ Element๊ฐ ์ต์๋จ์ ์์นํด์๋ค๋ฉด ์ฝ๋ค. css๋ฅผ ์ด์ฉํ๋ฉด position: relative; ์ธ ๋ถ๋ชจ์ ์๋จ์ ํด๋น Element๊ฐ sticky๋๋ค. .sticky{ position: sticky; top: 0; } https://codepen.io/bucketressi/pen/GROoeKE Sticky-1 ... codepen.io sticky container๋ฅผ ๋ง๋ค์. ์ด๋ฒ์๋ sticky header(์ฒซ๋ฒ์งธ Sticky Element) ์๋์ sticky sub-header๊ฐ ์์นํด์ผ ํ๋ค๊ณ ์๊ฐํด๋ณด์...
Main Concepts ์ฒ์ React๋ฅผ ์์ํ ๋ ๊ฑฐ์ ์ดํด ๋ชปํ๊ณ practice ์ ๋๋ง ์ฐธ์กฐํ์ ๋ฏ ์ถ์ด์ ๋ค์ ์ฝ์ด๋ณด์๋ค. ๊ฐ๋ ์ ์ด๋ฒ์ ๋ช ํํ ํ๋ค๊ฑฐ๋ ์ฒ์ ๋ค์ด๋ณธ ๊ฒ๋ค์ ์ ๋ฆฌํด๋ณด์๋๋ฐ, Main concept์์๋ ๊ฝค๋ ๋ง์๋ค. ์ด๋ฒ ๊ธฐํ๋ก ํด๋น ์ ๋ฆฌ ๊ธ์ ์ฃผ๊ธฐ์ ์ผ๋ก ๋ณด๋๋ก ํด์ผ๊ฒ ๋ค ๐ Introducing JSX React๋ ๊ธฐ์กด์ html, js ์ ๊ฐ์ด ๊ธฐ๋ฅ ๋ณ๋ก ๋ฌธ์๋ฅผ ๋๋๋ ๋ฐ์์ ํ ์ปดํฌ๋ํธ ๋จ์๋ก ๋๋๊ฒ ํจ์ผ๋ก์จ js, html(jsx), css๋ฅผ ์ปดํฌ๋ํธ ๋จ์๋ก ๋ค๋ฃฐ ์ ์๊ฒ ํ์๋ค. JSX์ ๋ด๋ถ์ ๋ณ์๋ค์ ๋ ๋ ์์ ์ ์ด๋ฏธ ๋ฌธ์์ด๋ก ๋ณ๊ฒฝ ๋๋ฏ๋ก XSS ๊ณต๊ฒฉ์ ํผํ ์ ์๋ค. Rendering Elements React๋ก ๋ง๋ค์ด์ง ์ดํ๋ฆฌ์ผ์ด์ ์ ํ๋์ root DOM ๋ ธ๋๋ฅผ ..
๊ฐ๋ฐ์ ์งํํ๋ฉด์ ์๋๋ก์ด๋ OS์์ ๋ค์ด๋ฒ ์ฑ์ ์ฌ์ฉํ ๋ (ํน์ ์๋๋ก์ด๋ ๋ฒ์ - ์๋ง๋ 11 ์ด์ ์์๋ง) flex ๋ ์ด์์์ด ๊นจ์ง๋ ์ด์๊ฐ ๋ฐ์ํ์๋ค. css๋ฅผ ๋ค๋ฐฉ๋ฉด์ผ๋ก ๊ณ ์ณ๋ณด๋ฉด์ ํด๊ฒฐํด๋ณด์๋๋ฐ, ์์ธ์ 'flex-shrink๋ฅผ ์ง์ํ์ง ์๋ ๊ฒ'์ด์๋ค. (caniuse) ๋ฐ์ํ ์น์ ๊ตฌ์ถํ ๊ฒฝ์ฐ ํด๋น ์ฌ๋ก๋ฅผ ํผํ๊ธฐ ์ํด css ์ฝ๋์ flex-shrink ์ฌ์ฉ์ ์ง์ํ๋๋ก ํ์.
Open Graph๋? ์ด๋ค ์นํ์ด์ง๋ social graph์ ์ผ๋ถ๋ถ์ด ๋ ์ ์๋๋ก ํ๋ ํ๋กํ ์ฝ์ด๋ค. Metadata og:title : url ๊ณต์ ์ ์ ๋ชฉ์ผ๋ก ๋ค์ด๊ฐ๋ ์์ญ์ด๋ค. (์นด์นด์คํก ๊ณต์ ๋ title๋ง ๊ณต์ ๋๋ค.) og:type : object์ type์ด๋ค. (ex_ video.movie, website) og:image : url ๊ณต์ ์ ๋ํ๋๋ ์ด๋ฏธ์ง์ด๋ค. og:url : graph์์ id๋ก ์ฐ์ด๋ url์ด๋ค. og:audio, og:video : audio, video ํ์ผ์ url์ด๋ค. og:description: object์ ๊ดํ ์ค๋ช ์ด๋ค.์นด์นด์คํก ๊ณต์ ์์๋ ํ์๋์ง ์๊ณ ์ฌ๋ ๊ณต์ , ๋ธ๋ก๊ทธ์์๋ description๊น์ง ํ์๋๋ค. og:site_name : ๋ฐฉ๋ํ ์น์ฌ์ด..
๋ฌธ์ ์ํฉ next/link๋ฅผ ์ฌ์ฉํ GNB์ mouseEnter event๊ฐ ์๋ํ์ง ์์์ ๋ฉ์ธ ๋ฉ๋ด์ ๋ง์ฐ์ค๋ฅผ ์์ง์ฌ๋ subMenu๊ฐ ๋ฐ๋์ง ์๋ ์ด์๊ฐ ๋ฐ์ํ๋ค. ์์ธ GNB์์ ์ฌ์ฉํ๋ LinkContext์ SuperLink๋ฅผ next/link๋ก ์ฒ๋ฆฌํ๋๋ฐ, next 12 version์์ mouseHover ์ด๋ฒคํธ๊ฐ ์ ๋๋ก ์๋ํ์ง ์๋ ๋ฌธ์ ๊ฐ ์๋ค. fix(Link): Do not ignore onMouseEnter prop with absolute href by ericmatthys · Pull Request #32012 · vercel/next.js Fixes #22733 Regardless of whether it's recommended that Link be used with e..
์์ฝ css ๋ด๋ถ์ font asset์ ๋ฐ์์ค๋ path๋ฅผ ์ ๋๊ฒฝ๋ก๊ฐ ์๋ ์๋๊ฒฝ๋ก๋ก ๋ฐ๊พธ๋ฉด ๋๋ค. ๋ฌธ์ css์ url๋ก ์ ์ํด ๋ font asset์ด ๊ฐ๋ฐ๋ชจ๋(dev)์์๋ ์ ์ ์ฉ๋๋ค๊ฐ ์ค์๋ฒ(production)์์ ๋ฐ์๋์ง ์๋ ์ด์ ์ค์ ๊ตฌํ /* style.css */ @font-face { font-family: spoqaSansNeo; font-weight: 700; src:url('/font/SpoqaHanSansNeo-Bold.ttf'); src: url('/font/SpoqaHanSansNeo-Bold.otf') format("opentype"), url('/font/SpoqaHanSansNeo-Bold.ttf') format("truetype"); } /* next.config..

Hello, I’m ressi 2021๋ ๊ฐ๋ฐ์๋ก์์ ์ฒซ ํ๊ณ ๋ฅผ ์ฐ๋ฉด์ ์์ถํ๊ณ ์ถ์ ๊ฒ์ (์ค๊ฐ๊ณผ์ ์๋ตํ๊ณ ์ด์ฐ๋๊ฑด) ์ทจ์ ์ ์ฑ๊ณตํ๊ณ ๊ฐ๋ฐ์๋ก์์ ๊ธธ์ ๊ฑท๊ธฐ ์์ํ๋ค๋ ๊ฒ์ด๋ค. ๋์๊ฒ๋ ์ด์ ์๋ก์ด ์ด๋ฆ ๋ ์(ressi)๊ฐ ์๊ฒผ๋ค. ์ฌํด ๊ฐ๋ฐ์๋ก์์ ๋๋ฅผ ๋ง๋ ์ฌ๋๋ค์ ๋๋ฅผ ์ด๋ ๊ฒ ๊ธฐ์ตํด์คฌ์ผ๋ฉด ํ๋ค. “์, ๊ทธ ์ง๋ฌธ ๋ง๊ณ ์ด์ฌํ ํ๋ ๋ ์๋”. 2021’s Key tag #์ทจ๋ฝ #์ค๋์์ง #์ฌํ #๊ฐ์กฑ #์กธ์ ์ฌํด๋ ์กธ์ ํ ์ทจ์ ์ ์ฑ๊ณตํ์ฌ ์ค๋์์ง์ด๋ผ๋ ์ฑ์ ๋ง๋๋ ๋ฒํทํ๋ ์ด์ค๋ผ๋ ํ์ฌ์ ๋ค์ด๊ฐ ์์ฃผ ์ค์ํ ํด์ด๋ค. ๊ฐ๋ฐ์๋ก์์ ์ถ์ ์์ํ๋ ํด์ด๊ธฐ๋ ํ๊ณ ๋ํ์์ผ๋ก์์ ์ํ์ ๋๋ด๋ ํด์ด๊ธฐ๋ ํ๋ค. ์๋ฐ๊ธฐ ๋๋ 1ํ๊ธฐ๋ฅผ ๋ค๋๋ ๋ด๊ฐ ํ๋ฐ๊ธฐ ๋๋ ํ์ฌ ์ผ์ ์ฒ๋ฆฌํ๊ณ ์์ผ๋ ๋ช ๊ฐ์์ ์ฐจ์ด๋ฅผ ๋๊ณ ๋..
Comment