← 전체 글로 돌아가기

웹 개발

검색으로 찾은 해결책이 자기 환경에서 안 될 때

Stack Overflow나 블로그에서 찾은 해결책을 따라 했는데 안 될 때 디버깅하는 방법입니다.

처음부터 정답을 맞히려고 하면 오히려 확인 시간이 길어진다. 검색해서 바로 따라 하는 것도 위험하다. 자신의 환경에 맞게 조정해야 한다.

상황 요약

정상 상태를 먼저 정해두자. 정상이 뭔지 알아야 뭐가 비정상인지 판단할 수 있다. 검색해서 찾은 해결책이 자신의 에러 메시지와 정말 같은 건지 확인한다.

  • 에러 메시지가 정확히 일치하는가?
  • 환경(버전, OS, 의존성)이 다른 건 아닌가?
  • 찾은 해결책의 날짜는 최근인가?

증거 모으기

중요한 건 검색해서 자체가 아니라 재현 가능한 단서를 남기는 것이다. 실제 에러 메시지를 확인하면 다음으로 볼 범위가 확 줄어든다.

  • 먼저 볼 값: 에러 메시지
  • 같이 비교할 값: 정상일 때의 요청/응답 상태
  • 남겨둘 기록: 환경 버전, 실행 명령, 결과 스크린샷

응답 body 확인

찾은 해결책을 따라 했을 때 실제로 뭐가 나타나는지 본다:

curl -i 'https://example.com/api/items?page=1'

응답이 정상인지, 에러인지, 다른 결과가 나오는지 명확히 한다.

가능한 원인들

요청/응답 작업은 로컬과 운영의 차이가 자주 숨어 있다. 찾은 해결책이 로컬 환경용이었을 수도 있다.

각 환경에서 의존성 버전, 설정, 권한이 어떻게 다른지 기록해두자.

가장 작은 실험

찾은 해결책을 그대로 따르지 말고, 자신의 상황에 맞게 조정해보자. 한 가지만 바꾼 후 테스트하고, 결과를 기록한다.

status code가 200인지 400인지 500인지에 따라 다음 대응이 달라진다.

통과 기준

수정 전에 status code부터 확인하면 불필요한 변경을 줄일 수 있다. 작은 확인이 쌓이면 원인 후보가 자연스럽게 줄어든다.

원래 증상이 같은 조건에서 다시 나는지 확인한다. 로그나 응답에서 바뀐 부분을 한 줄로 설명한다. 공개 화면, 빌드 결과, 실제 요청 중 하나로 마지막 확인을 한다.

배운 점

해결 자체보다 어떤 값이 달라졌는지 설명할 수 있는 상태가 더 중요하다. 비슷한 에러가 나중에 다시 생기면, 이번에 기록한 정보를 보면 훨씬 빠르게 대응할 수 있다.