성능 개선은 어디서 재야 보일까: 로컬에선 그대로, CI에선 25초
DOM을 안 쓰는 테스트 파일 121개가 파일마다 jsdom을 부팅하던 낭비를 Vitest 프로젝트 분리로 걷어냈습니다. 10코어 로컬에서는 wall time이 그대로였는데 4-vCPU CI에서만 실행당 25초가 줄어든 이유를 실측으로 따라갑니다.
2026-09-18 · 20 min
캐시가 hit인데 매번 콜드 빌드였습니다 — GitHub Actions Next.js 캐시 키가 죽어 있던 이유
08-16매일 쓰던 getByRole 때문에 테스트가 26배 느렸습니다 — RTL·jsdom 성능 분석
07-31TypeScript 6 업그레이드인 줄 알았는데, 문제는 "설정"이었습니다
07-02[Typescript로 설계하는 프로젝트] id?: string을 버려라. 상태가 다르면 타입도 달라야 한다.
03-16[누가 시키지도 않았는데 번들러 만들기] 4. 소스맵: 번들된 코드에서 원본의 흔적 찾기
03-03[누가 시키지도 않았는데 번들러 만들기] 3. 번들링과 스코프: 파일 합치기의 기술
02-23[누가 시키지도 않았는데 번들러 만들기] 2. 코드를 데이터로 보는 법 (AST Graph)
02-17[누가 시키지도 않았는데 번들러 만들기] 0. 프롤로그: 질문이 구현이 되는 순간
02-02[누가 시키지도 않았는데 번들러 만들기] 1. 개념과 도구: 번들러의 등장 배경
02-02결제 시스템 리팩토링: if문 지옥에서 디자인 패턴(Factory, Adapter)으로 탈출하기
01-242025 회고: 글 33개, PR 38회, 발표 3회로 '보여주는 개발자'가 되다
12-212025 Teoconf 발표 후기
12-11
오픈소스 기여
- node.js
- next.js
- gemini-cli
- mantine
- 81+ merged