inflearn logo
강의

Course

Instructor

Next YTMusic Clone Coding from the Basics (with next.js 14, UI Master)

7.2 zustand home category

카테고리 변경 시 이미지 로딩

Resolved

191

femaster1

5 asked

1

카테고리 관련 강의를 수강 중입니다.

 

카테고리 변경 시 백그라운드 변경되는 부분이 있는데요

해당 부분이 이미지 로딩(변경?)이 매우 늦게 되더라구요

해당 부분 개선해보려면 어떤 것을 시도해보면 좋을까요?

react 인터랙티브-웹 클론코딩 next.js tailwind-css zustand

Answer 2

2

dodocoding

안녕하세요.!

백그라운드 이미지의 로딩이 문제인 경우 크게 2가지 방법으로 접근할 수 있겠습니다.

  1. 백그라운드 이미지 이므로, 너무 고해상도는 필요없습니다. 게다가 블러처리도 하기 때문이죠.

     

next/image에서 quality 속성 사용해서 퀄리티를 낮출 수 있어요.

Next.js의 next/image 컴포넌트는 이미지를 자동으로 최적화하면서, quality 속성을 통해 이미지의 품질을 낮출 수 있어요. 이 속성으로 이미지의 압축률을 조정할 수 있죠.

<Image
  src="/example.jpg"
  alt="Low quality example"
  width={800}
  height={600}
  quality={50} // 이미지 품질을 50%로 낮춤
  layout="responsive"
/>

 

  1. 이미지를 next.js 서버가 아닌 CDN이 제공하도록 만들기.

     

    이미지 같은 경우에는 CDN에 올리는것이 좋습니다.

  • webp 포멧으로 변경해서, CDN에 올려 next.js의 작업분담을 줄여주는 방향으로 최적화 진행해보시길 바랍니다.!

0

femaster1

오 감사합니다! 퀄리티 조절부터 해봐야겠군요 :)

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. femaster1님.

카테고리 변경 시 백그라운드 이미지 로딩 속도를 개선하는 방법에 대해 몇 가지 팁을 드리겠습니다.

  1. 이미지 최적화: 이미지를 최적화하면 로딩 속도가 빨라집니다. 이미지 파일 크기를 줄이되, 품질 손실이 없도록 ImageMagickTinyPNG 같은 도구를 활용할 수 있습니다.

  2. 미리 로드: 특정 이미지를 특정 카테고리 전환 시 미리 로드(preload)하는 방법도 있습니다. HTML에서 <link rel="preload" ...>을 활용하여 중요한 이미지나 리소스를 미리 로드하도록 지시할 수 있습니다.

  3. 캐싱: 이미지에 대해 브라우저 캐싱을 활용하면 변경 시 이미 캐시된 이미지를 사용하여 로딩 시간을 줄일 수 있습니다. CDN(Content Delivery Network)을 이용한 캐싱도 큰 도움이 됩니다.

  4. Lazy Loading: 이미지가 사용자 화면에 보이는 시점에 로딩되도록 하는 Lazy Loading을 적용합니다. React에서는 react-lazy-load-image-component 같은 라이브러리를 사용할 수 있습니다.

  5. Progressive Image Loading: 처음에는 저해상도 이미지를 로드하고, 점차 고해상도 이미지로 대체하는 방식을 사용합니다. 이는 사용자가 이미지 로딩을 기다리는 시간을 줄이는 데 도움이 됩니다.

아래 유사한 상황에서의 Q&A 링크들을 참고해보시면 좋을 것 같습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

4.6강 초기 로딩 속도 케이스 비교

0

85

2

Sidebar & Header 컴포넌트 등 레이아웃 설정 방식

0

89

3

문의드립니다.

0

147

3

Vercel signup이 안되요,, 계속 제 깃허브 계정은 추가 인증이 필요하다며 registration@vercel.com에 문의를 하라고 하네요,,, 이럴땐 진행을 어찌해야할까요,,,

1

102

2

에러, 로딩 내용 페이지를 모든 페이지에 다 만드는 이유가 따로 있나요?

2

158

3

3.2, 3.3 화면에 아무것도 나오지 않고 있습니다!

0

211

3

코드가 왜 그런지 모르겠는데, 이럴땐 어떻게 공부해야하나요?

1

222

3

강의외 복잡한 ui 입력폼 관련 질문 있습니다

1

221

2

npx랑 yarn이랑 같이 써도 되나요?

0

437

2

article / section 태그에 관해

0

179

1

next zustand 사용 시 문의

0

474

2

component 파일에서는 tsx파일이 아니라 jsx 파일을 쓰는 이유를 알 수 있을까요?

1

176

2

versel 을 통한 배포를 하는 것과 (홈서버 + 클라우드 플래어 프록시)를 하는 것을 비교해주실 수 있나요?

1

178

1

선생님 죄송한대

1

152

1

깃 push가 안되서 ssh를 한참해메고 있습니다. ㅠㅠ

1

144

1

Chapter 7 영상 화면이 안보입니다.

0

273

2

오류발생 문제입니다.

1

231

1

질문있습니다.

1

181

1

11.5 Channel 노래,앨범 section 강의중

0

157

1

소스 수정 후 자동 컴파일 문의드립니다.

1

283

2

정적배포

0

197

1

zustand 상태관리

0

335

1

state에서 buffer랑 time이 안 나옵니다

0

201

2

components 들은 jsx 로 만드신 이유

0

313

3