개발자 블로그
개발하면서 배운 것들, 헤맨 것들, 그리고 잘 된 것들을 기록합니다.
최신 글
useState는 내부에서 어떻게 동작하는가
useState는 어디에 저장될까? Fiber와 Hook 구조를 통해 state가 저장되고 업데이트되는 과정을 내부 구현 기준으로 살펴보기
추천 게시물
전체 보기 →useState는 내부에서 어떻게 동작하는가
useState는 어디에 저장될까? Fiber와 Hook 구조를 통해 state가 저장되고 업데이트되는 과정을 내부 구현 기준으로 살펴보기
typescript-eslint 오픈소스에 기여하다 1
non-null assertion의 false positive 버그를 분석하고 수정하면서 타입스크립트의 제네릭과 타입 추론을 깊이 들여다보게 되다.
roomId = contactId: 연결 단위와 가시성 단위를 분리하기까지
바운더리 시스템을 서버에서 안정화한 뒤 클라이언트에서 새로운 문제가 드러났다. 연결과 가시성을 분리하고 상태 모델을 재설계한 과정을 담았다.
1-hop에서 BFS로: 대화 Boundary를 그래프로 재정의한 과정
2D 가상 공간에서 근접 화상 연결을 구현하며 1-hop 방식의 구조적 한계를 발견하고 다시 설계한 과정을 담았다.
useState는 내부에서 어떻게 동작하는가
useState는 어디에 저장될까? Fiber와 Hook 구조를 통해 state가 저장되고 업데이트되는 과정을 내부 구현 기준으로 살펴보기
WebView postMessage 인증 통신 설계와 토큰 자동 복구
React Native WebView에서 postMessage 기반 메시지 프로토콜을 설계하고 토큰을 자동 복구한 과정.
setInterval과 setTimeout 재귀, 뭐가 다를까
둘 다 주기적 작업에 쓰이지만 다른 스케줄링 방식, Task Queue에 콜백이 쌓이는 시점, 비동기 작업에서의 overlap 문제, React stale closure까지 이벤트 루프 레벨에서 살펴보기
React state는 컴포넌트가 아니라 '위치'에 연결된다
React state는 컴포넌트에 저장되지 않는다. 렌더 트리의 '위치'에 연결된 값이다. 이 관점으로 보면 setState, state 초기화, key 동작을 모두 일관되게 이해할 수 있다.
FCP 12.3s → 1.1s: Phaser 맵 로딩 파이프라인 최적화
Lighthouse 25점짜리 맵 첫 화면을 rollup-plugin-visualizer로 분석하고, 중복 fetch 제거·WebP 전환·번들 지연 로딩으로 개선한 과정.
typescript-eslint 오픈소스에 기여하다 1
non-null assertion의 false positive 버그를 분석하고 수정하면서 타입스크립트의 제네릭과 타입 추론을 깊이 들여다보게 되다.