Judge0
오픈 소스 온라인 코드 실행 시스템으로, 안전한 샌드박스에서 신뢰할 수 없는 코드를 실행하며, 90개 이상의 언어를 지원하고 간단한 HTTP API를 제공합니다.
스마트 다운로드
프로젝트 홈페이지 방문
아직 설치 프로그램이 없습니다 — 소스 저장소로 이동하세요
셀프 호스팅이 가능한 온라인 코드 샌드박스로, AI 코드 실행, 온라인 채점, 프로그래밍 시험 등의 시나리오에 적합합니다.
주요 기능
- 손쉬운 셀프 호스팅: Docker Compose로 원클릭 배포, SaaS로 호스팅하여 사용도 가능
- Python, Java, C++, Go, Rust 등 90개 이상의 프로그래밍 언어 지원
- 격리된 샌드박스 실행으로 호스트 시스템 보안 보호
- 간단한 HTTP JSON API, 공식 Python SDK 제공
- 다중 파일 프로젝트 컴파일 및 실행 지원
할 수 없는 것
- •셀프 호스팅에는 일정 수준의 운영 지식(Docker, 네트워크, 스토리지 구성)이 필요합니다. 2. 기본적으로 uniikernel 격리를 사용하지만, 프로덕션 환경에서는 보안 강화(예: seccomp, AppArmor)를 권장합니다. 3. 무료 버전은 유료 Extra CE보다 지원 언어가 적습니다(약 60개 vs 90개 이상). 4. 대규모 고동시성 환경에서는 Worker 수와 Redis/PostgreSQL 리소스를 적절히 구성해야 합니다. 5. 공식 문서와 API 문서는 모두 비교적 상세하지만 커뮤니티 리소스는 보통 수준이며, 난해한 문제는 GitHub Issues를 참조해야 합니다.
사용 사례
- AI 에이전트가 생성된 코드 실행 (예: 대규모 모델이 코드를 작성한 후 자동으로 테스트 실행)
- 온라인 프로그래밍 대회 플랫폼 (Online Judge)
- 프로그래밍 교육 및 온라인 평가 시스템 (e-learning)
- 지원자 프로그래밍 역량 평가 및 채용 심사
- 온라인 IDE 또는 코드 에디터 (예: Judge0 IDE)
- 기업 내부 코드 샌드박스 검증 (예: 보안 테스트)
상세 설명
Judge0("judge zero"와 유사하게 발음)는 견고하고 확장 가능하며 오픈 소스인 자유 온라인 코드 실행 시스템입니다. 격리된 샌드박스(컨테이너)에서 신뢰할 수 없는 코드를 안전하게 실행할 수 있으며, 90개 이상의 프로그래밍 언어를 지원합니다. 간단한 HTTP JSON API와 공식 Python SDK를 통해 모든 애플리케이션에 쉽게 통합할 수 있습니다. 다중 파일 프로젝트 컴파일 실행 및 추가 파일 입력을 지원합니다. 상세한 실행 결과(표준 출력, 표준 오류, 종료 코드, 시그널 등)를 반환합니다. 사용자 정의 컴파일러 옵션, 명령줄 인수, 시간 및 메모리 제한 설정을 지원합니다. Webhook 비동기 콜백 알림을 제공합니다. 자체 호스팅(Docker Compose/Kubernetes)도 가능하고 호스팅되는 SaaS 버전도 사용할 수 있습니다. 내부적으로는 모듈식 아키텍처를 채택하고 있습니다: Redis 큐, PostgreSQL 데이터베이스, 샌드박스화된 Worker. 대회 플랫폼, 온라인 학습, 프로그래밍 시험, AI 에이전트, 온라인 IDE 등의 시나리오에서 널리 사용됩니다.
문제 해결 & FAQ (2)
문제 해결macOS에서 Docker Desktop 업데이트 후 settings.json 파일이 누락된 이유는 무엇인가요? deprecatedCgroupv1을 설정하는 방법은?
Docker Desktop 4.34부터 설정 파일 이름이 settings.json에서 settings-store.json으로 변경되었습니다. deprecatedCgroupv1을 적용하려면 ~/Library/Group Containers/group.com.docker/settings-store.json을 편집하고 수동으로 "deprecatedCgroupv1": true 속성을 추가한 후 Docker를 다시 시작하세요. 이 파일 위치는 Docker Desktop 설정 관리에 문서화되어 있습니다. 4.34 이전 버전을 사용 중인 경우 동일한 경로의 settings.json을 계속 사용하십시오.
문제 해결Judge0 Docker에서 'chown: cannot access '/box': No such file or directory' 오류를 수정하는 방법?
호스트 디렉토리가 컨테이너의 /box에 마운트되도록 하세요. docker run 명령어에 -v /path/on/host:/box를 추가하거나 docker-compose에서 볼륨을 정의하세요. 사전 빌드된 이미지를 사용하는 경우, entrypoint 스크립트에서 디렉토리를 생성하거나 /box가 자동 생성되는 버전을 사용하세요. 커뮤니티 해결 방법은 GitHub 이슈 #325를 참조하세요.
태그
시작하기
소프트웨어 설치
다운로드한 설치 프로그램을 더블 클릭하고 안내에 따르세요
1단계: Docker와 Docker Compose가 설치되어 있는지 확인하세요
2단계: 저장소 클론: git clone https://github.com/judge0/judge0.git && cd judge0
3단계: 배포 스크립트 실행: ./deploy.sh (또는 CHANGELOG의 수동 단계에 따라 구성)
- 1단계: Docker와 Docker Compose가 설치되어 있는지 확인하세요
- 2단계: 저장소 클론: git clone https://github.com/judge0/judge0.git && cd judge0
- 3단계: 배포 스크립트 실행: ./deploy.sh (또는 CHANGELOG의 수동 단계에 따라 구성)
체크섬 없음
이 프로젝트는 GitHub Release 페이지에 SHA-256 체크섬을 게시하지 않았습니다
SHA256 체크섬
체크섬 없음
GitHub Releases에서 직접 다운로드하고 파일 무결성을 직접 확인하세요
이 플랫폼의 모든 SHA-256 체크섬은 프로젝트의 공식 GitHub Release 페이지에서 추출되었으며, 어떠한 변경도 없습니다. GitHub Releases 페이지에서 직접 검증할 수 있습니다.
오픈소스 투명성
GitHub 소스 보기제거 정보
모든 관련 컨테이너 중지 및 삭제: docker-compose down -v; 프로젝트 폴더를 삭제하면 완전히 제거됩니다.
추가 의존성 없음
다운로드 후 바로 사용 가능. 추가 런타임이 필요하지 않습니다.
문제 발생? 아래 FAQ 확인
2 FAQs
유사한 프로젝트
Visual Studio Code (Code - OSS)
Microsoft가 만든 무료 오픈 소스 코드 편집기로, 지능형 자동 완성, 디버깅, Git 및 확장 기능을 지원하는 전 세계에서 가장 인기 있는 편집기입니다.
opencode
오픈소스 AI 코딩 에이전트로, 코드 작성, 리팩토링 및 분석을 지원하며, '빌드(Build)'와 '플랜(Plan)' 이중 에이전트 모드가 내장되어 있습니다.
scrcpy
USB 또는 무선 TCP/IP를 통해 컴퓨터에서 Android 기기로 화면 미러링 및 제어를 지원하며, 루팅 불필요, 고성능 저지연, 오디오 전달 지원.