울면서개발하기
KARTORY 개발일지

링크 미리보기, 첫 로딩 줄이기, 운영 지표

· 커밋 2개

링크를 받는 사람과 처음 들어오는 사람의 경험을 다듬은 날이다. 커밋은 두 개.

한 일

  • 링크 미리보기: 메신저에 도전장이나 초대 링크를 붙이면 링크 종류에 맞는 제목과 설명이 뜬다. 서버가 index.html 을 보낼 때 Open Graph meta 를 끼워 넣는다
  • 메뉴 첫 화면 소식: 지금 달리는 사람 수와 오늘의 도전 1위를 한두 줄로 보여 준다
  • 첫 로딩 줄이기: 로딩 화면을 index.html 에 바로 넣고, 개발용 튜닝 패널 라이브러리는 필요할 때만 받게 나눴다
  • 운영 지표: 접속·입장·경주 수, 오늘의 도전 결과, 이벤트 루프 지연, 메모리를 Prometheus 형식으로 내보낸다. 이 경로는 외부에 공개하지 않는다
  • 마을 전광판용으로 숫자 API 에 오늘의 도전 요약을 더했다. 계정 식별자는 넣지 않는다

기술 메모

풍경 배치가 첫 로딩을 잡아먹고 있었다. 나무·바위 같은 소품을 깔 때 땅 높이를 정하려고 점마다 “트랙에서 가장 가까운 점” 을 구했는데, 이걸 트랙 표본 전체를 훑어서 하고 있었다. 수만 점 × 전체 표본이라 느릴 수밖에 없다. 트랙 표본을 격자 칸에 미리 나눠 담아 두고 주변 칸만 보게 바꿨다. 결과가 전체 탐색과 똑같은지 비교한 뒤 바꿨다.