📚 Educations/🏫 [유데미X웅진씽크빅X스팩] 프로젝트 캠프 : Next.js 2기
[유데미x스나이퍼팩토리] 프로젝트 캠프 : Next.js 2기 - 사전직무교육 12일차 기록
Arendt
2024. 7. 30. 17:53
학습 내용
- RSC와 RCC
- NEXT의 컴포넌트 트리 설계 전략
- 시스템 파일: page, layout, not-found, loading, error
- layout.tsx
- 페이지에 따라 metadata title 다르게 설정하기
- 모든 페이지마다 유지하고 싶은 메타데이터 타이틀 일부
- not-found.tsx
- error.tsx
- root 경로에서 에러 헨들링하기: global-error.tsx
- loading.tsx
- 컴포넌트 로딩시간 단축을 위한 방법
- Promise.all을 이용한 병렬요청
- 컴포넌트 분리를 통한 소요시간 단축
- <Suspese> 태그 사용
- fallback 속성: 로딩되는 동안 보여줄 것 (컴포넌트 사용도 가능)
- 먼저 패칭된 것이 먼저 보인다.
- 가장 오래 걸리는 컴포넌트가 끝나야 전체가 끝남
- Dynamic HTML Streaming: 컴포넌트의 로딩이 끝난순으로 점진적으로 보여주는 기능 (“스트리밍하다”고 함)
- 데이터 통신에서의 CSR과 SSR
- CSR:
- 사용자와 interaction 가능
- Hook 사용 가능 (컴포넌트 코드 상단에 'use client' 명시)
- SSR:
- Hook 사용 불가
- 웹 화면이 렌더링 되기 전에 서버에서 데이터 요청이 발생하기 때문에 빠름
- 한 번 요청한 데이터 통신은 내부적으로 캐시(Cache)되고, 재요청시 캐시된 데이터를 활용하기 때문에 응답이 빠름
- CSR:
- 캐싱 시스템
- Router Cache > Full Route Cache > Request Memoization > Data Cache
- 언제나 왼쪽에서 오른쪽으로 캐싱이 빠짐
- Data Cache를 옵트아웃(opt out: 손을 떼다, 더이상 하지 않다)해도 Router Cache는 유지된다는 의미
오늘 기록
잔디밭 위에서 먹으니 피크닉 온 것 같고 좋았다~
하늘도 뻥 뚫린 하늘색 하늘이라 가슴도 뻥 뚫린 것 같고~ 오후 수업 들어가기 싫고^^^,,
NEXT개발하면서 컴포넌트 분리하는 거 물어보는 사람 어떤데...ㅎ
사실 진짜 몰랐던 건 아니고
scr 폴더 안에 app 폴더 안에 넣으면 App Router 고민을 해야하니
scr 폴더 안에 components 폴더를 따로 만들어서 거기서 컴포넌트 파일들을 만들었는데
이렇게 해도 되나..^^ 하는 자신감 없음 이슈 때문에~
실습시간엔 저렇게 쌤이 어슬렁어슬렁 돌아다니시면서 옆에서 봐주신다.
오늘도 참 정신없고 어렵지만 보람찬 수업이었다.