yceffort.
웹이 동작하는 원리를 파고들고, 직접 만들고 측정한 경험을 글과 도구로 나눕니다. 요즘은 AI와 함께 일하는 개발자의 판단과 학습을 고민합니다.
방금 이 브라우저가 이 탭을 불러온 실제 기록입니다. 측정값은 브라우저 밖으로 보내지 않습니다.
기록을 읽는 중
안녕하세요. 프론트엔드 엔지니어 yceffort입니다. 2014년부터 소프트웨어를 개발해 왔고, 현재도 프론트엔드 엔지니어로 일하고 있습니다. 의료, 기부, 여행, 금융 서비스를 거치며 사용자 화면부터 서버와 배포 환경까지 다뤘습니다. 프론트엔드 팀을 이끌며 공통 라이브러리와 개발 도구를 만들고, 코드 리뷰와 멘토링을 통해 동료들과 함께 일하는 방법을 고민해 왔습니다.
잘 동작하던 코드가 왜 깨졌는지, 빨라졌다는 숫자를 어디까지 믿어도 되는지 궁금해합니다. 문서만으로 설명되지 않으면 소스 코드와 빌드 결과물을 읽고, 직접 재현하고 측정해 봅니다. 이 블로그에는 그 과정에서 알게 된 것과 잘못 짚었던 것, 아직 답하지 못한 질문을 함께 남깁니다.
관심을 두고 있는 것들
- 프레임워크 아래에서 일어나는 일. React의 렌더링과 Next.js의 캐시, JavaScript 모듈과 번들러의 동작을 살펴봅니다. 소스에서는 하나였던 싱글톤이 빌드 뒤에 두 개가 된 문제처럼, 추상화 아래로 내려가야 설명되는 현상에 관심이 많습니다.
- 측정으로 확인하는 성능과 운영. 브라우저와 네트워크의 병목부터 Node.js 서버와 쿠버네티스의 배포 문제까지 따라갑니다. 이 블로그도 직접 개발하고 운영하며, 서비스 워커의 비용을 실사용자 데이터와 실험으로 비교하는 등 개선 효과와 측정의 한계를 함께 확인합니다.
- 오래 믿고 쓸 수 있는 개발 도구. 공통 라이브러리와 CLI, 패키지 관리와 공급망 보안에 관심이 있습니다. 기능과 속도만큼 호환성과 유지보수 비용을 중요하게 생각합니다. 최근에는 매일 쓰는 마크다운 린터를 Rust로 옮기며, 기존 도구와 같은 결과를 내는 데 필요한 일을 기록했습니다.
- AI와 함께 일하는 개발자의 판단과 학습. 코딩 에이전트를 일상적으로 사용하면서, 생성된 코드를 무엇으로 검증할지, 코드를 덜 읽게 된 환경에서 개발자는 어떻게 판단을 배울지 고민합니다. 도구를 쓰는 제 경험과 다른 개발자들의 이야기를 글로 옮기고 있습니다.
쓰고 나누는 일
2018년부터 블로그에 배운 것과 시행착오를 기록하고 있습니다. 기술을 이해하고 설명하는 일을 책으로도 이어 왔습니다.
지금은 AI가 코드를 쓰는 시대에 개발자의 판단이 어디서 길러지는지를 묻는 에세이 『남은 판단은 누가 배우는가』(가제)를 쓰고 있습니다. 제 경험을 돌아보고 다른 개발자들의 이야기를 들으며 원고를 다듬고 있습니다.
DAN24에서는 웹 서비스 번들 사이즈 최적화를 주제로 발표했습니다. 책과 블로그에서 다룬 내용을 강연으로도 나누고 있습니다.
오픈소스로 만드는 도구
직접 쓰다가 불편했던 것을 도구로 만들고, 기존 라이브러리를 필요한 환경에 맞게 확장합니다. 브라우저 호환성과 웹뷰 디버깅부터 개발 도구와 일상적인 작업을 돕는 데스크톱 앱까지 관심을 넓혀 가고 있습니다.
- coldpath — JavaScript 번들의 바이트를 소스맵과 V8 커버리지로 원본 파일까지 추적하는 Rust CLI입니다. 처음 실행되는 코드와 상호작용할 때만 실행되는 코드를 나누고, 번들 트리맵과 풀 리퀘스트 사이의 비교 보고서를 만듭니다. 분석은 Node.js나 브라우저 없이 오프라인으로 동작합니다.
- number-flow — barvian/number-flow를 포크해 구형 브라우저와 웹뷰에서도 숫자 애니메이션이 동작하도록 확장했습니다. 기존 API를 유지하면서 requestAnimationFrame 기반 폴백 엔진을 구현하고 실제 구형 브라우저로 검증했습니다.
- storage-inspector — 웹뷰 안에서 localStorage와 sessionStorage를 조회·편집하는 Lit 웹 컴포넌트입니다. 키별 설명과 타입을 스키마로 정의하고, 값 검증과 편집을 지원하도록 만들었습니다.
- rust-markdownlint — markdownlint-cli2 호환을 목표로 만든 Rust 기반 마크다운 린터입니다. 기존 도구와의 진단·자동 수정 결과를 대조하고, 직접 운영하는 저장소에 적용했습니다.
- yc.clipboard — 텍스트·이미지·파일 등 클립보드 이력을 검색하고 다시 사용하는 macOS 메뉴 막대 앱입니다. 항목 고정과 미리보기, 이전 앱으로 붙여넣기를 지원합니다.
코드로 돕는 일
2016년부터 사단법인 점프의 이사로 활동하며 업무 자동화와 프로그래밍 교육에 참여하고 있습니다. 2021년에는 삼성 청년 소프트웨어 아카데미(SSAFY)에서 멘토로 활동했습니다. 함께 일하는 사람의 반복 작업을 줄이고, 누군가가 스스로 문제를 풀 수 있도록 돕는 일에도 시간을 쓰고 있습니다.