서론
보통 개발자들이 가장 두려워하는 상황은 문제도, 에러도 없이 예상하지 못 한 버그나 결과가 나올 때라고 생각합니다.
이번에 겪은 일도 위와 같았습니다. 분명히 문제는 계속해서 발생하는데, 어디를 찾아봐도 에러나 문제가 될만한 부분을 찾기가 어려웠습니다.
이를 디버깅하면서얻은 교훈은 코드 밖에서 발생하는 버그도 존재한다는 것이었습니다. (엄밀히 말하면 잘못된 코드가 맞긴 맞지만.)
재밌는 일화를 본다 생각하고 읽어보면 흥미로울 것이라 생각합니다.
(작성 중 경어는 생략하였습니다.)
문제와 해결과정
버그는 HTTP 요청을 보내는 곳에서 발생했다. 사용자의 post에 tag를 기록하는 API 요청이었는데, 분명 한 번만 보내도록 코딩되었음에도 간헐적으로 중복된 tag가 서버에 기록되는 경우가 발생했다.
정상 Data)
post: { tagId: [123, 456, 789]
}
문제 Data)
post: { tagId: [123, 456, 789, 123, 456, 789]
}
이는