개인 · 2026
PlanesView
전 세계 항공 교통을 사실적인 지구본 위에 실시간으로 표시하고, 어떤 항공기든 조종석 시점으로 볼 수 있습니다.



이야기
처음 요구 사항은 "백엔드 없음"이었습니다. ADS-B 피드의 CORS 헤더를 제공자별로 측정해 보니 네 곳의 ADS-B 제공자가 웹 페이지에서의 호출을 거부했습니다. "무료, 키 없음, 계정 없음"이라는 조건을 포기하는 대신, 파일에 고정된 출처에만 닿을 수 있는 화이트리스트 방식의 최소 릴레이를 설계했습니다.
위치는 약 1초에 한 번 도착합니다. "늦은" 항공기를 한 번도 보여 주지 않으면서 초당 60프레임의 부드러운 움직임을 얻기 위해, 각 항공기를 등속 칼만 필터로 추적하고 축마다 두 개의 필터로 분해합니다(전파할 항이 16개가 아닌 4개).
지구본은 타일의 쿼드트리입니다. 타일은 결코 비어 있지 않고(조상의 텍스처를 빌립니다), 세부 묘사는 페이드로 선명해지며, 부모는 네 자식이 모두 만들어진 뒤에만 교체되고, IndexedDB 캐시는 경로를 따라 미리 데워집니다.
여기서 얻은 것
결정 전에 측정하기: 요구 사항은 한 가지가 틀렸고, 올바른 답은 엄격하게 제한된 작은 릴레이였습니다. 또한 "그럴듯하게 틀린" 수학(측지학, 투영)이 가장 많은 테스트를 필요로 한다는 것도 배웠습니다.