발행·캐시 provenance
published_boards.boardId
published_boards.publishedAt · etag
published_boards.expectedNextObservationAt
발행 지연, 조건부 조회, 수집 스케줄을 진단합니다. 공개 시각은 HTTP Last-Modified로만 나갑니다.
Board response anatomy
현재 차량, 현재 대기열, 정류장별 미래 예보를 한 시점에 고정한 스냅샷입니다. 화면에 필요한 값만 JSON에 두고 재현용 계산 정보는 서버 내부에 분리했습니다. 아래 장면의 요소를 선택하면 클라이언트가 실제로 받는 필드만 풀어서 보여줍니다.
vehicles[]는 지금 관측된 차량 위치와 좌석입니다.stops[].nextArrival은 그 정류장에 도착할 때의 예보입니다.stops[].queueEstimate는 차량 관측으로 계산한 실험적 대기열 추정입니다.freshness와 experimental이 낡음·실험 기능 여부를 설명합니다.가장 중요한 연결
vehicleRef가 같은 값을 가리키기 때문에 “어느 차량이 범계역의 다음 차량인지”를 프론트가 안전하게 연결할 수 있습니다.
vehicles[0].refvehicle-1stops[0].nextArrival.vehicleRefvehicle-1expectedSeats · verdict7석 예상 · 여유대기열은 서버 내부 입력으로 계산한 뒤 표시 결과만 Board에 넣습니다.
vehicle_observations마지막 해소 시각 추론queue_estimates · profile유입률 × 경과 시간queueEstimate.display약 8~19명 · 10분 · 실험SERVER INTERNAL · CLIENT JSON 아님
프론트는 아래 값을 몰라도 화면을 완성할 수 있습니다. 백엔드와 데이터 담당자는 Board ID로 발행본·예보·대기열 레코드를 연결해 원인을 추적합니다.
published_boards.boardId
published_boards.publishedAt · etag
published_boards.expectedNextObservationAt
발행 지연, 조건부 조회, 수집 스케줄을 진단합니다. 공개 시각은 HTTP Last-Modified로만 나갑니다.
processing_runs.processorVersion
predictions.algorithmVersion
profile_snapshots.inputTo
같은 입력과 버전으로 예보를 재현하고 모델별 정확도를 채점합니다.
queue_estimates.calculatedAt · clearingAt
queue_estimates.arrivalRatePerMinute · clearingBasis
queue_estimates.boardedSince · algorithmVersion · profileVersion
왜 과대·과소 추정됐는지 확인합니다. Client에는 결과와 표시 맥락만 남습니다.
상태 사전
숫자 0과 정보 없음, 차량 없음과 학습 부족을 각각 다른 상태로 유지하는 것이 핵심입니다.
vehicles[].seat.kindremaining: 0은 만석.nextArrival.kindverdictfreshness.statequeueEstimate.kind전체 예시
필요한 영역을 위에서 이해한 뒤 전체 응답을 보면, 각 덩어리의 역할이 분명해집니다.