在线判题项目 笔记

兰州大学在线判题测评平台(LZU_OJ)

笔记:https://www.yuque.com/mingzhaosanfanongbianzhou-61d55/epkd26/5c8c1098ee4139ee3a44096078971a88?singleDoc#https://wx.zsxq.com/mweb/views/weread/search.html?keyword=OJ在线判题系统项目》

前端:https://github.com/Ding-Jiaxiong/lzu_oj_frontend

后端:https://github.com/Ding-Jiaxiong/lzu_oj_backend

微服务后端:https://github.com/Ding-Jiaxiong/lzuoj-backend-microservice

代码沙箱:https://github.com/Ding-Jiaxiong/lzuoj_code_sandbox

项目总结:

又是一个从 0 到 0.9 的全栈项目。

  • 之前都是用的ant design 的命令自动生成前端联调代码,这次是自己装的包来执行命令。

  • 第一次在前端整合Md编辑器和代码编辑器。

  • 策略模式针对不同的情况,选择不同的判题机,便于分别修改策略和维护。

  • 原生 Java 实现代码沙箱。

  • Java 的Docker 客户端。

  • 代码沙箱 Docker 实现的时候,没有用虚拟机,直接上了一个8G 的腾讯云服务器,公网 IP 直接就干进去了,有一说一,很耗内存,但是没出意外,所有流程都安全下车了。

  • Docker 沙箱在拿内存信息的时候,确实sleep 一会儿就可以了。

  • Docker 控制安全性确实就方便很多。

  • 最后就是微服务改造了,体力活儿,就是聚合接口文档还是第一次见,就算不同服务不同端口,也能有一个全局的视角查看接口文档。

  • 直接在网关项目完成解决跨域问题以及权限的校验。

  • 通过MQ 提供、消费,完成异步。

下来,前后端都好好改进改进,部署写到简历上吧

#交作业# 1fhyjik8 s8slm9xt lqzoxb7h zkhwp3d3 fkef0jrw w825bop4 ndd8nc20 2n88n245 frhjhbkl

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
风轻轻拂半山
下载 APP