DOMjudge
오픈 소스 프로그래밍 대회 저지 시스템으로, ICPC와 IOI 두 가지 채점 모드를 지원합니다.
스마트 다운로드
프로젝트 홈페이지 방문
아직 설치 프로그램이 없습니다 — 소스 저장소로 이동하세요
자동 채점과 실시간 순위 기능을 제공하는 프로그래밍 대회 관리 플랫폼.
주요 기능
- ICPC 이진 채점과 IOI 부분 점수 채점 두 가지 모드 지원
- Web 관리 인터페이스로 대회 진행 상황과 참가자 제출을 실시간 모니터링
- 코드 자동 채점, C/C++, Java, Python 등 다양한 언어 지원
- 유연한 문제 가져오기/내보내기, Kattis 문제 형식과 호환
- 다국어 팀 인터페이스 및 인쇄 서비스 지원
할 수 없는 것
- •더블 클릭으로 바로 실행할 수 없으며, 서버 환경(Linux + 웹 서비스 + 데이터베이스)이 필요하므로 초보자에게는 다소 진입 장벽이 있습니다.
- •공식적으로 git clone을 통한 설치를 권장하지 않으므로, 안정 버전 압축 패키지를 사용하세요.
- •문제 테스트 데이터는 사전에 철저히 검증해야 하며, 그렇지 않으면 대회 중 채점 오류가 발생할 수 있습니다.
- •기본적으로 Kattis 검증기를 사용하며, 사용자 지정을 원하면 추가 설정이 필요합니다.
사용 사례
- 대학 프로그래밍 경진대회 과정 교육 및 실습
- ACM/ICPC 지역 대회 또는 교내 대회 조직
- 정보올림피아드(IOI 스타일) 모의 훈련
- 기업 내부 hackathon 또는 기술 채용 선발
상세 설명
DOMjudge는 소규모 연습부터 국제 대회까지 다양한 시나리오를 지원하는 완전한 프로그래밍 대회 채점 시스템입니다. ICPC 스타일(이진 채점)과 IOI 스타일(부분 채점) 두 가지 채점 모드를 모두 지원합니다. 시스템은 웹 기반 심사 관리 인터페이스를 제공하여 코드를 자동으로 채점하고 순위를 실시간으로 업데이트할 수 있습니다. 전 세계의 많은 대학과 조직이 해커톤이나 정보학 대회를 개최하는 데 이를 사용합니다. 설치에는 Linux 서버, PHP 및 MySQL/MariaDB 환경이 필요하며, 공식 문서에서 자세한 단계를 제공합니다. 이 프로젝트는 2004년부터 지속적으로 유지 관리되고 있으며, 안정 버전을 릴리스하고 있고 커뮤니티가 활발합니다.
문제 해결 & FAQ (2)
문제 해결DOMjudge에서 UTF-16 인코딩, BOM 또는 CRLF 줄 바꿈 때문에 .ans 테스트 파일에서 발생하는 Wrong Answer 결과를 어떻게 수정하나요?
DOMjudge는 엄격한 바이트 비교를 사용하므로, expected-output 파일을 BOM 없는 UTF-8 및 LF 줄 바꿈으로 정규화한 다음, 다시 업로드하거나 다시 가져오세요.
1. 파일을 확인하세요:
file *.ans
hexdump -C case.ans | head
2. UTF-16을 UTF-8로 변환하세요. BOM이 있으면 UTF-16을 사용하고, 아니면 UTF-16LE/UTF-16BE를 명시적으로 사용하세요:
iconv -f UTF-16 -t UTF-8 case.ans -o case.utf8.ans
mv case.utf8.ans case.ans
3. CRLF를 LF로 변환하세요:
dos2unix *.ans
dos2unix를 사용할 수 없으면:
sed -i 's/\r$//' *.ans
4. UTF-8 BOM이 남아 있으면 제거하세요:
sed -i '1s/^\xEF\xBB\xBF//' case.ans
ZIP 가져오기 도구는 Windows 줄 바꿈에 대해 경고할 수 있지만, 이 경고는 수동 정규화를 대체하지 않습니다. UTF-16 파일은 null 바이트를 포함할 수 있고 바이너리로 처리될 수 있으므로, 이를 UTF-8로 변환하는 것이 필수적인 해결책입니다.
문제 해결DOMjudge가 대회 시작을 지연시킨 후 'No negative values allowed in score key element' 오류를 표시하는 이유는 무엇인가요?
DOMjudge 9.0의 알려진 버그입니다. 대회 시작이 지연되면, jury 제출이 'No negative values allowed in score key element' 오류와 함께 500 에러를 발생시킵니다. 해결 방법: 대회 시작을 재개(지연 해제)하여 제출을 허용하세요. 영구적인 수정을 위해 이슈 #3417을 확인하세요.
태그
시작하기
소프트웨어 설치
다운로드한 설치 프로그램을 더블 클릭하고 안내에 따르세요
1단계: Linux 서버에 LAMP 환경(Apache + PHP + MySQL) 설치
2단계: domjudge.org에서 최신 안정 버전 압축 파일을 다운로드하고 압축 해제
3단계: 설치 스크립트 `sudo ./install.sh`를 실행하고 안내에 따라 데이터베이스와 관리자 계정 구성
- 1단계: Linux 서버에 LAMP 환경(Apache + PHP + MySQL) 설치
- 2단계: domjudge.org에서 최신 안정 버전 압축 파일을 다운로드하고 압축 해제
- 3단계: 설치 스크립트 `sudo ./install.sh`를 실행하고 안내에 따라 데이터베이스와 관리자 계정 구성
체크섬 없음
이 프로젝트는 GitHub Release 페이지에 SHA-256 체크섬을 게시하지 않았습니다
SHA256 체크섬
체크섬 없음
GitHub Releases에서 직접 다운로드하고 파일 무결성을 직접 확인하세요
이 플랫폼의 모든 SHA-256 체크섬은 프로젝트의 공식 GitHub Release 페이지에서 추출되었으며, 어떠한 변경도 없습니다. GitHub Releases 페이지에서 직접 검증할 수 있습니다.
오픈소스 투명성
GitHub 소스 보기제거 정보
Web 서비스를 중지하고 DOMjudge 설치 디렉터리를 삭제한 다음 해당 MySQL 데이터베이스와 사용자를 삭제하십시오.
추가 의존성 없음
다운로드 후 바로 사용 가능. 추가 런타임이 필요하지 않습니다.
문제 발생? 아래 FAQ 확인
2 FAQs