April 5, 2024 • ☕️ 6 min read
🤔 그럼, RPC란? “Remote Procedure Call”의 약자로, 하나의 컴퓨터(서버)에서 다른 컴퓨터(클라이언트)로 함수를 호출하는 방식이다. 전통적인 HTTP/REST API에서는, URL을 호출하고 응답을 받아왔다면, RPC에서는 함수를 호출하고 응답을 받아온다.
// HTTP/REST const res = await fetch('/api/users/1'); const user = await res.json(); // RPC const user = await api.users.getById({ id: 1 });
Ref
prettyDOM
과 DEBUG_PRINT_LIMIT
Ref https://testing-library.com/docs/dom-testing-library/api-debugging/
scss 또는 sass 모듈에서 함수를 정의하여 사용할 수 있다.
@function fibonacci($n) {
$sequence: 0 1;
@for $_ from 1 through $n {
$new: nth($sequence, length($sequence)) + nth($sequence, length($sequence) - 1);
$sequence: append($sequence, $new);
}
@return nth($sequence, length($sequence));
}
.sidebar {
float: left;
margin-left: fibonacci(4) * 1px;
}
Ref https://sass-lang.com/documentation/at-rules/function/
document.querySelectorAll('[class*=str]')
- value에 str
이 포함되는 요소document.querySelectorAll('[class$=str]')
- str
로 끝나는 요소document.querySelectorAll('[class^=str]')
- str
로 시작하는 요소cf)
querySelector
에만 사용 가능하고,getElementsBy~
에는 사용 불가하다
Ref
-filter, -F 옵션으로 pnpm 명령어를 수행할 대상 워크스페이스를 지정할 수 있다.
pnpm --filter '@self/shared' run tsc*
@self/shared
워크스페이스의 package.json 에 등록된 tsc 명령어를 실행필터는 와일드카드 문자를 사용한 glob 패턴으로 지정할수 있습니다.
pnpm --filter '@self/*' run tsc
@self/
로 시작하는 이름의 워크스페이스의 package.json에 등록된 tsc 명령어를 실행프로젝트 루트에 있는 워크스페이스를 워크스페이스 루트라고 부른다. 루트의 package.json을 대상으로 pnpm 명령어를 실행하려면 --workspace-root
옵션을 사용한다.
pnpm --workspace-root add react
eslint가 사용하는 working directories가 어떻게 계산되는지 명시한다. eslint는 설정파일(eslintrc
, eslintignore
)를 working directory에서 상대적인 경로로 찾기 때문에, 이를 정확하게 설정하는 것이 중요하다. 만약 eslint를 터미널에서 실행한다면 터미널의 working directory를 하위 폴더로 이동시켜야 한다. .eslintrc*
파일은 부모 디렉토리 기준으로 탐색하는 반면, .eslintignore
파일은 현재 working directory에만 유효하다는 것을 알아두자. 설정에 다음 값들이 사용될 수 있다.
[{ "mode": "location" }]
(@since 2.0.0) - eslint가 workspace 폴더 위치나 파일 위치(workspace 폴더가 열려있지 않을 때)를 working directory로 사용하게끔 한다. 이것은 기본 설정이며, 구 버전(1.9.x)의 eslint extension에서 사용하는 방식이다.[{ "mode": "auto" }]
(@since 2.0.0) - eslint가 working directory를 package.json
, eslint.config.js
, eslintignore
, 그리고 .eslintrc*
파일이 위치한 곳 기준으로 실행되게 하는 방식이다. 이것은 여러 경우에 대응할 수 있지만 예측하지 못한 결과로 이어지기도 한다.Ref
--build
옵션프로젝트 레퍼런스에서 지정한 이 프로젝트와 프로젝트의 모든 의존성을 빌드 합니다.
…뭔소리야?
모노레포와 같은 구조에서, 상위 경로의 tsconfig 파일에 references
속성으로 특정 워크스페이스를 명시했다면, 해당 tsconfig로 빌드를 수행할 수 있다.
<figure>
태그로 감싸야할까?정답은, 아니다! 🙅♀️
<figure>
태그는 독립적인(self-contained) 이미지를 나타낼 때 사용한다.
부가적인 요소로 사용한 경우 <figure>
태그를 사용하는 것은 적절하지 않다.
Ref https://developer.mozilla.org/en-US/docs/Web/HTML/Element/figure
평일 내내 평화롭게 혼자 시간 잘 보내고 주말에 급발진 해버리기~
매년 피는 벚꽃이지만 볼때마다 항상 예쁘다.
올해는 소중한 팀원들과 벚꽃 한 컷, 그리고 짝꿍과는 조금 특별하게 러닝하며 벚꽃 찰칵 📷