UVa Online Judge的重建
2018年7月,在与uDebug网站管理员Vinit Shah就UVa 12348 Fun Coloring的评测问题进行电子邮件交流的过程中,遗憾得知Miguel Ángel Revilla教授已于2018年4月去世(未见官方发布的讣告,故去世原因不详,参见搜索得到的一个网上讣告:https://www.rememori.com/1018994:miguel_angel_revilla_ramos,这个讣告的主人应该是指Revilla教授)。
由于Revilla教授的不幸去世,由他一手创建的UVa OJ也处于无人管理的状态。Revilla教授的儿子Miguel Revilla Rodriguez在处理父亲的后事时,就UVa OJ运行的资金支持问题向Valladolid大学——Revilla教授生前所在的大学——进行交涉,得到的回复是:Valladolid大学的管理委员会拒绝再向UVa OJ的运行提供资金支持。由于Miguel Revilla Rodriguez曾经担任过UVa OJ的管理员,因此他想继续保留和维护父亲留下来的这个“遗产”。但是,平台已经过于老旧了,事实上,现有的平台是 2005年开发的,使用的是Joomla,这使得维护起来非常困难。故此,Miguel Revilla Rodriguez决定更新整个平台,而这个项目将是开源的。
可以看到,现在新的[UVa OJ](https://onlinejudge.org/index.php),不仅链接地址由原来的:https://uva.onlinejudge.org/更换为https://onlinejudge.org/index.php,主页的Logo图片也已经更换为Online Judge,而不是原来的UVa OJ。原左侧栏内有关Valladolid大学的图片和链接也撤掉了。
新的平台处于开发状态,为了一探究竟,我按照上面的说明编译了一遍,看了一下效果,确实只是一个基本的框架(考虑到基本就他一个人在做这件事情,已经非常难得,他也得工作生活啊,不过,有消息说,他翻译了几本书,有一些收入,在基本生活上不存在太大问题。相关讨论链接:http://v-v.blog.uoj.ac/blog/5407)。
项目放在GitHub上,地址为:https://github.com/TheOnlineJudge/ojudge。为了能够运行这个初始版的OJ,我进行了以下步骤:
(1)安装虚拟机,使用的是[Oracle VirtualBox 6.1](https://www.virtualbox.org/)。
(2)下载Ubuntu镜像,选择的是[Ubuntu 18.04.4 LTS](https://cn.ubuntu.com/download)。
(3)将Ubuntu 18.04安装到VirtualBox中。
(4)通过包管理器安装依赖boost、cmake、G++ 7.3、PostgresSQL数据库等。
(5)下载[Wt框架](http://webtoolkit.eu/),编译安装(需要注意两个细节,一是必须先安装PostgresSQL数据库,否则Wt不会编译连接PostgresSQL数据库的头文件Postgres.h,而该头文件是项目能够编译运行所必需的;二是分配给虚拟机的内存要在2G以上,最好3G,因为在编译Wt的过程中对内存需求较大,如果内存不够,很可能导致启用交换文件,使得虚拟机失去响应)。
(6)使用git克隆项目:https://github.com/TheOnlineJudge/ojudge.git。
(7)按照项目的编译配置说明进行操作。
以下是项目编译运行后的一些页面(依次为:主页面、题目列表页面、登录页面、管理员页面、题目上传页面):
希望Miguel Revilla Rodriguez能够尽快达成这个宏伟的目标,让Online Judge完善并上线运行。
为了支持Miguel Revilla Rodriguez的工作,您也可以选择向他捐赠,捐赠的方式参见OJ的首页:https://onlinejudge.org/index.php。
UVa Online Judge的重建相关推荐
- UVa Online Judge 工具網站
UVa Online Judge 工具網站 转自http://www.csie.ntnu.edu.tw/~u91029/uva.html Lucky貓的ACM園地,Lucky貓的 ACM 中譯題目 M ...
- UVa Online Judge 西班牙Valladolid 在线判官 和 uDebug使用简单教程
udebug使用在后面 https://uva.onlinejudge.org/ 1.这是主界面,如果你还没有账号,那么就点击图中的register. 2.然后就是填写信息,邮箱要用gmail,信息填 ...
- UVA 536 TreeRocvery 树重建 (递归)
根据先序历遍和中序历遍输出后序历遍,并不需要真的建树,直接递归解决 #include<cstdio> #include<cstring>const int N = 30; ch ...
- 边缘计算 ai_什么是边缘AI计算?
边缘计算 ai Edge AI starts with edge computing. Also called edge processing, edge computing is a network ...
- Online Judge System
原文:http://hi.baidu.com/myalgorithm/blog/item/936031105bdb5958f819b880.html Online Judge System 起源與由來 ...
- 《挑战程序设计竞赛(第2版)》习题册攻略
本项目来源于GitHub 链接: 项目GitHub链接 1 前言 项目为<挑战程序设计竞赛(第2版)>习题册攻略,已完结.可配合书籍或笔记,系统学习算法. 题量:约200道,代码注释内含详 ...
- 11月1日数据结构讨论班 【杂】
zzr:赛题2道 4128 Steam Roller - ICPC Live Archive 1086 The Ministers' Major Mess - UVa Online Judge zym ...
- 国内C/C++刷题网站汇总
作者:Luau Lawrence 链接:https://www.zhihu.com/question/25574458/answer/31175374 来源:知乎 - Welcome To PKU J ...
- 十个提高编码技能的诀窍,你掌握了几个?
译者注:此文主要介绍一些提高编程技巧的小方法或者说是技能,嗯,我比较推崇第一条-..多练,熟能生巧. 你想成为一名程序员,并且正在为之奋斗,那么你努力的方式,比如做事方法.思维习惯都将会影响你会成为怎 ...
最新文章
- R语言Fine-Gray竞争风险模型实战
- java读取字节效率最高_Java-IO 字节流的使用和效率比较
- BSS段,数据段,代码段,堆内存和栈
- 在bootstrap table中使用Tooltip
- Latex调节目录间距\tableofcontents
- SQL:pgsql中时间戳转换为整数
- python32位系统下载_python 32位安装包
- MyBatis防止SQL注入的方法
- xmind思维导图模板_思维导图模板
- 花生棒虚拟服务器,花生棒 开服务器
- 我的世界服务器无限耐久护甲,我的世界无限耐久指令 | 手游网游页游攻略大全...
- 宇宙也能测量,破解未解之谜的三维地图出炉
- 《此生,若你安好.便是晴天》 -- @ShinePug
- 企业微信号自定义菜单
- Linux设定密码策略
- Python消费人格雷达图
- Wetool 一款高效免费的微信社群管理工具,检查单向好友,自动回复、群发
- SpringBoot:通用Mapper
- c语言编译器手机版使用说明,C语言编译器怎么用,C语言编译器使用教程
- 城市轨道交通运营管理属于什么院系_城市轨道交通运营管理系统专业