웹 개발
인터넷 검색으로 찾은 해결책 검증하기
StackOverflow나 GitHub이슈에서 찾은 해결 방법이 정말 자신의 문제에 맞는지 확인해야 합니다. 무분별하게 따라 하면 다른 문제가 생길 수 있습니다.
에러 메시지를 검색했고, StackOverflow에서 찾은 답을 따라 했다. 그런데 진짜 이게 맞는 해결책일까? 아니면 증상만 가린 건 아닐까?
내 상황과 비교하기
검색 결과가 정말 자신의 상황과 같은가?
- 같은 에러 메시지인가?
- 같은 버전의 라이브러리를 쓰는가?
- 같은 OS나 환경인가?
예를 들어 2018년 Node.js 8 버전의 답을 2024년 Node.js 20에서 따라 하면 안 될 수 있다.
작은 것부터 시도하기
전체 코드를 갈아치우기 전에, 제안한 한 가지만 먼저 시도한다.
// 방법 1: 작은 변경
// 뭔가 이상하면 되돌리기 쉽다
setTimeout(() => { /* ... */ }, 100);
// 방법 2: 큰 변경
// 뭔가 이상한데 어디가 문제인지 모른다
refactor entire codebase
해결책이 증상을 치료하는가, 증상만 가리는가?
"이 에러는 없어졌다"와 "이 문제가 정말 해결됐다"는 다르다.
// 나쁜 예: 에러 무시
try {
// 뭔가
} catch (err) {
// 에러를 무시한다
console.log('무시');
}
// 낫다: 실제 문제를 해결한다
try {
// 뭔가
} catch (err) {
// 왜 에러가 나는지 확인하고 고친다
if (err.code === 'ENOTFOUND') {
// DNS 문제를 해결한다
}
}
답변의 시간대 확인
StackOverflow 답변이 최근인가?
- 2024년 답변? 최신 정보
- 2015년 답변? 구식일 가능성 높음
- 댓글에서 "이건 안 되요" 같은 수정사항이 있나?
가장 추천 많은 답변이 항상 맞는 건 아니다. 최신 댓글도 함께 본다.
다른 해결책과 비교
같은 문제에 대한 다른 해결책은 뭔가?
- 방법 A: 라이브러리 업그레이드
- 방법 B: 설정 변경
- 방법 C: 코드 수정
세 방법을 모두 읽고, 자신의 상황에 맞는 것을 고른다.
공식 문서 확인
Google 검색 결과보다 공식 문서가 최신이다.
# React 공식 문서
https://react.dev
# Next.js 공식 문서
https://nextjs.org/docs
# Node.js 공식 API
https://nodejs.org/docs
공식 문서가 있으면 먼저 거기서 찾는다.
실제 프로젝트에서 테스트
검색으로 찾은 해결책을 바로 프로덕션에 적용하지 말자.
- 로컬에서 먼저 시도
- 작은 테스트 브랜치에서 확인
- 문제가 정말 해결됐는가 확인
- 다른 부작용은 없는가 확인
- 그 다음 병합
문제 재현 후 적용
StackOverflow 방법을 따라 하기 전에, 자신의 환경에서 문제를 재현했는가?
// 먼저 에러를 재현한다
// "이 조건에서 확실히 에러가 난다" 확인
// 그 다음 해결책을 적용
// "적용 후 에러가 안 난다" 확인
문제를 재현할 수 없으면, 자신이 겪은 문제와 다른 문제를 해결한 거일 수 있다.
원인까지 이해하기
"왜 이렇게 해야 하는가?"를 이해해야 한다. 그래야 다음에 비슷한 문제가 나올 때 스스로 해결할 수 있다.
// 이 방법이 왜 작동하는가?
await somePromise.catch(() => {}); // 에러를 무시한다
// 그 원인:
// Promise 기반 라이브러리에서 에러를 처리하지 않으면 "unhandled rejection"이 된다
// 이를 무시하는 방법이다
최종 확인: 버전 호환성
라이브러리나 프레임워크 버전이 맞는가?
# 현재 설치된 버전
npm list react
npm list nextjs
# package.json과 비교
cat package.json | grep -E 'react|next'
버전이 크게 다르면 검색 결과가 적용되지 않을 수 있다.
마지막으로, 검색으로 찾은 답은 빠른 응급처치일 뿐이다. 실제로 문제를 이해하고 해결하려면 공식 문서와 본인의 코드를 자세히 봐야 한다.