피드로 돌아가기
An Itty Bitty Aster Plotter problem...
Dev.toDev.to
Frontend

d3.js 제거와 Modern CSS 전환을 통한 페이로드 80% 절감

An Itty Bitty Aster Plotter problem...

Adam Lewis2026년 6월 13일1intermediate

Context

URL 파라미터 내 Base64 인코딩 데이터만으로 웹사이트를 렌더링하는 itty.bitty.site 기반의 초경량 호스팅 환경 구현. QR 코드 내에 전체 애플리케이션 로직을 포함해야 하는 극심한 데이터 크기 제약 상황 직면.

Technical Solution

  • 외부 라이브러리 의존성 제거를 통한 런타임 오버헤드 최소화
  • 복잡한 데이터 시각화 라이브러리인 d3.js를 제거하고 Modern CSS로 대체하는 렌더링 전략 수정
  • 선언적 스타일링을 통한 DOM 조작 로직의 간소화 및 코드량 축소
  • 데이터 구조 최적화를 통한 Base64 인코딩 효율성 증대

Impact

  • 기존 구현 대비 전체 코드 및 데이터 크기 80% 감소

Key Takeaway

범용 라이브러리의 기능보다 특정 도메인에 최적화된 기본 웹 표준 기술(Native Web Standard) 활용이 극단적인 리소스 제약 환경에서 더 효율적인 설계 방향임.


1. 라이브러리 도입 전 실제 사용하는 기능의 비중을 분석하여 Native API 대체 가능성 검토

2. Payload 크기가 핵심 제약 사항인 경우 외부 종속성을 제거하고 브라우저 내장 기능을 활용한 경량화 설계 적용

원문 읽기