Project: ๐ฉcodefolio - ์ด๋ฏธ์ง ์ต์ ํ, ์ฑ๋ฅ ๊ฐ์
๐ฏ๋ชฉ์ :
์ด๋ฏธ์ง ํ์ผ ์์ถ ์ ๋ก๋ ๊ธฐ๋ฅ ๊ตฌํ,
์ต์ข ์ฑ๋ฅ ๊ฐ์ ์ ๋ํ ๊ธฐ๋ก
๋ชฉ์ฐจ
- ๋ฌธ์ ์ ๋ฐ๊ฒฌ
- ๋๋ฒ์งธ ์๋ฃจ์ (์ด๋ฏธ์ง ์์ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ์ฉ)
- ํ์ผ ์ฌ์ด์ฆ ๋น๊ต
- ์ป์ด์ง ๊ฒฐ๊ณผ (Chrome LightHouse ์ ์)
1. ๋ฌธ์ ์ ๋ฐ๊ฒฌ
๊ฒ์๊ธ์ด post๊ฐ ๋์ด detail ํ์ด์ง์์
์ฌ์ฉ์๊ฐ ์์ฑํ ๊ธ์ด ๋ณด์ฌ์ง๊ฒ ๋๋ค
codefolio ํ๋ก์ ํธ ํน์ฑ์ ๋ค๋์ ์ด๋ฏธ์ง๊ฐ ๋ค์ด๊ฐ๊ฒ ๋จ์ ๋ฐ๋ผ
editor์ ๋ฒ๋ค ์ฌ์ด์ฆ๋ ์ ์ง ์์๋ฐ, ๊ฑฐ๊ธฐ์ ๋ ์ฌ์ด์ฆ๊ฐ ํฐ ์ด๋ฏธ์ง๊ฐ ์ฌ๋ฌ๊ฐ
๋ณด์ฌ์ง๊ฒ ๋๋ฉด์ detail ํ์ด์ง์ ๋ก๋ฉ์๋๊ฐ ์ด๋ฏธ์ง์ ์ฌ์ด์ฆ์ ์๋์ ๋ฐ๋ผ
๋น๋กํ๊ฒ ์ฆ๊ฐํ๋ค.
๊ธฐ์กด์ staticํ ์ด๋ฏธ์ง๋ ํ๋ก ํธ์์ next image๋ฅผ ์ฌ์ฉํ์ฌ
์ด๋ฏธ์ง ์ต์ ํ๋ฅผ ํ๋ฉด์ ๋น ๋ฅด๊ฒ ๋ก๋ฉ ๋์์ง๋ง
๋ทฐ์ด์์ ๋ณด์ฌ์ฃผ๋ ์ด๋ฏธ์ง๋ ๊ฐ๋ณ์ ์ผ๋ก ์ต์ ํ ํ ์ ์์๋ค.
๋ํ supabase๋ฅผ ์ฌ์ฉํ๊ณ ์๋ ์ฐ๋ฆฌ ํ๋ก์ ํธ๋ ์๋ฒ๋น์ฉ์ด ๋์ด๋จ์ ๋ฐ๋ผ
์๋น์ค ์ ํ์ด ์๊ธธ ์ ์๋ค๋ ์ฐ๋ ค๊ฐ ์์๊ณ ,
๊ธฐ์กด์ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด์
firebase์์ ๊ฒช์ ๋ฐ์ ๊ฐ์ด (์ผ์ผ ํ ๋น ์ฉ๋ ์ด๊ณผ ์ ์๋ฒ ๋ค์ด..)
์๋ฒ ๋น์ฉ์ ๋ฌด์ํ ์ ์์๋ค.
๊ทธ๋ ๊ฒ ์ฌ๋ฌ ์๋ฃจ์ ์ ์ฐพ๋ ๋์ค 3๊ฐ์ง ๋ฐฉ์์ ์ฐพ์๋ค.
- ์ด๋ฏธ์ง ํฌ๊ธฐ ์กฐ์ = ์ ์ ์ ์๊ณ ๊ฐ ํ์
- ์ด๋ฏธ์ง ์์ถ = ๊ฐ๋ฐ ํ์
- ๋ ์ด์ง ๋ก๋ฉ = ๋ทฐ์ด ๋ด๋ถ์์์ ์ ์ฉ์ ์ ํ
์ ์ ์ค ์๋ฒ ๋น์ฉ์ ์ค์ด๋๋ฐ ๊ด์ฌ์ฌ๋ฅผ ๋ ์๋ฃจ์ ์
์ด๋ฏธ์ง ์ฌ์ด์ฆ๋ฅผ ์์ถํ๋ ๋ฐฉ๋ฒ์ด์๊ณ ๊ทธ๋ ๊ฒ ์์ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฐพ์๋ค,
v1.0.0 ๋ฒ์ ์ด deploy ๋ ์ํฉ์์
์๋ฒ๊ฐ ๋ค์ด๋๋ค๋ฉด ์ ๋ง ์ต์
์ด๋ค..
์ง์ฒด ํ ์ด์ ๊ฐ ์์๊ณ
๋ฐ๋ก ํ์๋ค๊ณผ ํ ์ํฉ์ ๊ณต์ ํ๊ณ ๋น ๋ฅด๊ฒ ์ ์ฉํด๋ณด๊ฒ ๋ค๋ ๋ป์ ๊ณต์ ํ๋ค.
2. ๋๋ฒ์งธ ์๋ฃจ์ (์ด๋ฏธ์ง ์์ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ์ฉ)
https://www.npmjs.com/package/browser-image-compression
browser-image-compression
Compress images in the browser. Latest version: 2.0.2, last published: 17 days ago. Start using browser-image-compression in your project by running `npm i browser-image-compression`. There are 110 other projects in the npm registry using browser-image-com
www.npmjs.com
common ํด๋์ ๋ง๋ค์ด๋๊ณ ๋ค๋ฅธ ํ์๋ค๋ ์ฌ์ฉํ ์ ์๊ฒ ๋ง๋ค์ด ๋์๋ค.
4,5 ๋ฒ์งธ ์ค์ ์ ์ฉํ ๋ชจ์ต์ด๋ค.
์ฝ๊ฒ ์ ์ฉํ ์ ์์๊ณ ๋ค๋ฅธ ์ด๋ฏธ์ง ์ ๋ก๋ ๋ถ๋ถ์์๋ ์ ๋ถ ์ ์ฉํ๋ค.
3. ํ์ผ ์ฌ์ด์ฆ ๋น๊ต
- ํด๋ผ์ด์ธํธ๊ฐ ์ ์กํ๋ ๋ชจ๋ ์ด๋ฏธ์ง๋ ๋ค์๊ณผ ๊ฐ์ด ํ์ผํฌ๊ธฐ๋ฅผ ์ฝ 80% ์์ถํ์ฌ ์๋ฒ ๋ถํ๋ฅผ ์ค์ผ ์ ์์๋ค.
- ์๋๋ ์์ถ ์ ์ฉ ์ ์ ์ฌ์ด์ฆ์ด๊ณ , ์๊ฐ ์์ถ ์ ์ฉ ํ ์ฌ์ด์ฆ.
4. ์ป์ด์ง ๊ฒฐ๊ณผ(Chrome LightHouse ์ ์)
ํฐํธ, ์ด๋ฏธ์ง ์ต์ ํ, ์๋ํฐ ๋ณ๊ฒฝ์ ํตํ ์ฑ๋ฅ ๊ฐ์
Chrome LightHouse ์ ์ ์ธก์ ํ ๊ฐ์ ์ ์ ๋ฐ๊ฒฌํ์๋ค.
์ด๋ฅผ ํตํด Chrome LightHouse ์ฑ๋ฅ์ ์๋ฅผ ๊ธฐ์กด 74์ ์์ 99์ ์ผ๋ก ๊ฐ์ ํ ์ ์์์ต๋๋ค.
์ต์ข ์ ๋ฆฌ
- ์ด๋ฏธ์ง ์ต์ ํ๋ฅผ ์ํ ์ฌ๋ฌ ์๋ฃจ์ ์ ์ฐพ๋ ๋์ค 3๊ฐ์ง ๋ฐฉ์์ ์ฐพ์๋ค.
- ๊ทธ์ค ์ฐ๋ฆฌ์๊ฒ ํ์ํ ์๋ฒ๋น์ฉ์ ์ค์ผ ์ ์๋ ์๋ฃจ์ ์ธ browser-image-compression ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ์ฉ.
- ์ฌ์ฉ์๊ฐ ์ ๋ก๋ํ๋ ์ด๋ฏธ์ง ํฌ๊ธฐ๋ฅผ ์ฝ 80% ์์ถํ์ฌ ์๋ฒ ๋ถํ๋ฅผ ์ค์ผ ์ ์์๋ค.
- ํฐํธ ์ต์ ํ, ์ด๋ฏธ์ง ์ต์ ํ, ์๋ํฐ ๋ณ๊ฒฝ์ ํตํด LightHouse ์ ์๋ฅผ 99์ ์ผ๋ก ๊ฐ์ ํ๋ค.