프론트엔드 개발자
사용자 경험과 인터페이스 개선에 중점을 두고 끊임없이 배우고 성장하는 개발자입니다. 디자인과 개발 사이에서 최적의 균형을 찾는 데 열정을 가지고 있습니다.
이 블로그는 프론트엔드 개발 과정에서 배운 것들과 경험을 기록하고 공유하는 공간입니다. React, TypeScript, 웹 성능 최적화 등 실무에서 마주하는 다양한 주제를 다룹니다.
AI가 코드를 쓰는 일이 당연해진 요즘에도 그 코드의 책임은 여전히 사람에게 있다고 생각합니다. AI가 매번 다른 답을 내는 동안 무엇을 읽고 이해하고 설명할 수 있어야 내 코드라고 말할 수 있는지, 직접 겪으며 정리한 고민입니다.
마이크를 끈 상담 녹화만 재생되지 않던 장애에서 시작해 Shaka Player와 hls.js를 어댑터로 갈아 끼울 수 있는 HLS 재생 모듈을 만든 과정입니다. 브라우저에 HLS 라이브러리가 필요한 이유부터 엔진을 고를 수 있게 만드는 설계까지 다룹니다.
RADIO로 시스템 디자인하기 시리즈의 세 번째 글입니다. 서버가 먼저 말을 거는 실시간 채팅을 소재로, WebSocket 선택부터 낙관적 병합, 순서 보장, 가변 높이 가상화까지 RADIO 다섯 단계로 처음부터 끝까지 설계해봅니다.
RADIO로 시스템 디자인하기 시리즈의 두 번째 글입니다. Input과 Dropdown뿐인 작은 UI 안에 디바운스, 캐시, race condition, 접근성까지 자동완성 검색창을 RADIO 다섯 단계로 처음부터 끝까지 설계해봅니다.
RADIO로 시스템 디자인하기 시리즈의 첫 글입니다. 프론트엔드 시스템 디자인을 구조적으로 풀어내는 RADIO 프레임워크를 Requirements부터 Optimization까지 다섯 단계로 나눠, 각 단계가 무엇을 묻고 왜 그 질문이 필요한지 차근차근 살펴봅니다.
프롬프트에서 컨텍스트로, 다시 하네스로 AI 코딩의 방법이 몇 달 단위로 바뀌고 있습니다. 새 프레임워크를 쫓기보다 모델이 바뀌어도 오래 남는 원리에 시간을 써야 한다고 생각하며, 무엇이 낡고 무엇이 남는지 고민한 것을 정리해 보았습니다.