단감의 개발일지

낚시 지도의 회색 마커 미스터리를 풀었다 | 1인 개발 일주일 분투기

단감이:) 2026. 6. 12. 20:01

안녕하세요, 단감을 혼자 굴리고 있는 1인 개발자입니다. 이번 주는 낚시 지도 서비스 DanFish 한 곳에 꼬박 매달렸습니다. 지도 위 마커들이 알 수 없는 이유로 회색이 되어버린 미스터리를 쫓다가, DB 인덱스 손상과 서버 무한 재시작 루프라는 두 마리 괴물을 잡은 한 주였어요.

👋 오늘의 개발 근황

발단은 간단한 질문이었습니다. 왜 어떤 낚시 포인트는 지수가 안 나오고 회색 마커로 표시될까. 전국 2천여 개 포인트에 매일 낚시지수를 계산해 뿌려주는 게 이 서비스의 핵심인데, 절반 넘는 포인트가 침묵하고 있었습니다. 처음엔 단순 수집 누락인 줄 알았는데, 파보니 층층이 쌓인 문제들이 나왔습니다.

🎯 이 프로젝트는 무엇인가

DanFish(단낚시)는 전국 낚시 포인트를 지도에서 보고, 날씨·물때·수온 같은 데이터를 종합한 낚시지수로 오늘 출조할 만한지 한눈에 판단하게 해주는 웹 서비스입니다. 갯바위부터 저수지까지 포인트마다 지수를 색깔 마커로 보여주는 게 핵심 화면이에요.

🛠️ 이번 주 뭐가 바뀌었나

첫 번째 범인은 DB 인덱스 손상이었습니다. 기상 예보 테이블의 2.4GB짜리 인덱스가 깨지면서 수집 작업이 매번 실패했고, 910개 격자 중 237개만 신선한 데이터를 갖고 있었습니다. 재구축에만 세 시간 반이 걸렸네요. 두 번째 범인은 더 어이없었는데, 서버가 시작될 때 외부 동기화 작업을 동기 방식으로 돌리는 코드 한 줄이 전체 API를 몇 분간 멈추게 했고, 그걸 본 감시 스크립트가 서버를 재시작하고, 재시작하면 또 멈추고... 무려 575회의 만성 재시작이 이 조합 때문이었습니다. 비동기로 바꾸는 수술로 루프를 끊었습니다.

기능 쪽도 손봤습니다. 지난번에 만들었던 행정구역 클러스터 표시를 이번 주에 과감히 걷어냈어요. 정보값이 없다는 결론이었거든요. 대신 지도 어디를 클릭해도 가까운 포인트의 상세 패널이 열리도록 바꿨고, 우측 토글 버튼 3개의 색도 디자인 토큰에 맞춰 통일했습니다. 그 결과 지금은 2,087개 전 포인트가 사흘치 지수를 온전히 표시합니다.

📸 화면으로 보는 변화

회색이 걷힌 지도 화면입니다. 클러스터가 사라지고 포인트 마커가 직접 보이는 게 이번 주의 가장 큰 시각적 변화예요.

💭 만들면서 느낀 점

이번 주의 교훈은 증상 하나에 원인이 하나라는 보장이 없다는 것이었습니다. 회색 마커라는 한 가지 증상 뒤에 백필 누락, 인덱스 손상, 재시작 루프가 겹겹이 숨어 있었어요. 하나 고치고 끝났다고 보고했다가 다시 파고든 게 결과적으로 옳았습니다. 혼자 개발하면 이런 추적을 끝까지 갈 동료가 없어서, 스스로를 의심하는 습관이 더 중요해지는 것 같습니다. 새벽에 인덱스 재구축 로그를 지켜보던 시간은 고됐지만, 전 포인트에 색이 돌아온 지도를 봤을 때의 만족감은 컸습니다.

🔗 직접 써보기

주말 출조 계획이 있으시다면 DanFish 바로가기에서 낚시지수를 한번 확인해 보세요. 지도를 아무 데나 클릭해 보시는 것도 환영입니다. 이상하게 동작하는 곳을 발견하시면 댓글로 알려주세요. 1인 개발이라 피드백 하나하나가 정말 큰 도움이 됩니다.

반응형