피드로 돌아가기
Dev.toFrontend
원문 읽기
Static Astro 기반 50개 항공사 수하물 검증 시스템 구축
Building the Carry-On and Personal Item Size Checkers
AI 요약
Context
항공사별로 상이한 수하물 규격과 불명확한 가이드라인으로 인한 사용자 혼선 발생. 초기 단순 스키마 설계로 인한 데이터 확장성 부족과 수동 데이터 관리의 한계 직면.
Technical Solution
- Astro 5 및 Cloudflare Pages 기반의 Static Site Generation(SSG) 구조를 통한 서버리스 런타임 구현
- Build-time에 JSON 데이터를 HTML 속성에 주입하여 Client-side 필터링 및 검증 로직 최적화
- 가방과 규격 데이터를 내림차순으로 정렬 후 비교하는 알고리즘을 도입하여 입력 순서에 관계없는 정확한 Fit-check 구현
- 'fits', 'too-big', 'under-seat-only'의 3단계 상태 모델을 설계하여 규격 미공개 항공사에 대한 정직한 데이터 제공
- 4,000라인 규모의 hand-verified JSON 파일을 단일 진실 공급원(Single Source of Truth)으로 활용
Key Takeaway
복잡한 상태 관리나 API 서버 없이도 Static Data와 Client-side 로직만으로 고성능 서비스 구현 가능. 도메인 특성(Bag Orientation)을 반영한 데이터 정규화가 단순 기능 구현보다 시스템의 신뢰도에 더 큰 영향을 미침.
실천 포인트
1. 입력 데이터의 순서가 결과에 영향을 주는 경우 정렬(Sorting)을 통한 데이터 정규화 검토
2. 데이터 부재 상황을 단순 Null이 아닌 명시적인 상태(State)로 정의하여 UX 저하 방지
3. 정적 데이터 규모가 커질 경우 수동 편집 대신 Schema Validation이 포함된 CLI 도구 도입 고려
4. SEO 최적화와 코드 중복 사이의 Trade-off를 분석하여 진입점(Landing Page)과 핵심 로직 분리 설계