INDEX

프로젝트 소개


<aside> 📌 내 손 안의 작은 전시회, Esthète

B2C 온라인 전시회 플랫폼

WEB(Front) 오준서 Next JS, TypeScript
APP(Front) 강제구 React Native
WEB / APP(Back) 민한결, 이수빈 Spring boot

</aside>

담당 파트


<aside> 📌 CMS WEB Front-End

개발 환경

Next JS, TypeScript


기능 구현

디자인

Untitled

statistic 시연.mp4

masonry 시연.mp4

swiper 시연.mp4

admin 시연.mp4

시연

https://www.youtube.com/watch?v=B-3IrsyK8B4&list=WL&index=1

새롭게 배운 점


<aside> 📌 Next ver14

RSC?

  1. 사용자가 브라우저 접근 시도 시 페이지를 띄우기 위해 서버로 요청
  2. 서버는 component tree를 root부터 실행하며 serialized json format으로 재구성
    1. RCC는 서버에서 직접 해석하지 않고 ‘Module reference” 라고 하는 새로운 타입 적용하고 placeholder로 대체
  3. 서버로부터 직렬화된 결과물을 Stream 형태로 Client가 전달받게 되고, 함께 다운로드한 JS Bundle을 참조하여 Module reference 타입 등장할 때마다 RCC를 렌더링해서 빈 공간 채운 뒤, DOM에 반영하면 실제 화면에 스크린이 보인다.

RSC 장점

</aside>

<aside> 📌 Warning: Prop className did not match. Server: "sc-iBPTVF gYzxoH" Client: "sc-pGaPU jNmjyv"

문제 인식

해결 시도

문제 발생

재해결

</aside>

<aside> 📌 Next Image

문제 인식

원리

해결

<Image sizes="(max-width: 768px) 100vw, (max-width: 1200px) 50vw, 33vw" />

// next.config.js
const nextConfig = {
	imageSizes: [16, 32, 48, 64, 96, 128, 256, 384],
  deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
  minimumCacheTTL: 60,
	// 이미지가 캐싱 되는 기간은 next.config.js의 images.minimumCacheTTL 구성 또는
	// CDN에서 응답한 이미지의 Cache-Control 헤더 중 더 큰 것으로 정의
}

장점