pnpm workspace 기반 모노레포 세팅에서 겪은 Gradle·Metro·autolinking 문제와 Turborepo 도입기.
첫 해커톤, 대상까지!
Google Authenticator를 실수로 삭제해 AWS 루트 계정에 접근할 수 없게 됐다. 복구 과정에서 결국 공증까지 받게 된 이야기.
useState는 어디에 저장될까? Fiber와 Hook 구조를 통해 state가 저장되고 업데이트되는 과정을 내부 구현 기준으로 살펴보기
React Native WebView에서 postMessage 기반 메시지 프로토콜을 설계하고 토큰을 자동 복구한 과정.
둘 다 주기적 작업에 쓰이지만 다른 스케줄링 방식, Task Queue에 콜백이 쌓이는 시점, 비동기 작업에서의 overlap 문제, React stale closure까지 이벤트 루프 레벨에서 살펴보기
React state는 컴포넌트에 저장되지 않는다. 렌더 트리의 '위치'에 연결된 값이다. 이 관점으로 보면 setState, state 초기화, key 동작을 모두 일관되게 이해할 수 있다.
Lighthouse 25점짜리 맵 첫 화면을 rollup-plugin-visualizer로 분석하고, 중복 fetch 제거·WebP 전환·번들 지연 로딩으로 개선한 과정.
non-null assertion의 false positive 버그를 분석하고 수정하면서 타입스크립트의 제네릭과 타입 추론을 깊이 들여다보게 되다.
이론으로 알던 DNS를 직접 Cloudflare에서 도메인을 사고 Vercel에 연결하면서 확인해보다.
Presigned URL 조회 병목을 CloudFront CDN으로, 파일 크기를 클라이언트 WebP 변환으로 줄인 과정과 그 선택의 이유.
화상회의에서 유입되던 외부 소음을 LiveKit의 Krisp과 WebRTC 조합으로 50dB 억제(99.7% 감소)하다.
연결과 가시성을 분리했지만 경계 근처에서 여전히 연결이 순간적으로 끊기거나 가시선이 깜빡였다. tick 타이밍과 렌더 조건이라는 두 파생 이슈를 서버와 클라이언트 양쪽에서 추적한 과정을 담았다.
바운더리 시스템을 서버에서 안정화한 뒤 클라이언트에서 새로운 문제가 드러났다. 연결과 가시성을 분리하고 상태 모델을 재설계한 과정을 담았다.
2D 가상 공간에서 근접 화상 연결을 구현하며 1-hop 방식의 구조적 한계를 발견하고 다시 설계한 과정을 담았다.
setTimeout, clearTimeout, 클로저를 직접 다루며 debounce와 throttle, lodash 옵션까지 이벤트 실행 시점을 설계하는 법을 익히다.