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ํ๊ธฐ๋ฅผ ๋ค๋๋ ๋ด๊ฐ ํ๋ฐ๊ธฐ ๋๋ ํ์ฌ ์ผ์ ์ฒ๋ฆฌํ๊ณ ์์ผ๋ ๋ช ๊ฐ์์ ์ฐจ์ด๋ฅผ ๋๊ณ ๋..
๋ฌธ์ ๋ถ๋ ์ฌ์ฉ์ ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋ถ๋ ์ฌ์ฉ์ ๊ฐ๋ฐํ ๋ด์์ ์ด๋ฒคํธ ๊ฐ๋ฐ์ ๋ด๋นํ๊ณ ์๋ "๋ฌด์ง"๋ ์ต๊ทผ ์งํ๋ ์นด์นด์ค์ด๋ชจํฐ์ฝ ์ด๋ฒคํธ์ ๋น์ ์์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ๋น์ฒจ์ ์๋ํ ์๋ชจ์๋ค์ ๋ฐ๊ฒฌํ์์ต๋๋ค. ์ด๋ฐ ์๋ชจ์๋ค์ ๋ฐ๋ก ๋ชจ์ ๋ถ๋ programmers.co.kr ํ์ด ์ฒ์์๋ ์ ์ฌ ์์ด๋ ๋น ๋ช ๊ฐ์ง์ ๊ฒฝ์ฐ์ ์๊ฐ ๊ฐ๋ฅํ ์ง ๊ณ์ฐํ๋ ค๊ณ ํ์ผ๋, ์ด๋ ๊ฒ ํ๋ค๋ฉด ๊ธฐ์กด์ ์ ์ฌ ์์ด๋์ ๊ฑธ๋ฆฐ ์์ด๋๋ ๋ค์๊ธ ํ๋จํ๋ฉด ์๋๋ ๋ฑ ์๊ฐํด์ผ ํ ๋ฌธ์ ๊ฐ ๋ง์์ง๋ฏ๋ก ์๋์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค. ์ ์ฌ ์์ด๋์ ๋งค์นญ๋๋ ์์ด๋๋ฅผ ์ฐพ์๋๋ง๋ค dfs๋ก ๋๋ฉด์ ๋ชจ๋ ์ ์ฌ ์์ด๋์ ๋งค์นญ๋๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์ฐพ์ผ๋ฉด ๋๋ค. ์ ๋ ฅ์ ๋ฒ์๊ฐ ์์์ ์๊ฐ๋ณต์ก๋๋ ๋ฌธ์ ์๋ค. ๋ํด์ ์์ด์ด ์๋๋ผ ์กฐํฉ์ด๋ฏ๋ก ์์์ ๊ด๊ณ์์ด ํ๋์ ..
์ ์ง์์ผ๋ก ์ถ๊ทผํ ์ง ๋ ๋ฌ์งธ, ํ๊ต์์ ์กธ์ ์์ ๋์์ผ๋ก ํ๋ ์กธ์ ์ ํน๊ฐ์์ ๊ฐ์ฐ์ ๋งก๊ฒ ๋์๋ค. ๋ด๊ฐ ๊ณผ์ฐ ํด์ค ๋ง์ด ์๋๊ฐ ์ถ์๋ ์ฒ์๊ณผ ๋ค๋ฅด๊ฒ, ์ค๋นํ๋ค๋ณด๋ 1์๊ฐ์ด๋ผ๋ ์๊ฐ์ ๊ฝ ์ฑ์ธ ์ ๋๋ก ๋ง์ ๋ง์ ํ๊ฒ ๋์๋ค. ๋ด๋ฑ์ ์๋ง์ ๋ง๋ค ์ค ๋ฃ๋ ์ด์ ๊ฐ์ด์ ์๋ฟ๋ ๋ง์ ์ผ๋ง๋ ํ๋์ง๋ ๋ชจ๋ฅด๊ฒ ๋ค. ๋ค๋ง, ๋๋ ์ง์ฌ์ ๋ด์์ ๋ณธ์ธ์ด ๊ฑธ์ด์จ ๊ธธ์์์ ํํ๋ฅผ ๊พน๊พน ๋๋ฌ ๋ด์ ์ค๋นํ๋ค. ์ฝ 30๋ช ์ ์ธ์์ ๋ฐ๋ฆฌ๊ณ ํ ๊ฐ์ฐ, ์ด๋ป๊ฒ ๋ณด๋ฉด ๊ณ ๋ฑํ๊ต ํ ๋ฐ์ ๋์์ผ๋ก ํ ๊ฐ์ฐ ์ ๋์ ๊ท๋ชจ์์ง๋ง ๊ฐ์ธ์ ์ผ๋ก ๋ง์กฑ์ค๋ฌ์ ๋ค. ์ข ์ข ์๋ ์ด๋ค์ DM ๋ฉ์ธ์ง๋ฅผ ๋ณด๊ณ ๋๋ตํด์ฃผ๋ ๋ฑ ์ต์์น ๋ชปํ๋ ์ ์ ์ฒ์์ด๋ผ๊ณ ๋์ถฉ ๋ญ๋ฑ๊ทธ๋ ค๋ณธ๋ค๋ฉด 1์๊ฐ์ด๋ผ๋ ์๊ฐ๋์ ๋์ด์ง ์๊ณ ๋๋ฆ ์ฌ๋ฐ๊ฒ(?) ์ด์ผ๊ธฐ๋ฅผ ํ๋ค๋ ๊ฒ ์์ฒด๋ก ์ฑ๊ณต์ ์ด์๋ค..
Comment