
Suspense Query - 선언성을 댓가로 지불하는 Suspend 상태
useSuspenseQuery로 데이터를 가져오면 코드가 선언적으로 정리된다는 것은, TanStack Query를 쓰는 사람들 사이에서 거의 정설처럼 통합니다. 여기서 TanStack Query란 서버 상태를 다루는 데이터 fetching 라이브러리를 말합니다. 예전 이름은 React…
.png?table=block&id=38168e26-5a7c-80f7-9f1d-e0a7792a0a88&cache=v2)
Zod는 런타임에 어떻게 타입을 검증하는가? - (2) 직접 만든 zod 구조의 한계
1편에서는 직접 Zod를 흉내내보며 왜 Zod 스키마가 타입 → 값이 아닌, 값 → 타입의 순서를 따를 수밖에 없었는가에 대해서 알아봤고, 이를 직접 구현해보면서 얻은 인사이트들을 정리해봤습니다. 그 과정에서 두 가지 한계에 부딪혔습니다.

Zod는 런타임에 어떻게 타입을 검증하는가? - (1) 직접 Zod를 흉내내보며 이해해보기
최근 하나의 취미가 생겼습니다! 바로 type-challenges(TypeScript 타입 시스템만으로 문제를 푸는 오픈소스 문제 모음입니다)를 풀며 Typescript를 깊게 이해하는 것입니다. Pick 이나 ReadOnly 같은 내장되어있는 유틸리티 타입 뿐만 아니라, 다양한…

Turbo Cache 와 Github actions/cache 로 CI 시간 -94% 단축시키기
이 글은 사내에서 운영하는 두 monorepo — 디자인 시스템과 공통 유틸 패키지 CI에서 죽어 있던 cache를 살려, PR 머지 게이트를 단축시킨 과정을 정리합니다. 유틸 레포 기준 3분 46초에서 약 1분으로, 디자인 시스템 레포 기준 8~9분에서 약 29초로 -94% 까지…
.png?table=block&id=35e68e26-5a7c-80f9-a461-e8c4ba77e2e3&cache=v2)
Rust 학습 노트 (5) - 빌림 상태는 언제까지 유효한가, lifetime
이 글은 Rust의 lifetime을 정리합니다. Rust 학습 노트 시리즈의 다섯 번째 글이며, 이전 글에서 다룬 borrow는 한 가지 대전제를 깔고 있었습니다. 바로, “빌림은 영원하지 않다는 전제”입니다. 이 글에서는 그 유한한 기간을 Rust 컴파일러가 어떻게 추적하는지,…
.png?table=block&id=35968e26-5a7c-80c6-b0c4-f7e58d93020c&cache=v2)
Rust 학습 노트 (4) - 잠시 빌려쓰는 변수, borrow
이 글은 Rust에서 변수를 옮기지 않고 잠시 빌려쓰는 방법, 즉 borrow를 정리합니다. Rust 학습 노트 시리즈 중 한 편이며, 이전 글에서 다룬 소유권 모델은 일반적인 상황에서 너무 불편합니다. 모든 함수들이 그 소유권을 다 가져가버리면, 사실 변수의 의미가 없어지게 됩니다.…
kyu-log