피드로 돌아가기
Dev.toFrontend
원문 읽기
Rust와 WASM 기반으로 구현한 100µs 미만의 VAST XML 실시간 검증 엔진
I Built a VS Code Extension That Validates VAST XML as You Type
AI 요약
Context
복잡한 VAST XML 표준의 다중 버전 관리와 파편화된 검증 도구로 인한 낮은 생산성 노출. 기존 XSD 기반 검증의 한계와 사후 리포트에 의존하는 느린 피드백 루프로 인해 대규모 광고 집행 시의 리스크 증가.
Technical Solution
- Rust 기반의
vastlint-core라이브러리를 구축하여 외부 의존성 없는 고성능 검증 로직 구현 - WebAssembly(WASM) 모듈화를 통한 VS Code Extension 내 In-process 실행 구조 설계로 네트워크 지연 제거
- XML 파싱 후 VAST 버전을 자동 감지하고 108개의 세부 규칙 세트를 순차 적용하는 파이프라인 구축
settings.json을 통한 규칙별 가중치(Error, Warning, Info, Off) 설정 기능을 제공하여 인벤토리별 유연한 검증 환경 지원- 동일한 Core 라이브러리를 CLI, REST API, MCP Server 등 다양한 인터페이스로 확장 가능한 계층형 아키텍처 채택
실천 포인트
1. 정적 분석 도구 설계 시 핵심 엔진과 인터페이스 레이어를 분리하여 재사용성 확보
2. 실시간 IDE 피드백 구현을 위해 네트워크 호출을 배제한 In-process 실행 구조 검토
3. 복잡한 스펙 검증 시 단순 구조 체크(XSD)를 넘어 비즈니스 로직 기반의 세부 Rule Set 정의