October 21, 2023 • ☕️ 4 min read
소낙비가 오락가락
Ref https://www.youtube.com/watch?v=2IE68SDTYvI
git clone --filter=<filter-spec>
Ref https://www.youtube.com/watch?v=2IE68SDTYvI
각 요청(controller)별로 인가를 다르게 설정할 수 있다
import { Injectable, CanActivate, ExecutionContext } from "@nestjs/common";
import { Observable } from "rxjs";
@Injectable()
export class AuthGuard implements CanActivate {
canActivate(
context: ExecutionContext
): boolean | Promise<boolean> | Observable<boolean> {
const request = context.switchToHttp().getRequest();
return validateRequest(request);
}
}
devEngines
해당 패키지가 지원하는 개발환경 목록을 정의할 수 있다
"devEngines": {
"node": "16.x || 18.x || 19.x || 20.x"
},
sass 모듈에서 ~
문자로 import해오는 방식은 deprecated되었다
@import
문을 사용할 때 로더는 첫 번째로 상대경로로 모듈을 검색하고, 발견하지 못한다면 node_modules
안에서 모듈을 찾는다.
이제 @import "~bootstrap";
이렇게 불러오면 webpack은 node_modules에서 모듈을 찾는다.
Ref https://www.npmjs.com/package/sass-loader#resolving-import-at-rules
lodash의 esmodule 버전인 lodash-es는 tree-shaking이 가능하다
하지만 lodash-es의 chain 메서드를 쓰는 경우, chain에 뒤이어 나오는 모든 lodash 함수의 import가 필요하다. 따라서 어쩔 수 없이 bundle import를 해줘야 한다(따라서 chain을 사용할 때는 tree-shaking이 되지 않는다)
import { chain, groupBy, toPairs } from "lodash-es"; // ❌
import _ from "lodash-es"; // ✅
파일 변경 시 package.json의 명령어를 실행하도록 직접 구성할 수 있다.
예) tsx 변경을 감지해서 docgen을 실행하고 싶다. (watch.docgen.patterns 경로의 watch.docgen.extensions와 일치하는 확장자 파일에 변경사항이 발생할 경우)
"scripts": {
"docgen": "pnpm --filter website docgen",
"docgen:watch": "npm-watch docgen"
},
"watch": {
"docgen": {
"patterns": [
"packages/blue/src/components",
"packages/mint/src/components"
],
"extensions": "tsx"
}
ref https://www.npmjs.com/package/npm-watch
개발자 도구의 성능 통계 탭에서 페이지 로드 측정을 통해 사용 가능하다. 특히, 레이아웃 쉬프트 관련 성능 지표인 CLS (Cumulative Layout Shift) 지표를 개선할 때 매우 편리하다.
측정하고자 하는 페이지에서 개발자 도구 - 성능 통계 - 페이지 로드 측정을 수행한다.
각 단계별로 어떤 부분이 문제인지 보여주며, Layout Shift 선택 시 ‘영향을 받은 요소’에 대해 확인할 수 있다.
각 탭에서는 요소가 어떤 식으로 영향받았는지와 영향을 받은 요소를 highlight한 스크린샷까지 제공된다.
Ref https://developer.chrome.com/docs/devtools/performance-insights/
매주 없어!
useQuery
를 비롯한 여러 훅들의 오버로드를 제거했으며, useQuery
의 callback을 제거했다.suspense
공식 지원, useSuspenseQuery
로 사용할 수 있다.cacheTime
-> gcTime
loading
-> pending
언제 v5까지 나왔다냐…
Ref https://tanstack.com/blog/announcing-tanstack-query-v5
20대 송지그 인생의 역사적인 순간. 마참내! 집을 계약했다. 내 소중한 첫 집 🏠
입주날까지 아무런 문제 없었으면 좋겠당.