정혜민

DQ 미래 역량 검사
DQ 미래 역량 검사

논서술형 풀이 활동 로그

문항별 진입/이탈/답변 변경 이력을 기록하여 학생의 풀이 과정을 추적하는 시스템


문제

논서술형 검사는 45~90분 동안 진행됩니다. 학생이 브라우저를 실수로 닫거나 네트워크가 끊기면 작성 중이던 답변이 모두 유실되는 문제가 있었습니다.

또한 교사가 검사를 감독할 때, 학생이 현재 어떤 문항을 풀고 있는지, 얼마나 시간을 소요했는지 확인할 방법이 없었습니다. 검사가 끝난 후에도 학생의 풀이 패턴(어떤 문항에서 오래 머물렀는지, 답변을 몇 번 수정했는지)을 분석할 데이터가 없었습니다.

해결

문항별 활동 로그를 세 단계로 기록합니다. 문항 진입 시 타임스탬프를 기록하고, 답변 입력이나 수정이 발생하면 900ms 디바운스로 Redis에 임시 저장합니다. 문항을 이탈하면 최종 상태를 DB에 영구 저장합니다.

900ms 디바운스를 적용한 이유는, 학생이 글을 입력하는 도중에 매 키스트로크마다 저장하면 불필요한 부하가 발생하기 때문입니다. 900ms는 문장 하나를 완성하는 데 걸리는 평균 시간을 기준으로 설정했습니다. 입력이 멈춘 시점에 자동 저장되므로 유실 위험을 최소화합니다.

이 로그 데이터는 교사의 실시간 감독 스냅샷(폴링 3~5초)에서도 활용됩니다. 교사는 대시보드에서 각 학생이 현재 어떤 문항에 있는지, 답변을 작성 중인지 확인할 수 있습니다.

성과

브라우저 종료나 네트워크 단절 시에도 마지막 자동 저장 시점까지의 답변이 보존됩니다. 학생이 재접속하면 이어서 작성할 수 있습니다.

풀이 패턴 데이터(문항별 체류 시간, 수정 횟수, 진행 순서)를 축적하여, 향후 검사 문항의 난이도 조정이나 시간 배분 최적화에 활용할 수 있는 기반을 마련했습니다.