NuistOJv5 计划

  • 2019-01-13
  • 259
  • 2
  • 0

NuistOJv4

2017/05/25是v4的第一次commit的日子。

截至到2019/1/12,已经有1602次commit,20+ contributors了。上线时间也超过了3个学期。

OJV4真的是一个很棒的系统,速度和稳定性上都有了巨大提升(according to @nwq)。感谢学长们的奇思妙想和不懈努力。

在v4项目中,我主要参与了一些安全性问题的检测,和消息系统模块的开发。

在开发和优化v4的过程中,遇到的问题有时候十分棘手,很难在v4的基本框架下进行优化。

希望自己能创造出一个更理想的v5,然后在一年或两年之后再被学弟学妹们推翻吧~

Leverage

NuistOJv5, 目前我希望称其为 Leverage .

原因比较多吧,更多是一拍脑袋想出来的东西。

  1. Leveraging performance and scalability
  2. Leveraging conservative and aggressive
  3. 3rd map’s name of Chapter L in Cytus. (L3 (Leverage) – Roar, On The Deserted Lands)

这也是我在v4中所期望的。

Basic Structure

不出意外,将会是 Node.js + vue.js + mysql + mongo +  redis + C version judger 的模式。

Node 这一套2019年刚刚接触,几乎所有的东西都要现学。

也算是送给自己的新年礼物吧!

Features

由于还没有最终确定下来具体的框架,所以只能先大致想一下什么要保留,什么要改进。

Expected to be Inherited

  1. 分离的Judger和Updater

Expected to be Removed

  1. 奇怪的分表
  2. 冗余代码
  3. 混乱的前后端
  4. 不友好的查询搜索
  5. 生硬的消息系统
  6. Markdown前后台不统一的问题
  7. 导入名单优化

Expected, but hard to implement or not essential

  1. [Core] Special Judge / OI logic
  2. [Website] 在v4中被废弃的积分
  3. [Website] 在v4中被废弃的题解/提问

暂时想到这么多,身体要紧,先睡了

CC BY-NC-SA 4.0 本作品使用基于以下许可授权:Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

评论