한강자리

21개 기록

기록

  1. 한강자리 시스템 개요 외부 데이터 수집부터 API, iOS 앱과 위젯까지 한강자리의 전체 데이터 흐름
  2. SwiftUI 앱과 WidgetKit의 공유 상태 SwiftUI 앱, WidgetKit, 캐시와 딥링크가 같은 공원 상태를 이어받는 구조
  3. FastAPI route를 얇게 둔 API 설계 화면용 응답 조립과 저장소 접근을 분리해 FastAPI route를 얇게 유지한 구조
  4. 기록은 Postgres에, 재생성 가능한 값은 Redis에 근거와 이력은 Postgres에 남기고 재생성 가능한 조회값만 Redis에 둔 기준
  5. API 밖에서 도는 worker와 CronJob 수집, 예측과 푸시 작업을 요청 경로에서 분리하고 중복 실행을 막은 방법
  6. 데이터 없음과 수집 실패를 구분하는 파서 공공데이터의 빈 응답과 파싱 실패를 구분하고 출처별 수집 정책을 관리한 방법
  7. 주차 예측에 confidence와 최신성을 함께 둔 이유 주차 현재값과 예측값을 구분하고 confidence와 최신성을 함께 표시한 이유
  8. APNs 전송 전에 알림 후보를 거르는 방법 알림 후보, 미발송 규칙, outbox와 APNs 결과를 분리해 추적한 푸시 구조
  9. 기록으로 남기는 배포 검사 결과와 배포 대상을 기록으로 남겨 같은 릴리스를 반복할 수 있게 만든 과정
  10. 오래된 데이터가 보일 때 확인할 순서 오래된 데이터가 보일 때 요청, API, worker와 출처를 차례로 확인하는 운영 절차
  11. WidgetKit을 위한 snapshot 저장 구조 앱이 만든 표시값을 App Group snapshot에 저장해 WidgetKit이 먼저 읽게 한 구조
  12. 첫 화면 값을 한 응답으로 묶기: home-summary 첫 화면의 주차, 나들이, 예측과 출처 상태를 한 번에 내려주는 API 계약
  13. source catalog와 ingestion run 출처별 수집 주기와 실행 결과를 기록해 데이터 없음과 수집 실패를 구분한 구조
  14. Redis cache에 응답 최신성을 남기는 방법 Redis hot cache, 마지막 성공 cache와 DB fallback으로 응답 최신성을 드러낸 방법
  15. 주차 예측의 confidence와 backtest 주차 baseline, 예측 범위, confidence와 backtest를 나눠 예측 근거를 표시한 방법
  16. 푸시 outbox와 suppression audit 원천 변화부터 미발송 판단, outbox claim과 APNs 결과까지 남기는 알림 감사 기록
  17. 공공데이터 번역 cache와 원문 보존 공공데이터 원문을 보존하면서 검수 번역과 생성 번역 cache를 순서대로 적용한 구조
  18. 위치 좌표를 단말에 두는 telemetry 위치 좌표를 단말에 남기고 가명 처리한 품질 신호만 제한적으로 전송한 telemetry 설계
  19. 미니PC 서버의 장애 확인 순서와 복구 기준 미니PC 서버에서 사용자 요청 경로를 추적하고 백업을 복구로 검증한 운영 기록
  20. 작은 iPhone을 위한 iOS 시각 QA 작은 iPhone에서 문장, 정보 밀도와 위계를 확인하도록 만든 iOS 릴리스 게이트
  21. App Attest로 검증한 것과 남은 공격 범위 App Attest, 단기 토큰과 request proof가 검증하는 범위와 남은 공격 경계