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的重建相关推荐

  1. UVa Online Judge 工具網站

    UVa Online Judge 工具網站 转自http://www.csie.ntnu.edu.tw/~u91029/uva.html Lucky貓的ACM園地,Lucky貓的 ACM 中譯題目 M ...

  2. UVa Online Judge 西班牙Valladolid 在线判官 和 uDebug使用简单教程

    udebug使用在后面 https://uva.onlinejudge.org/ 1.这是主界面,如果你还没有账号,那么就点击图中的register. 2.然后就是填写信息,邮箱要用gmail,信息填 ...

  3. UVA 536 TreeRocvery 树重建 (递归)

    根据先序历遍和中序历遍输出后序历遍,并不需要真的建树,直接递归解决 #include<cstdio> #include<cstring>const int N = 30; ch ...

  4. 边缘计算 ai_什么是边缘AI计算?

    边缘计算 ai Edge AI starts with edge computing. Also called edge processing, edge computing is a network ...

  5. Online Judge System

    原文:http://hi.baidu.com/myalgorithm/blog/item/936031105bdb5958f819b880.html Online Judge System 起源與由來 ...

  6. 《挑战程序设计竞赛(第2版)》习题册攻略

    本项目来源于GitHub 链接: 项目GitHub链接 1 前言 项目为<挑战程序设计竞赛(第2版)>习题册攻略,已完结.可配合书籍或笔记,系统学习算法. 题量:约200道,代码注释内含详 ...

  7. 11月1日数据结构讨论班 【杂】

    zzr:赛题2道 4128 Steam Roller - ICPC Live Archive 1086 The Ministers' Major Mess - UVa Online Judge zym ...

  8. 国内C/C++刷题网站汇总

    作者:Luau Lawrence 链接:https://www.zhihu.com/question/25574458/answer/31175374 来源:知乎 - Welcome To PKU J ...

  9. 十个提高编码技能的诀窍,你掌握了几个?

    译者注:此文主要介绍一些提高编程技巧的小方法或者说是技能,嗯,我比较推崇第一条-..多练,熟能生巧. 你想成为一名程序员,并且正在为之奋斗,那么你努力的方式,比如做事方法.思维习惯都将会影响你会成为怎 ...

最新文章

  1. R语言Fine-Gray竞争风险模型实战
  2. java读取字节效率最高_Java-IO 字节流的使用和效率比较
  3. BSS段,数据段,代码段,堆内存和栈
  4. 在bootstrap table中使用Tooltip
  5. Latex调节目录间距\tableofcontents
  6. SQL:pgsql中时间戳转换为整数
  7. python32位系统下载_python 32位安装包
  8. MyBatis防止SQL注入的方法
  9. xmind思维导图模板_思维导图模板
  10. 花生棒虚拟服务器,花生棒 开服务器
  11. 我的世界服务器无限耐久护甲,我的世界无限耐久指令 | 手游网游页游攻略大全...
  12. 宇宙也能测量,破解未解之谜的三维地图出炉
  13. 《此生,若你安好.便是晴天》 -- @ShinePug
  14. 企业微信号自定义菜单
  15. Linux设定密码策略
  16. Python消费人格雷达图
  17. Wetool 一款高效免费的微信社群管理工具,检查单向好友,自动回复、群发
  18. SpringBoot:通用Mapper
  19. c语言编译器手机版使用说明,C语言编译器怎么用,C语言编译器使用教程
  20. 城市轨道交通运营管理属于什么院系_城市轨道交通运营管理系统专业

热门文章

  1. Elasticsearch实战-实现Hotel索引库的自动补全、拼音搜索功能
  2. Working with Errors in Go 1.13
  3. GPIO子系统需要掌握的重要概念
  4. Lucene随笔-Lucene的索引文件格式
  5. DOA估计 基于稀疏贝叶斯的离格DOA估计
  6. 如何撰写管理咨询项目建议书
  7. Pots --bfs
  8. CSS Grid 和 Flexbox
  9. [Angular] 使用 ng-alain
  10. Unity常用API详解--初学必备