8์ 30์ผ๋ถํฐ 9์ 3์ผ ๊น์ง ์ฝ 1์ฃผ์ผ ๋์ ๊ทธ๋์ ๋ฐฐ์ด HTML๊ณผ CSS, Sass, Webpack๋ฑ์ ํ์ฉํ์ฌ์ ๊ฐ ์กฐ๋ง์ ๋ฏธ๋ํ๋ก์ ํธ๋ฅผ ์งํํ์๋ค.
์ฌ์ค ๋ฐํ ์๋ฃ๋ฅผ ๊ธ์์ผ 12์๊น์ง ์ฌ๋ ค์ผ ํ๊ณ ๋ฐํ๋ฅผ 4์์ ์งํํ์๊ธฐ ๋๋ฌธ์ ๊ธ์์ผ์ ๋ฐํ ์ค๋น๋ฅผ ํ๋ ์๊ฐ์ด์๊ณ , ๊ทธ ์ ๋ชฉ์์ผ์ ๊ฒฝ์ฐ HTML&CSS ๊ธฐ์ ๋ฉด์ ์ ์ค๋นํด์ผํ๊ธฐ ๋๋ฌธ์ ์ฃผ์ด์ง ์๊ฐ์ ๊ฑฐ์ 3์ผ๋ฐ์ ๋์ง ์์๋ ๊ฒ ๊ฐ๋ค.
๊ทธ๋์ 8์ 27์ผ์ ์์ ์ด ์ผ์ฐ ๋๋๊ณ ์ด๋ค ์ฃผ์ ๋ก ํ๋ก์ ํธ๋ฅผ ์งํํ ์ง ๊ณ ๋ฏผํ์๋๋ฐ ์ต์ข ์ ์ผ๋ก ์ ํ ๋ชฉํ๋ ๋ฐฐ์ด ๊ฑธ ์ฌ์ฉํ๋, ๋ฉ์๊ณ ํ๋ คํ๊ฒ ๊ตฌํํ์๊ณ ์๊ฐํ์ฌ ์์ ๋กญ๊ฒ ์ฌ์ง์ ์ฌ๋ฆฌ๋ ์นํ์ด์ง๋ฅผ ๋ง๋ค์(html๊ณผ sass, js๋ง ์ฌ์ฉํ์๊ธฐ ๋๋ฌธ์ ์ค์ ๋ก ์ฌ๋ฆด ์ ์๊ณ ์ ์ ์ธ ํ์ด์ง์ด๋ค) ๋ผ๊ณ ๊ฒฐ์ ์ ๋ด๋ ธ๋ค.
ํ์ด์ง๋ฅผ ์ฒ์ ๋ค์ด๊ฐ๊ฒ ๋๋ฉด ๋ค์๊ณผ ๊ฐ์ ํ๋ฉด์ ๋ณผ ์ ์๋ค. ์ฒซ ํ๋ฉด ๋ฟ๋ง ์๋๋ผ ์ต๋ํ ์์ง์ด๊ณ ํ๋ คํ ์์๋ค์ ๋ฃ๊ธฐ ์ํด์ ์ ๋๋ฉ์ด์ ํจ๊ณผ๋ค์ ๋ง์ด ์ฌ์ฉํ์๋ค. ๋ํ ๋ฐ์ํ์ผ๋ก ๋ง๋ค์ด์ width๊ฐ 768 ์ฌ์ด์ฆ ์๋๋ก ๋ด๋ ค๊ฐ๊ฒ ๋๋ฉด UI๊ฐ ๋ฐ๋๊ฒ ๋๋ค.
ํ์ด์ง์ ๋ชจ๋ ์์๋ฅผ ๋ณด๊ณ ์ถ๋ค๋ฉด ์๋์ ํ์ด์ง๋ก.. Free Gallery
์ด UI๋ ์ผ๋์ UI๋ฅผ ์ฐธ๊ณ ํ์๋๋ฐ ์ด ์น ํ์ด์ง๊ฐ ์ฌ์ง ๊ฐค๋ฌ๋ฆฌ์์ ๋งํ๊ณ ์ถ์ด pixabay์์ ์ ๊ณตํ๋ ๋ฌด๋ฃ ๋์์ ์ค ์ฌ์ง๊ณผ ๊ด๋ จ๋ ๋์์์ ๊ฐ์ ธ์๋ค.
์ฒ์ ๊ฐ๋ฐํ ๋์๋ ํ๋ฉด์์ ๋ณด๋ ๊ฒ๊ณผ ๊ฐ์ด ์ ์ฌ๊ฐํ์ด ์๋ ๋น์จ์ด ๋ค๋ฅธ ๋น์จ์ด์๋๋ฐ css๋ก ๋น์จ์ ์กฐ์ ํด๋ณด๋ค๊ฐ ์๋์ด์ ๊ฒฐ๊ตญ์ ํ๋ก์ ํธ ํ์์ธ ๊ฐํฌ๋์ด ๋์์ ๋น์จ์ ํธ์งํ์ฌ 1:1 ๋น์จ๋ก ๋ง๋ค์ด ์ ์ฌ๊ฐํ ๋ชจ์์ผ๋ก ๋ง๋ค ์ ์์๋ค.
์ด UI๋ ๋ชจ๋ฌ์ฐฝ์ ์ด์ฉํ์ฌ ๋ง๋ค์๋๋ฐ wai-aria์ best practice๋ฅผ ์ฐธ๊ณ ํ์๋ค. ํ์ด์ง๊ฐ ๋ฐ์ํ์ด๊ธฐ ๋๋ฌธ์ width๋ฅผ 768์๋๋ก ์ค์ฌ์ ๋ณด๋ฉด ์๋ก์ด ๋ฐฐ์น๋ฅผ ๋ณผ ์ ์๋ค.
์ธ๊ธฐ์ฌ์ง ๋ถ๋ถ์์
๋์ ์ฌ์ง ์ทจํฅ ์์๋ณด๋ฌ ๊ฐ๊ธฐ ๋ฒํผ์ ๋๋ฅด๋ฉด ์ ํ์ด์ง๋ก ์ด๋ํ ์ ์๋ค. ํ์ด์ง์์ ์ ์ ๊ฐ ์ฌ์ง์ ํด๋ฆญํ์์ ์, ์์ ์ด ์ด๋ค ์ฌ์ง์ ํด๋ฆญํ์๋ ์ง ์๊ธฐ ์ฝ๊ฒ ํ๊ธฐ ์ํด hover ์์ฑ๊ณผ ์ ๋๋ฉ์ด์ ์ ์ฃผ์๋ค.
๋ด๊ฐ ๋งก์ ๋ถ๋ถ์ ์ ๋ฟ๋ง ์๋๋ผ lighthouse ์ ์๊ฐ์ ๋ํ ์์๋๋ฐ, ์ด ๋ถ๋ถ์์ ์ด๋ ค์์ ๊ฒช๋ค๊ฐ ๊ฒฐ๊ตญ ๋ต์ ์ฐพ์ ํด๊ฒฐํ๊ฒ ๋์๋ค.
ํ์ด์ง๊ฐ ์ด๋์ ๋ ์์ฑ๋๊ณ ๋ ํ, Google Lighthouse๋ฅผ ์ด์ฉํ์ฌ ํ์ด์ง ์ ์๋ฅผ ์ธก์ ํด๋ณด์๋ค.
์ผ์ชฝ์ ๋ฐ์คํฌํ ๋ฒ์ ์ด๊ณ ์ค๋ฅธ์ชฝ์ ๋ชจ๋ฐ์ผ ๋ฒ์ ์ด๋ค. ๊ฐ๊ฐ 94์ ๊ณผ 88์ ์ด๋ค.
์ ์ฌ์ง์์ ๋ณผ ์ ์๋ฏ์ด, ๋ง๋ ํ์ด์ง์ ์ทจ์ฝ ๋ถ๋ถ์ CLS๋ถ๋ถ์ด์๋ค. ์ด๋ค ๋ถ๋ถ์ด CLS์ ์๋ฅผ ์ ํ์ํค๊ณ ์๋์ง ํ์ธํด ๋ณด์๋๋ฐ ์๋์ ๊ฐ์ด ์ด๋ฏธ์ง์ ๊ณ ์ ์ ์ธ ํฌ๊ธฐ๋ฅผ ์ฃผ์ง ์์์์๋ค.
์ฒ์์ ๊ถ๊ธํ๋๊ฒ, ์ด๋ฏธ์ง์ ๊ณ ์ ์ ์ธ ํฌ๊ธฐ๋ฅผ ์ฃผ๊ฒ๋๋ฉด ๋ฐ์ํ์ธ ์นํ์ด์ง์์ ์ด๋ป๊ฒ ๋ฐ์ํ์ผ๋ก ์ด๋ฏธ์ง์ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ ์ ์์ ๊น? ์๋๋ฐ html์ imgํ๊ทธ์ width, height ์์ฑ์ผ๋ก ์ด๋ฏธ์ง์ ํฌ๊ธฐ๋ฅผ ์ฃผ๊ฒ๋๋ฉด ๋์ค์ css๊ฐ ์ ํ์ง๋ฉด์ ๋ฐ์ํ ํฌ๊ธฐ์ ๋ง๊ฒ ์์ฑ์ ์ค ์ ์๋ค๊ณ ์๊ฒ๋์๋ค.
๋ฐ๋ผ์ ์๋์ ๊ฐ์ด ์ด๋ฏธ์ง๋ง๋ค ์์ฑ์ ์ฃผ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐ ํ ์ ์์ ๊ฒ์ด๋ผ ์๊ฐํ์ง๋ง..
์ฌ์ ํ CLS์ ์ ์๋ ๋ค์๊ณผ ๊ฐ์๋ค.
๊ทธ๋์ ๋ค์ํ๋ฒ ์ง๋จ๊ฒฐ๊ณผ๋ก ๋์๊ฐ ๋ฌธ์ ๋ฅผ ์ฐพ๋์ค body์์๊ฐ ํฐ ๋น์ค์ ์ฐจ์งํ๊ณ ์๋ ๊ฒ์ ๋ฐ๊ฒฌํ๊ฒ ๋์๋ค.
์ด ๋ถ๋ถ๊ณผ ๊ด๋ จํ์ฌ ์ ํํ ์ง๋จ์ ํ๊ธฐ ์ํด ๊ฐ๋ฐ์ ๋๊ตฌ์ performance ํญ์ ๋ค์ด๊ฐ ํ์ธ์ ํ์๋๋ฐ
์ฒ์ ์คํ์ผ๋ง์ด ๋์ง ์์ ํ์ด์ง๊ฐ ๋ ๋๋ง ๋ํ, ์คํ์ผ๋ง์ด ๋ ํ์ด์ง๊ฐ ๋ค์ ํ๋ฒ ๋ ๋๋ง์ด ๋์ด ์ด 2๋ฒ์ ๋ ๋๋ง์ด ๋ฐ์ํ๊ณ ์์๋ค!
๊ทธ ์ด์ ๋ฅผ ์๊ฐํด๋ณด๋ ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด webpack์ html plugin์ ์ฌ์ฉํ๋ฉด์ ์ฒ์์ ์คํ์ผ๋ง์ด ๋์ง์์ html์ด ๋ง๋ค์ด์ ธ์ ๋ ๋๋ง ๋ํ, ์นํฉ์์ ์คํ์ผ๊น์ง ๋ฒ๋ค๋ง๋ html์ด ์ฌ ๋ ๋๋ง ๋๋ค๋ ์ฌ์ค์ ๋ฐ๊ฒฌํ์๋ค
์ด ๋ถ๋ถ์ ์ฒ์์ webpack์ ์ ์ฉํ ์ ์ ์ธ ํ์ผ๋ค์ ๋ง๋ค๊ณ , ๊ทธ ์ดํ์ ํ๋ก์ ํธ๋ฅผ ์คํ์ํค๋ ๋ฐฉ๋ฒ์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์๋ค.
์ต์ ํ ์ ๋ณด๋ค ํจ์ฌ ์ ์๊ฐ ์ข์์ก๋ค. seo์ ๊ฒฝ์ฐ metaํ๊ทธ๋ฅผ ์ถ๊ฐํ์ฌ ๊ฐ์ ์์ผฐ๊ณ , accessibility์ ๊ฒฝ์ฐ ๋ผ์ดํธํ์ฐ์ค์์ ๋ช ๋๋๋น์ ๋ฌธ์ ๊ฐ ์๋ค๊ณ ํ์ฌ ๊ทธ ๋ถ๋ถ์ ๊ฐ์ ์์ผฐ๋ค.
๋ ํฌ์งํ ๋ฆฌ ์ฃผ์: https://github.com/hustle-dev/Front-end_MiniProject
git flow๋ฅผ ํ์ฉํ๋ ๊ฒ์ ์ด๋ฒ์ด ์ฒ์์ด์๋๋ฐ ์ผ๋ง๋ ์ด๊ฒ์ด ํ์ ํ๋๋ฐ ํธํ๊ณ ์ข์ ๊ฒ์ธ์ง ์๊ฒ๋์๋ค. ์ฒ์์ main๊ณผ develop๋ธ๋ฐ์น๋ฅผ ๋ง๋ค์ด ํ์๋ค์ ๊ฐ๋ฐ ์์ feature ๋ธ๋ฐ์น๋ฅผ ๋ง๋ค์ด ๊ทธ๊ณณ์ ์์ ์ ํ๊ณ ๋ค์ ์์ ์ develop๋ธ๋ฐ์น์ ๋จธ์ง๋ฅผ ํ์๋ค. ๊ทธ ํ์ ํ๋ฆฌํ๋ฅผ ๋ณด๋ด ๋จธ์ง๋ฅผ ํ์๋๋ฐ ์ด๋ฐ ๋จธ์งํ๋ ๊ณผ์ ์์ ๋ฐ์ํ๋ conflict๋ฅผ ํด๊ฒฐํ๊ณ , ๋ค๋ฅธ ํ์์ด ๋ง๋ ์ฝ๋๋ฅผ ๋ฐ์ผ๋ฉด์ ์ด๋ค์์ผ๋ก ํ์ ํ๋ ์ง ์ ์๊ฒ ๋์๋ค.
Lighthouse๋ฅผ ์ด์ฉํด์ ์ ์๋ฅผ ์ธก์ ํ๊ณ ์ด๋ ๋ถ๋ถ์ด ๋ถ์กฑํ ์ง ํ์ ํ์ฌ ์ด ๋ถ๋ถ์ ๊ฐ์ ํด ๋๊ฐ๋ฉด์ ์ฑ๋ฅ์ ์ธ ๋ถ๋ถ์ ๊ณ ๋ คํ ์ ์๋ ์๊ฐ์ ๋ง์ด ๊ฐ์ถ๊ฒ ๋์๋ ๊ฒ ๊ฐ๋ค. ๋ํ ๊ฐ์ ๊ณผ์ ์์ performanceํญ์ ๊ฑฐ์ ์ฒ์์ผ๋ก ์ฌ์ฉํด๋ณด์๋๋ฐ ์ข ๋ ์ด ๋ถ๋ถ์ ๋ํด์ ๊ณต๋ถํด ๋ณด๊ณ ์ถ๋ค๋ ์๊ฐ์ด ๋ค์๋ค.












