inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Học mã hóa bản sao YTMusic Next từ những điều cơ bản (với next.js 14, UI Master)

7.2 zustand home danh mục

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

Đã giải quyết

191

femaster1

5 câu hỏi đã được viết

1

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

 

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

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

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

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

Câu trả lời 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

179

1

선생님 죄송한대

1

152

1

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

1

144

1

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

0

274

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