[TIL] 230823

이세령·2023년 8월 23일
0

TIL

목록 보기
88/118

Nextjs

Error

DynamicServerError: Dynamic server usage: cookies
build 시 나타나는 에러, 최상단 컴포넌트에 export const dynamic = 'force-dynamic'를 넣으면 임시방편으로 해결된다.

메인페이지 영화 필터링

구현을 위해 영화 장르데이터를 가져와서 버튼을 누를 때 마다 id가 변경되고 렌더링 되도록 만들었다.
하지만, 버튼~영화 리스트가 모두 로딩이 발생하여 SSR로 만들어보거나 다른 대안을 찾아봐야 할 것 같다.
1. 정적으로 HTML 보내기
2. Conditional Routes 적용해보기
https://nextjs.org/docs/app/building-your-application/routing/parallel-routes#conditional-routes

CS

캐시

가상 메모리이며, 데이터를 복사하여 두는 임시 저장소

속도 차이를 보완해준다.

  • 캐시히트와 캐시미스 가까운 캐시를 통해 원하는 데이터를 찾으면 캐시히트, 찾지 못하면 캐시미스이다. 캐시미스가 발생하면 주메모리로 가서 데이터를 가져온다.
  • 캐시매핑 히트되기 위해 매핑되는 방법
    • 직접
    • 연관 모든 블록 탐색
    • 집합 연관 직접 + 연관

메모리 할당

  • 연속할당

    • 고정 분할 방식

      내부 단편화 발생

    • 가변 분할 방식

      크기에 맞게 동적으로 메모리를 나눔

      외부 단편화 발생

      1. 최초 적합: 순차적으로 봤을 때 바로 보이는 공간에 할당
      2. 최적 적합: best, 가장 크기에 맞는거
      3. 최악 적합: worst, 가장 크기가 큰 공간부터
  • 불연속 할당

    교체 알고리즘 최적화 필요(할당 및 해제 시 오버헤드 발생 가능성)

    • 페이징
      동일한 크기의 페이지 단위로 나눔

    • 세그멘테이션
      의미 단위인 세그먼트로 나누어 사용
      공유/보안 굳
      논리적 단위라 빈데이터 크기가 균일하지 않음

    • 페이지드 세그멘테이션

      페이징(물리적 메모리) + 세그멘테이션(공유나 보안)

  • 단편화
    내부단편화: 낭비되는 작은 빈공간들

외부단편화: 실제로 100이 남아있지만 나눠서 넣을 수 없음

면접질문 정리

Redux 말고 다른 전역 상태관리 아는 것 하나와 차이점을 말해주세요

  • 답변
    Zustand, 설정하는 방법이 간단하고 Provider가 필요없습니다.

Nextjs의 layout을 더 공부해보자

profile
https://github.com/Hediar?tab=repositories

0개의 댓글