栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

开发一个online judge

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

开发一个online judge

参考教程

https://github.com/Bit-Developer/online-judge-mean
https://jojozhuang.github.io/project/online-judge-mean/
https://github.com/QingdaoU/OnlineJudgeDeploy/tree/2.0
https://github.com/QingdaoU/OnlineJudge/blob/master/README-CN.md
https://medium.com/@saisandeepmopuri/system-design-online-judge-with-data-modelling-40cb2b53bfeb

online judge组成部分:

主要用途:主要用于做算法题,通过提交所有测试用例
主要功能:

  1. 用户身份验证
  2. 用户管理:创建,更新, 删除用户
  3. 题目管理:创建,更新和删除问题
  4. 数据库:导入和导出用户,问题和提交记录,使用csv格式

https://blog.csdn.net/weixin_43931358/article/details/111224558

  1. 评测机:评测的引擎,提交的模版,提交的历史,多种语言支持
  2. UI-编辑器:代码编辑器,进度条,加载图像
  3. 比赛功能:通过从问题库中随机选择四个问题来生成竞赛
  4. note功能:在听课中能记笔记
  5. 知识图谱:不在迷茫
  6. 开源模板
  7. 安装教程

开发中所用到的技术:

  • 服务器:使用Express, MongoDB进行构建
    教程:Express,MongoDB
  1. RESTful API: express, express router, mongoose, cors
  2. Logging: morgan, winston
  3. User Authentication(用户认证): jsonwebtoken, passport, cookie-parser, express-jwt
  4. Import/Export Data(导入导出数据): multer, csv-express, fast-csv

使用 express 作为web server去管理RESTAPI

  • 客户端:使用 Angular和3rd-party库进行构建
    教程:Typescript,Angular,3rd-party,ngx-editor
  1. CSS和图标:bootstrap,font-awesome
  2. Rich Text Editor: ngx-editor
  3. Code Editor: ngx-monaco-editor
  4. Progress Bar: ngx-progressbar

客户端构建教程
代码编辑器

  • 评测系统
    这是整个online judge的核心技术
  1. 题解的主数据:
    对于每个问题我们都有多种语言指定的解决方案,目前这款在线裁判系统引用支持三个语言方别是Java,python,JavaScript
  2. 评测引擎
  3. 依赖
    为了编译和运行Java,JavaScript和Python,相关的软件和工具需要被安装
    3.1 jdkJDK (jdk 8 or above)
    3.2 Node.Js (node 6 or above)
    3.3 Python(2 or 3)

打造评测系统

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/923034.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号