디버깅 실전
고객사에서 받는 코드에는 테스트가 없고 문서는 코드와 다릅니다. 이 코스는 그런 코드를 증상에서 출발해 고치는 세 가지 기술을 다룹니다. HTTP 응답만 보고 계산 로직의 결함을 좁히는 법, 트레이스백을 읽고 실패 지점을 특정한 뒤 다음번을 위한 계측을 심는 법, 그리고 코드가 아니라 환경이 원인일 때 그것을 가려내는 법입니다.
중급 · 레슨 30 · 실습 10
커리큘럼
증상에서 원인으로
- 문서와 코드가 다를 때 무엇을 믿는가 reading
- 넘겨받은 API 고치기 lab
- 퀴즈: 증상에서 원인으로 quiz
코드 레벨 디버깅
- 트레이스백은 아래에서 위로 읽는다 reading
- 트레이스백에서 계측까지 lab
- 퀴즈: 코드 레벨 디버깅 quiz
환경 문제 구분
- 우리 서버에서는 되는데요 reading
- 환경 차이 좁히기 lab
- 퀴즈: 환경 문제 구분 quiz
느리다는 신고 좁히기
- 느리다는 말을 숫자로 바꾸기 reading
- 느려요 한 줄을 네 개의 숫자로 lab
- 퀴즈: 느리다는 신고 좁히기 quiz
반씩 줄이기
- 반씩 자르면 64판이 여섯 번이다 reading
- 언제부터 깨졌나 — 64판을 여섯 번에 좁힌다 lab
- 퀴즈: 이분 탐색으로 범위 줄이기 quiz
되는 것과 안 되는 것의 차이표
밖이 문제인가 우리가 문제인가
자원이 바닥날 때의 증상
- 바닥난 것은 여기인데 오류는 저기서 난다 reading
- 오후만 되면 죽는다 — 바닥나는 자원을 자료로 잡는다 lab
- 퀴즈: 자원이 바닥날 때의 증상 quiz
순서가 보장되지 않아 생기는 것
- 숫자가 가끔 안 맞는 이유는 순서다 reading
- 여덟 건이 들어왔는데 하나만 남았다 lab
- 퀴즈: 순서가 보장되지 않아 생기는 것 quiz
다시 하면 된다는 문제
- 다시 해 보니 되던데요 reading
- 다시 하면 된다는 문제 — 몇 번을 돌려야 고쳤다고 말할 수 있나 lab
- 퀴즈: 간헐 실패를 자료로 다루기 quiz