일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 영어원서읽기
- 링피트
- 월간
- 영어공부
- 3줄정리
- realclass
- 뭐든
- 읽기
- 10분
- 30분
- Problem Solving
- leetcode
- 리얼 클래스
- 매일
- 쓰릴오브파이트
- Daily Challenge
- FIT XR
- 화상영어
- 파비최
- 스탭퍼
- 괜찮음
- 프로젝트
- 미드시청
- 만화도
- 운동
- Writing
- English
- 개발자
- 잡생각
- 사이드
- Today
- Total
파비의 매일매일 공부기록
Two Scoops of Django - #33장 본문
이번장은 디버깅의 기술에 대한 내용이다.
언제 어떤 프로젝트던지 디버깅은 항상 필요하다.
1. 개발환경에서의 디버깅
- django-debug-toolbar 이용하기
- 짜증 나는 클래스 기반 뷰 에러 : urls.py 모듈 확인할 것
- 파이썬 디버거 마스터하기 : PDB 자체도 유용하지만 ipdb 같은 서드 파티 패키지와 함께 쓰면 더 강력해짐.
- 폼 파일 업로드의 핵심 기억 : 파일 업로드 시 소리 소문 없이 실패하는 경우가 있기에 점검이 필요하다.
- 텍스트 편집기나 통합 개발 환경의 힘을 빌리기 : 텍스트 편집기를 사용 중이라면 플러그인 잘 활용할 것. 통합 개발환경을 사용하면 내장되어 있는 고급 기능 잘 활용할 것
2. 상용 서비스 시스템의 디버깅 : 로컬에선 재현이 안되는 경우가 있을 수 있는데 이러한 상황에서 도움되는 팁
- 로그를 좀 더 편하게 읽기 : 상용로그의 경우 로그 크기가 너무 방대해서 문제의 원인 찾기가 힘듦. 센트리 등의 로그 분석 시스템을 이용하여 좀 더 쉽게 로그를 열람, 분석할 것
- 상용 환경 미러링 : 편하게 디버깅할 수 있도록 작업자가 쉽게 접근할 수 있는 환경으로 상용 환경을 미러링 하는 것을 말함. PaaS, 데브옵스, 동일 환경 구성 등이 이를 수월하게 만듦.
- UserBasedExceptionMiddleware : 디버깅 도구를 상용환경에서 사용
- 고질적인 settings.ALLOWED_HOSTS 에러 : 잘못 세팅되는 순간 ALLOWED_HOST는 500 에러를 일으키며, SuspiciousOperation 에러만 나오지 다른 건 안 나오니 답답. 그럴 땐 일단 settings.DEBUG가 False로 되어있는지 확인
3. 기능 설정 : 프로젝트 각각의 기능을 웹 기반 인터페이스에서 설정
- 개발한 모든 기능을 유저에게 바로 배포하기 보단 Test Bed를 만들어서 테스트하는 걸 추천
- 기능 설정 패키지 : django-gargoyle, django-waffle이 있음
- 기능 설정과 단위 테스트 : 기능 설정으로 해당 기능이 비활성화된 경우 그 비활성화된 기능은 테스트되지 않는 것을 유의
'Study > Python' 카테고리의 다른 글
파이썬 병렬 프로그래밍 - #0 들어가며 (0) | 2021.07.18 |
---|---|
Two Scoops of Django - #34장 (2) | 2021.07.05 |
Two Scoops of Django - #32장 (0) | 2021.07.03 |
Two Scoops of Django - #31장 (0) | 2021.07.02 |
Two Scoops of Django - #30장 (0) | 2021.07.01 |