来练手吧,一个类似力扣的在线测评项目

开发 项目管理
程序员对力扣应该都熟悉的,在上面可以使用任意一门熟悉的编程语言写代码,在线执行代码,提交,看到击败超过 90%,你会不会心跳一下?用的同时,你是否想过力扣背后的设计和实现,假如让你自己设计一个类似力扣的系统呢?

[[419836]]

程序员对力扣应该都熟悉的,在上面可以使用任意一门熟悉的编程语言写代码,在线执行代码,提交,看到击败超过 90%,你会不会心跳一下?用的同时,你是否想过力扣背后的设计和实现,假如让你自己设计一个类似力扣的系统呢?你可以把这个当作系统设计的面试题,思考如何回答。

最好的回答,就是自己真正动手设计一个,当然这太难了,不过 GitHub 上有现成的,你只需要自己部署下,然后用一用,对照着功能,阅读源码,最后觉得不爽的话,自己改一改源码。这个过程,一定能学到很多知识。我的 Web 技能就是从别人的项目那里学到的。

先来个截图:

通过这个项目,你可以学习到 Docker、Django、Django REST Framework、Vue、Redis、PostgreSQL 技术栈,前后端分离,模块化编程,微服务等设计实践。

功能点

1、ACM/OI 两种比赛模式、实时/非实时评判 任意选择

2、丰富的可视化图表,一图胜千言

3、支持 Template Problem,可以添加函数题甚至填空题

4、更细致的权限划分,超级管理员和普通管理员各司其职

5、多语言支持:C, C++, Java, Python2, Python3,题目可以选择使用的语言

6、Markdown & MathJax 支持

7、比赛用户IP限制 (CIDR ranges)

安装部署

无论你是 Linux、MacOS 还是 Windows,请先安装 Docker、Python、pip、git、docker-compose 工具,确保在命令行可以执行 docker、python、pip、git、docker-compose 命令,安装方法自行搜索。

请选择磁盘空间富余的位置,克隆项目,并进入目录:

  1. git clone -b 2.0 https://github.com/QingdaoU/OnlineJudgeDeploy.git && cd OnlineJudgeDeploy 

Docker 一键部署:

  1. docker-compose up -d 

想知道到底启动了那些服务,可以看文件 docker-compose.yml 的内容,看不懂就去 Doker 官方文档看每一个命令的解释。

根据网速情况,大约 5 到 20 分钟就可以自动搭建完成,全程无需人工干预。

等命令执行完成,然后运行 docker ps -a,当看到所有的容器的状态没有 unhealthy 或 Exited (x) xxx 就代表已经启动成功。

浏览器打卡 http://localhost/ 就可以看到:

注册后,可以在个人设置页面设置系统为中文语言。

截图

源代码

在线测评项目源代码:

后端(Django): https://github.com/QingdaoU/OnlineJudge

前端(Vue): https://github.com/QingdaoU/OnlineJudgeFE

判题沙箱(Seccomp): https://github.com/QingdaoU/Judger 

判题服务器(对Judger的封装): https://github.com/QingdaoU/JudgeServer

 

责任编辑:武晓燕 来源: Python七号
相关推荐

2021-09-18 12:05:59

Python 开发编程语言

2021-04-01 13:07:07

编码开发代码

2020-06-18 10:36:12

GitHub代码开发者

2015-09-08 10:32:21

开源项目选择方式

2015-09-11 10:29:13

开源项目阅读

2021-10-28 17:40:22

Nest.js前端代码

2020-12-18 09:49:21

鸿蒙HarmonyOS游戏

2022-06-15 08:14:40

Go线程递归

2023-08-17 14:37:55

OmnivorPocket开源

2014-10-21 11:11:08

Siri人工智能

2021-07-01 07:43:41

项目程序员代码

2018-10-11 21:00:18

2021-07-21 05:22:12

Webpack 前端 JavaScript

2022-02-10 07:03:32

流量应用架构数据交换

2010-09-25 11:29:23

2010-09-25 11:05:11

卡巴斯基在线

2010-09-25 10:51:03

2010-09-25 10:29:43

瑞星在线杀毒

2024-02-22 10:02:03

单例模式系统代码

2020-06-03 10:09:03

微服务项目版本号
点赞
收藏

51CTO技术栈公众号