(1) db설치 후, 유저 비밀번호 생성하기 기타 명령어 유저 이름 조회 유저 생성 옵션 부여 (2) nestjs/typeorm, typeorm, pg 설치 (3) app.module.ts 설정 TypeOrmModule 을 imports 에 추가한다. (4) db정보 환경변수로 관리하기 패키지 설치 dotenv를 내장하고 있다. cr...
(1) 가드란?가드는 함수다. 클라이언트에서 온 Request를 더 진행할지, 말지 결정할 수 있는 함수다. @Injectable 할수 있다. 즉 Provider 다. 그리고 CanActivate를 implements 한다.CanActivate 의 역할은 가드에서 tr
(1) gql context란?모든 graphql request에서 공유할 수 있는 값. request란, @Query(), @Mutation()을 뜻하고, resolver에 있는 @Query, @Mutation 에서 @Context로 불러와서 사용할 수 있다. Gra
미들웨어를 통해 http headers를 조회, JWT 변조 여부를 확인하고, db에서 user를 조회합니다.
우리가 사용할 JWT module을 직접 만들고, app.module.ts에서 사용한다. 그리고 app.module.ts에 전달한 값을 jwt.module에서 받고 그것을 다시 DI을 통해 service 레이어로 보내는 방법을 공부했다.
\_document.tsx로 작성된다. \_app과 \_documnent의 차이 \_app는 유저가 페이지를 불러올 때마다 브라우저에서 실행된다. \_document는 서버에서 한 번만 실행된다. 폰트 최적화 하기구글 폰트에서 제공하는 폰트를 사용해서 최적화가 가능하다
middleware를 사용해서 router에 대한 Response를 설정 할 수 있다. 그리고 NextResponse.redirect()를 통해서 redirect 할 수 있다. 클라이언트에서 커스텀 훅을 통해서 페이지를 가드하는 방법도 있지만, 그 방식은 가드가 적용되
getServerSideProps()를 이용해서 클라이언트 서버단에서 data를 fetching하고, 그 데이터를 prefetching 하는 방법에 대해 알아본다.
unbound mutations 이란, 내가 원하는 곳에서 원하는 것을 mutate 하는 것이라고 말할 수 있다. 예를 들어 내가 상품 페이지에서 user 정보에 대한 cache값을 mutate 할 수 있다는 뜻이다.코드
mutation 구현하기 SWR 캐시를 mutate 해야 한다. mutate란, 변형을 의미한다. SWR 캐시를 변경하고자 하는 목적은 현재 view 상에서 보여지는 data는 swr의 캐시 data이기 떄문이다. 캐시된 data를 mutate 함으로써 view를 업데
useQuery를 custom hook 으로 만들어 사용할 때 typing 하는 방법에 대해 알아본다. custom hook 쪽에서 typing이 되지 않으면, 사용하는 컴포넌트 쪽에서 받아온 데이터의 타입이 지정되지 않는다.타입이 지정된 코드 👇