给 Lutece 画的大饼

大饼工程师来上班啦!

摘要

主要是怕 Lutece 真就成毕设了,毕设肯定是给老师表演画大饼,倒是现在写实习总结报告已经开始演上了,怕不是直接分析未来十年产业布局加技术规划,逆天得很。

正经点来说就是一份画大饼的提纲。

项目课题背景、价值、意义以及国内外研究现状

别问我这逆天标题哪儿来的,我实习报告复制粘贴的。

课题背景、价值、意义

课题是啥来着。

总之得重写 Lutece。原因也挺简单的,之前维护 Lutece 的学长都跑路了,接手二代目表示看不太懂,也没留下什么文档,基本就是需要的功能手把手教学,然后一代目回来了,看了代码之后表示也看不懂了。至于这个新项目如果还是没办法交接怎么办,那重新画大饼的机会还是一直都在的。而且当时需求评审做的不好,很多需要高优支持的需求都没做,比如 checker,交互,MATLAB,并行,它们是一个一个一个啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊。现在实际生产也是处于半死状态,外网上不去,端口全禁掉了,可谓就差拉闸关机了。

价值来说其实主要希望构建生态,让测评系统成为效率工具而不是内容工具。内容工具指的是生产内容的,效率工具指的是生产效率的,说人话就是直接把测评系统里的博客评论和传题什么的都单拉出来成为新的模块或者系统,测评只管题目呈现和测评功能,其他没有。博客评论啥的可以直接挖 HDU 的黑历史,传题直接拉 Polygon 当例子,这个是一个很有启发性的点,可以深挖一下内在逻辑。需要承认的一点是:想法很多,题目比想法少,但是能摆上明面的题更少,Polygon 的设计是顺应这个事实的。

还有包括和课程教学关联,软件黑盒自动化测试,安全沙箱的实现,推广某种语言使用等玄学价值。总之 OJ 的功能还没有被开发完,大饼还是有的,饿不死人。

希望在这里能推广「测评中台」的概念,统一接口便于 Vjudge。不如搞个标准委员会算了。

总之在这里喊开源的生态实现要来了就完事,其实 Polygon 并没有想在这期做。

意义就是我们要把这玩意都开源。最大的意义就是让接手的人少费点心,也给开发的省点心。

国内外研究现状

开发了,但没有完全开发。

首先这套系统应该是标准化的。国内各个大学基本都有自己的 OJ,比较经典的实现比如 POJ,HDU,HUSTOJ,Vijos,UOJ,LibreOJ,DOMjudge,PC^2,当然后两个面向的是比赛,但是运行的软环境不是统一的(指沙盒的实现方式),就导致规则的不统一,当然规则是模糊的,每个开发者选择的标准也不一样。而且白名单和黑名单都不能完全覆盖所有情况,因为允许的系统调用总是以人为枚举的方式,十分容易漏下,在这个重保业务下是不允许出现失误的,或者只允许出现可以补救的失误。这一点是需要探讨的。

而且没有任何一个工程留下工程文档的,嗯。

国内外没有用 Go 写的,要么是 Python 要么是 J/TScript,怎么都这么愿意用脚本语言就十分不懂,可以说是十分不满了。DOMjudge 是 PHP 项目,建议直接去百度,PC^2 和 UOJ 是 Java 项目,但是必须用 Go。

项目整体执行完成情况概述

瞎编过去

术语与定义

干这玩意还有术语?

整点黑话也行。

面对的实际工程问题

大部分都是标准问题。运行环境的标准太碎了。新加一个语言就要去从编译开始了解那个语言的所有 feature,哼哼啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊。

宽限就是黑名单,有一堆不能用的,窄限就是白名单,有一堆必须用的……

建议创立一种新语言,只能进行各种离散数学运算……

哦,你说 MATLAB 啊,那玩意也可以有简单的系统调用的……比如新建文件新建文件夹啥的……

结束语

哼 哼 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊