소개와 문의
수강신청 연습은 수강신청이 열리는 그 몇 초를 미리 겪어 보기 위한 작은 웹사이트입니다. 광고를 제외하면 어떤 데이터도 수집하지 않는 개인 프로젝트입니다.
왜 만들었나
수강신청 연습 도구는 이미 여럿 있지만 대부분 “정확히 0초에 눌렀는가”만 봅니다. 하지만 실제로 원하는 과목을 담느냐 마느냐는 내 속도만으로 정해지지 않습니다. 같은 0.2초라도 경쟁률 1.9 대 1인 과목에서는 여유롭게 성공하고, 60 대 1인 전공 필수에서는 명함도 못 내밉니다.
그래서 속도와 경쟁률을 함께 보여주는 연습 도구를 만들었습니다. 연습을 마쳤을 때 “0.18초가 나왔다”가 아니라 “이 경쟁률에서 내 속도면 대략 몇 등이겠구나”를 알고 가는 것이 목표입니다.
경쟁자는 어떻게 만들어지나
입력한 신청자 수만큼의 가상 경쟁자를 만들고, 각자의 반응속도를 로그정규 분포에서 뽑습니다. 사람의 반응속도는 평균을 중심으로 좌우 대칭이 아니라, 대다수가 비슷한 구간에 몰려 있고 일부가 크게 느린 쪽으로 긴 꼬리를 만드는 모양이기 때문입니다. 중앙값은 0.32초 부근으로 잡았습니다.
그렇게 뽑은 경쟁자들과 내 기록을 함께 정렬해 등수를 냅니다. 정원 안에 들면 성공입니다. 신청자가 아주 많을 때(2만 명 초과)는 개별 추첨 대신 정규근사로 등수를 계산해, 10만 명 규모에서도 화면이 멈추지 않습니다.
어떻게 만들었나
- Vite와 TypeScript로 만든 정적 웹사이트입니다. 서버도 데이터베이스도 없습니다.
- 런타임 의존성이 하나도 없어 페이지 전체가 수십 킬로바이트입니다.
- 시계와 판정 로직은 브라우저 없이 검증되도록 순수 함수로 분리해 테스트합니다.
- 키보드만으로도 전부 조작할 수 있고, 스크린리더에는 시작 시점과 결과를 따로 읽어 줍니다.
알아 두실 것
이 사이트는 어떤 대학교나 교육기관과도 관련이 없는 개인 제작 도구입니다. 연습 결과가 실제 수강신청 결과를 보장하지 않습니다. 자세한 내용은 이용약관을 참고해 주세요.
문의
오류 제보, 기능 제안, 그 밖의 문의는 아래 메일로 보내 주세요. 확인하는 대로 답장드립니다.