概述
Judge0 是一个健壮、可扩展的开源在线代码执行系统,可用于构建各类需要在线代码执行功能的应用,例如编程竞赛平台、电子学习平台、候选人评估与招聘平台、在线代码编辑器、在线IDE等。其现代模块化架构易于部署和扩展,相关技术细节可参考研究论文《Robust and Scalable Online Code Execution System》。Judge0 IDE 是基于该系统构建的免费开源在线代码编辑器,可直接体验其功能。
核心功能与特性
- 快速简便的安装流程
- 丰富详细的API文档
- 可扩展的系统架构
- 沙箱化的编译与执行环境
- 支持https://github.com/judge0/compilers#supported-languages
- 支持多文件程序的编译与执行
- 允许添加用户程序的额外文件
- 支持自定义编译器选项、命令行参数及时间和内存限制
- 提供详细的执行结果
- 支持Webhooks(HTTP回调)
更多功能详情请查阅官方文档。
使用场景与适用范围
Judge0 适用于需要在线代码执行功能的各类场景,包括但不限于:
- 编程竞赛平台:提供代码提交和自动评判功能
- 电子学习平台:支持学生代码练习与自动批改
- 招聘评估系统:在线编程能力测试与自动评分
- 在线IDE/代码编辑器:实时代码执行与结果展示
- 教育工具:辅助编程教学,提供即时反馈
使用方法与配置说明
快速开始
可通过以下两种方式使用Judge0:
- RapidAPI 免费基本计划:访问RapidAPI Judge0注册使用,无需自行维护基础设施。
- 自行托管:参考部署指南进行本地部署。
选择RapidAPI的优势
RapidAPI背后的基础设施让您可以专注于产品开发,无需关注Judge0的维护与扩展细节。
如RapidAPI计划无法满足需求
请通过邮件联系我们:***。
版本说明
Judge0提供两个版本:
- Judge0:基础版本,源代码位于https://github.com/judge0/judge0/tree/master
- Judge0 Extra:扩展版本,支持更多编程语言,源代码位于https://github.com/judge0/judge0/tree/extra%EF%BC%8C%E4%B9%9F%E5%8F%AF%E9%80%9A%E8%BF%87RapidAPI Judge0 Extra使用。
参考案例
采用Judge0的公司、组织与项目
以下是部分成功使用Judge0的案例:
点击展开列表
- Adzetech
- AlgoDaily
- AlgoLadder
- Ask To How
- Brilliant Hire
- CODE.IN
- Code Compiler Lite - 安卓平台在线移动代码编译器
- Code4You
- CodeChum
- https://github.com/appsicle/CodeClimbers
- Code Forum
- CodeInn
- https://github.com/KamandPrompt/CodeManiacs - 印度理工学院曼迪分校的在线评测系统
- https://github.com/codeclassroom/CodeRunner
- Codesites
- Codify
- DevCoach
- Dilla University
- Filtered
- GeekCoders
- 乔治-奥古斯特哥廷根大学
- GoMyCode
- 印度理工学院曼迪分校
- Instacks
- 航空工程学院
- Interview Sandbox
- https://github.com/bloodnighttw/JavaJudge0Api - 用于与Judge0交互的Java库
- Judge Code Online
- KPR工程技术学院
- KodKarate - 开源IDE
- KodNest
- https://github.com/MartyMiniac/Autorun
- MyEduKit
- NewsCad
- Newton School
- Picode - 在线代码 playground
- https://github.com/Pravinkanna/codeaholic
- PrepForTech
- REVA大学
- Soft CodeOn
- SparkDatabox
- https://github.com/StardustDL/StarOJ - 基于Judge0的在线评测平台
- https://github.com/StardustDL/judge0-dotnet - Judge0的.NET客户端SDK
- Stemalica
- Studyfied
- Techie Delight
- Think exam
- ThinkingBell
- 萨格勒布大学电气工程与计算学院
- VS Code App - 支持iCloud Drive的iOS/iPadOS轻量级IDE
- Xiith
- https://github.com/anu0912/online-code-editor
- https://github.com/TopRoupi/judge0-gem - 用于与Judge0交互的Ruby Gem
- https://github.com/saikatharryc/judge0_helm - Judge0的Helm Chart
- https://github.com/vCra/judge0api - 用于与Judge0交互的Python库
- https://github.com/muzam1l/ide
- nGrader
- primat.org
- https://github.com/tracyliu1220/Mini-OJ
- uDebug Tool
- wkspace
- yoCode
相关科学文献
以下文献提及或使用了Judge0:
点击展开列表
- A Game-Changing Instructor Tool to Reinforce Coding Concepts
- Building a Comprehensive Automated Programming Assessment System
其他在线参考
点击展开列表
- Designing Online Judge or Leetcode
- Make your own online compiler in React
社区支持
如有问题、功能请求或其他需求,可通过以下渠道获取支持:
- 订阅Judge0新闻通讯
- 加入***服务器
- 观看asciicasts
- https://github.com/judge0/judge0/issues/new
- 联系我们
- 获取免费在线支持
- 安排在线会议
作者与贡献者
Judge0由https://github.com/hermanzdosilovic%E5%88%9B%E5%BB%BA%E5%B9%B6%E7%BB%B4%E6%8A%A4%E3%80%82%E6%84%9F%E8%B0%A2%E6%89%80%E6%9C%89https://github.com/judge0/judge0/graphs/contributors%E5%AF%B9%E6%9C%AC%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%94%AF%E6%8C%81%E3%80%82
https://github.com/judge0/judge0/graphs/contributors
更新日志
版本间的详细变更说明请参见CHANGELOG.md。
特别鸣谢
感谢以下开源项目对Judge0的支持:https://github.com/ioi/isolate%E3%80%81https://github.com/docker%E3%80%81https://github.com/rails/rails%E7%AD%89%E3%80%82
支持者
感谢所有Patreon支持者和******者对Judge0开发的支持!
***
欢迎通过Patreon、***或Revolut支持Judge0的开发。
许可证
Judge0基于GNU General Public License v3.0许可。