새로고침해도 이어지는 AI 답변 만들기
채팅방 개선기 시리즈 3 - 브라우저 연결과 AI 생성의 생명주기를 분리하고, Redis 기반 resumable stream으로 새로고침과 멀티 디바이스 재연결을 구현한 과정
채팅방 개선기 시리즈 3 - 브라우저 연결과 AI 생성의 생명주기를 분리하고, Redis 기반 resumable stream으로 새로고침과 멀티 디바이스 재연결을 구현한 과정
채팅방 개선기 시리즈 2 - 불규칙하게 도착하는 AI 스트림을 RAF 페이서로 일정하게 보여주고, 줄 단위 렌더링 비용까지 줄인 과정
채팅방 개선기 시리즈 1 - 가상 스크롤을 적용하고도 느렸던 채팅방에서 렌더링 병목과 스크롤 튐을 해결한 과정
NextJS는 왜 Page Router를 버렸을까
NextJS는 왜 Page Router를 버렸을까
Figma에서 TypeScript까지, 디자인 토큰 자동화 파이프라인 구축하기
isLoading 상태만으로 막을 수 있다고 생각하시나요?
어지러운 코드를 고쳐보자
어이 토스, 너만 할 줄 아니?는 장난입니다
어이 shadcn, 너만 할 줄 아니?
새로운 관점을 열어보자
Turborepo 환경에서 Tailwind CSS v4를 사용하면서 공통 라이브러리(UI 패키지)의 스타일이 제대로 인식되지 않는 문제를 만났다. 이 글에서는 문제의 원인과 여러 가지 해결 방법을 정리해보았다.
tanstack-query의 내부 동작 원리에 대해 조금은 쉽게 정리해 보았습니다.
Next 이거 완전 꿀이잖아?
전 글에 이어 V8 엔진의 동작원리를 이해하기 쉽게 정리해 보았습니다.
V8 엔진의 동작원리와 코드 비교를 통해 최적화 방법을 정리해 보았습니다.
Next.js에서 권한 기반 접근 제어(RBAC)를 구현하는 방법에 대해 간단히 정리해보았습니다.
Performance 탭을 분석하여 사이트의 성능 개선이 필요한 부분을 파악하는 방법, 그리고 이에 대한 예시 코드를 작성해 보았습니다.
이젠 "어디서 터졌어?" 안 해도 됨. Sentry가 먼저 말함
CSS 옵션을 통해 렌더링 속도를 높일 수 있다는 것을 알고 계셨나요?
모노레포에 대해 정리해보았습니다. 근데 이제 터보레포를 곁들인
모노레포에 대해 정리해보았습니다. 근데 이제 터보레포를 곁들인
이모 여기 스레드 하나 더 추가요
도커(Docker) 튜토리얼
Vite는 어떻게 빠를까?
브라우저 렌더링과 React 렌더링 과정 이해하기