피드로 돌아가기
The libraries I actually reach for — and the rule I use to decide
Dev.toDev.to
Frontend

플랫폼 기본 기능 기반의 의존성 최소화 및 고난도 문제 해결 중심의 라이브러리 전략

The libraries I actually reach for — and the rule I use to decide

Dimon2026년 6월 5일4intermediate

Context

무분별한 외부 라이브러리 도입으로 인한 Dependency Bloat와 중복 기능 구현의 비효율성 발생. Browser Native API의 발전으로 많은 기능이 대체 가능해졌으나, 여전히 보안 및 복잡한 수학적 계산 영역에서는 플랫폼의 한계가 존재함.

Technical Solution

  • 플랫폼 미지원 기능 및 안전한 구현이 어려운 영역에 한정하여 라이브러리를 채택하는 의존성 관리 원칙 수립
  • XSS 공격 방지를 위해 정규표현식 기반의 자체 구현을 배제하고 전문 Security Discipline이 적용된 sanitize-html 도입
  • TypeScript의 Compile-time Type Check 한계를 극복하기 위해 Runtime Validation을 수행하는 zod를 통한 데이터 경계 보호
  • Viewport Edge 및 Scroll Container 등 복잡한 Collision Math 처리를 위해 Floating UI를 통한 포지셔닝 로직 추상화
  • Markdown Parsing과 HTML Sanitizing을 분리하여 단일 책임 원칙(SRP)을 준수하는 파이프라인 설계
  • 기능 범위가 극히 제한적이고 런타임 오버헤드가 적은 Single-purpose 라이브러리 중심의 생태계 구성

1. Browser Native API로 구현 가능한 기능(예: <dialog>)인지 우선 검토

2. 보안 및 정교한 수학적 계산 등 '실수 가능성이 높은' 영역인지 판단

3. 프레임워크 수준의 거대 라이브러리보다 단일 목적의 가벼운 라이브러리인지 확인

4. Runtime 단계에서 데이터 정밀 검증이 필요한 Boundary 지점에 검증 로직 배치

원문 읽기