본문 바로가기

분류 전체보기

(138)
[Typescipt] polymorphism(generic) generic- call signature을 작성할 때 들어올 수 있는 확실한 타입을 모를 때 사용된다.- 또는 여러개의 서로 다른 타입을 사용하는데 모두 동일하게 작동하게 하고 싶을 때 사용할 수 있다.- 보통 T, V 등으로 사용한다.- 아래에서 사용된 TypePlaceholder가 generic이며 typescript가 자동으로 타입을 추론하여 적용된다.- 여러 타입이 혼합되어도 잘 작동하는 것을 확인할 수 있다. 내부의 인자 중 일부만 generic을 받는 경우 다음과 같이 사용할 수 있다.
[Typescript] Overloading 함수가 여러개의 서로 다른 call signatures가 있을 때 생긴다.특히 라이브러리처럼 경우에 따라 다른 데이터 형식을 보내줄 때 사용될 수 있다.  만약 인자의 개수가 다르다면 optional한 값의 타입을 지정해야 한다.아래의 경우 c의 타입을 따로 지정해야 함을 알 수 있다.
[Typescript] call signatures call signatures- 함수 등에서 마우스를 올려놨을 때 타입이 보이는 것.- 인자(arguments)의 타입, 함수의 반환 타입 등을 알 수 있다. 함수를 작성하기 전에 타입을 먼저 지정하여 사용할 수 있다.
[nomadcoders] 타입스크립트로 블록체인 만들기 2024.06.0450% complete 2024.06.05100% complete
[Typescript] never never 타입은 return 값이 없을 때 쓰인다.return 값이 있다면 오류를 발생시킨다. 이 타입은 오류를 전달할 때 사용될 수 있다. 좀 더 응용한다면, 타입을 지정해도 올바르게 작동하지 않는 경우 오류를 전달하는데 사용될 수 있다.아래의 경우 string, number가 아닌 항목은 들어오면 안되고, 들어온다고 해도 오류를 전달한다.
[Typescript] readonly 데이터를 수정할 수 없게 하기 위해서 readonly를 넣을 수 있다.데이터의 불변성을 유지시키는 map, filter 등은 사용할 수 있으나 push처럼 불변성을 해치는 것은 사용할 수 없다.
[git] failed to push some refs to + 레포 주소 error 레포에 pull 후 push를 해야 하는데 pull이 되지 않는 경우 사용한다. git pull origin 레포주소 --allow-unrelated-histories
[Next.js] Fetching, Caching, Revalidating Fetch자동으로 memoize 기능이 있다.Router handlers는 memoize 기능이 없다.server action의 경우 기본적으로 캐시는 제공되지 않는다.(no-cached) Revalidating Data시간 간격을 지정하여 새로운 데이터를 패칭하는 경우 next.revalidate 옵션을 사용한다.Segment Config Options로 모든 캐시를 한번에 갱신할 수도 있다.tags로 태그를 지정하여 revalidateTag를 불러 태그에 연결된 모든 항목을 갱신할 수 있다. (On-demand revalidation)데이터가 갱신되는 동안 오류가 발생하면 이전 데이터를 계속 캐시로 저장하고 있다. fetch를 제공하지 않는 라이브러리 Route Segment Config Option..
[Next.js] Middleware 미들웨어가 효율적으로 작동하는 예시인증 및 권한 부여: 특정 페이지 또는 API 경로에 대한 액세스 권한을 부여하기 전에 사용자 신원을 확인하고 세션 쿠키를 확인서버 측 리디렉션: 특정 조건(예: 로캘, 사용자 역할)에 따라 서버 수준에서 사용자를 리디렉션경로 재작성: 요청 속성에 따라 API 또는 페이지에 대한 경로를 동적으로 다시 작성하여 A/B 테스트, 기능 롤아웃 또는 레거시 경로를 지원봇 탐지: 봇 트래픽을 감지하고 차단하여 리소스를 보호로깅 및 분석: 페이지 또는 API에서 처리하기 전에 요청 데이터를 캡처하고 분석하여 인사이트를 얻음기능 플래깅: 원활한 기능 출시 또는 테스트를 위해 동적으로 기능을 활성화 또는 비활성화 미들웨어 사용을 권장하지 않는 경우복잡한 데이터 가져오기 및 조작무거운 ..
[Next.js] Intercepting Routes Intercepting Routes: 라우트를 가로채서 실행규칙(폴더)- (.) 같은 레벨- (..) 한 레벨 위- (..) (..) 두 레벨 위- (...) root app 부분ex) (..)photo : photo 폴더의 랜더링을 가로채겠다. intercepting routes + parallel routes로 modal을 구현하면 다음과 같다.x 표시를 누르지 않으면 닫히지 않는다.뒤로, 앞으로를 누르면 제자리에 위치해 있다.새로고침을 누르면 가로채진 페이지만 나타난다. -> 위에 모달이 올라간 모습이 아니다.@modal은 라우터에 포함되지 않으므로 photo와 (..)photo는 같은 단계에 있다.