欢迎有兴趣的人加入VJ Submitter项目
发布于 2年前 作者 xadillax 951 次浏览

什么是VJ?

我相信CNODE的大家庭中有着跟我一样的ACMer。自从高中时期被MatRush带上了OI的不归路之后,就一直奋斗到现在。

首先作为一名ACMer,在OJ(Online Judge)上刷题是必不可少的。而VJ(Virtual Judge)就类似于N个OJ的集合体。其中国内有代表性的两个VJ分别是HUST的和BNU。本屌虽然是蒻菜,但也不甘寂寞。在完成了自己学校的OJ之后,又闲得蛋疼地准备搞VJ

这么解释吧,每天跑不同的OJ多累啊,直接在VJ上注册一个帐号,里面囊括了所有该系统所支持的所有OJ题目。你把代码提交上去之后,VJ在后台以自己在各OJ上的帐号提交过去,然后获取到代码之后把运行结果从各OJ上爬下来并做记录。这就是VJ的流程了。

什么是VJ Submitter?

VJ Submitter只是VJ的一小部分——它没有任何前端逻辑也没有任何数据操作,只是简单的提交逻辑并返回结果。它的流程就是

穿参数给Submitter,Submitter将代码提交到相应OJ,爬下结果返回。

为什么要一起参与?

世界上的OJ千千万,本屌只是想大家一起参与完善这个Submitter,加入尽可能多的OJ的提交返回逻辑。当然,既然这个项目是开源的,大家也尽可以拿去给自己的VJ添砖加瓦(如果你也在做的话)。

VJ Submitter是用什么写的?

坛子里逛了一圈,基本上是什么做网站的帖子,做应用的帖子,甚至于是做服务器端的帖子。

可是node.js这种脚本也是完全可以做本地化的操作的,很多情况下它可以做跟bash之类可以做的事。大材小用,我曾经就用PHP-CLI写过一个网站后台跑的发送邮件、短信消息队列的本地脚本。

所以没必要把思想限死,大材小用就大材小用呗,反正开发的开心、简单就好。

所以VJ Submitter是一个基于node.js的项目。

怎么参与?

https://github.com/XadillaX/vjudge-submitter

目前项目发布在我的github上,欢迎fork之类的。目前粗略的写好了submitter的基类,并初步写好了关于两个OJ的提交类。

有兴趣的同鞋可以找我喔~

6 回复

大家都对网络应用更感兴趣么?其实本质上它也就是一个爬虫啊。

https://github.com/wangzuo/pku 以前用Python写的pku cli,这种工具在练习的时候可能挺有用的吧

有点这个意思,但又不是这个意思-。 -

VJ的第一反应是vijos. 目前仍处于学习阶段,作为曾经的ioer只能表示支持了。

@XadillaX 你可以先设计个协议或者api把这些online judge联系起来;D

@adjusted 让每个OJ给你设计一个专门的API是不现实的。我这个项目主要是给VJ的内核提供API——即把各OJ的登录、提交、获取结果都转换成统一的API给各VJ或者说是别的相关的小项目的开发者使用。这个项目的大体框架是好了,现在就是在做各OJ的转换成统一API的逻辑。

回到顶部