HUSTOJ

突破传统 OJ 瓶颈,“判题姬”接入云函数

故事扮演 提交于 2020-03-06 15:54:17
Online Judge 系统(简称 OJ)是一个在线的判题系统。用户可以在线提交多种程序(如C、C++、Pascal)源代码,系统对源代码进行编译和执行,并通过预先设计的测试数据来检验程序源代码的正确性。 随着时代的发展,OJ 已经真正地成为了测评工具,其作用不再局限为 ACM 备战,还有老师检测学生能力、学生入学考试、能力评测(例如 ZJU 的 PAT)、找工作刷题和面试(例如牛客)等,而目前 OJ 的开源框架也越来越多,但是很多 OJ 都是基于 HUSTOJ 进行定制或者二次开发。 无论是什么方法,在关于 OJ 的众多问题中,有一个就是:性能问题。 说实话,一些 OJ 群里,总会有人问:1 核 1G 的机器,可以同时判多少题目?可以有多少人同时用?如果比赛,大约有多少人需要多高性能的机器?那么『判题姬』是否只能存在传统的宿主机中,能否通过其他方式焕发新的生命力? 其中一种方法,就是和现有的云函数进行结合。 ▎简单思路 通过云函数实现在线编程的思路基本有两个: 每个用户的代码建立一个函数,用后删除; 每个语言建立一个函数,用户传递代码,每次执行; 这两种方法,第一种相对简单的,但是目前对于很多云函数服务商来说,函数数量有一定限制,而且每次执行这个操作相对比较繁琐。 所以,本文采用第二种策略,建立一个函数,每次执行,用户传入代码,系统执行,返回结果。 代码写入系统: def

耗时6天-JNOJ江南OJ安装记录

爷,独闯天下 提交于 2019-12-21 21:13:56
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 背景 第一次安装OJ,选了下觉得 JNOJ功能、界面都很好而且作者还一直在维护中 ,于是开始安装。 6天:5个工作日主要是晚上3、4小时。一个周六全天. 手动安装没有成功 就是自己下载MYSQL, MYSQL,NGINX,主要按官方的“environment.md”文档安装LNMP环境 Ubuntu选择最新的Ubuntu server 18.04.3LTS, 当然是VM 虚拟机。 安装没有什么问题,主要是配置后出现运行时的各种问题。 开头4天使用手动一步一步安装,装了4次,出现了几个问题,如: NGINX不能访问, NGINX能访问,但PHP不正常, 数据库不能访问, 最后始终不能登录,看NGINX的error.log记录是PHP访问数据有问题 ,没法解决。都想换其它OJ系统再试试了。再看文档进发现最近3天有一个新的更新,还发现作者放了一个在Ubuntu18.04上全自动成功安装过的脚本叫“ 一键安装脚本 ”。于是就尝试全自动安装。 一键安装脚本 原文说明如下: 在 Linux 环境下安装。判题机是在 Linux 环境下写的,Windows 下无法运行判题机。 搭建 LNMP (或 LAMP) 环境:PHP 7.x、MySQL、Nginx / Apache2 本教程分为 **一键安装脚本**、**手动安装过程*