01·RECOVERY
운영 중 사고를 복구 가능한 구조로 바꾼 경험
동아리 지원자 정보가 관리자 페이지에서 실수로 삭제되는 문제가 있었습니다. 당시 Django 로그를 추적해 데이터를 복구했고, 이후 같은 문제가 반복돼도 대응할 수 있도록 백업 체계를 만들었습니다.
- Django 로그 기반 삭제 데이터 추적 및 복구
mysqldump기반 정기 백업 스크립트 작성cron으로 주기 실행- 생성된 SQL 백업 파일을 NAS에 저장

동아리 가입 신청, 물품 대여, 학식 조회를 카카오톡 채널 안에서 처리할 수 있도록 만든 학술 동아리 챗봇 백엔드입니다. 초기에는 가입 신청을 간소화하는 것이 목표였지만, 운영 중 사용자 피드백을 반영해 물품 대여와 학식 정보 제공 기능까지 확장했습니다. 이후 약 18개월간 유지보수하며 장애 복구, 백업 자동화, 크롤링 최적화까지 맡았습니다.


“무엇을 만들었나” 보다 “왜 그렇게 결정했나” 를 남깁니다.
동아리 지원자 정보가 관리자 페이지에서 실수로 삭제되는 문제가 있었습니다. 당시 Django 로그를 추적해 데이터를 복구했고, 이후 같은 문제가 반복돼도 대응할 수 있도록 백업 체계를 만들었습니다.
mysqldump 기반 정기 백업 스크립트 작성cron으로 주기 실행학식 정보 조회는 처음에 Selenium 기반 동적 크롤링으로 구현되어 CLI 환경에서 무겁고 느렸습니다. 네트워크 요청을 분석해 실제 데이터 API를 찾고, requests 기반 호출로 전환했습니다.
2300ms170ms93% 응답 시간 단축초기 목표는 동아리 가입 신청을 카카오톡 안에서 처리하는 것이었습니다. 이후 실제 사용자 피드백을 반영해 물품 대여와 학식 조회 기능을 추가했고, 약 18개월간 백엔드 운영과 유지보수를 맡았습니다.
“복구에서 끝내지 않고, 다시 복구할 수 있는 구조를 남겼습니다.”