我只是个在校的 ACMer

2015-11-28 16:39:36 +08:00
 takeoffyoung

今年的 ACM 比赛打完, 后面在校的半年多时间就是学学计算机基础知识。(因为自己是管理学科本科)然后希望能构建一个 Online Judge 系统,一方面练手增加一点项目经验,一方面方便后面学弟学妹的训练。
因为写程序也两年了,主要以算法题目代码为主,自己做玩具做过 python 的入门爬虫, php 套 CI 和 ThinkPHP 框架搭过简单的站。累计有近二十万行代码量吧(都是题目代码,对工程理解还很浅薄)。现在做 OJ 的话,有一个大体模糊的思路,但是从哪里入手还没有头绪。
计划用 Linux 平台,手头已经有学校给的服务器,性能带宽应该问题不大。
希望有这方面经验或者有相同兴趣的 V 友可以给出一点指导,交流学习。

联系方式:
ytf00000@163.com

5917 次点击
所在节点    Linux
61 条回复
karia
2015-11-28 16:49:12 +08:00
可以可以,坑学弟学妹新方法
不管怎么样,别让他们养成熬夜写代码的习惯。。,
MrEggNoodle
2015-11-28 16:57:28 +08:00
@karia 好人。也支持你的看法。
Hello1995
2015-11-28 17:04:41 +08:00
先把别人开源的 OJ 源码看一遍
873681136
2015-11-28 17:06:26 +08:00
先实现后端再实现前端,我目前也在做。
wy315700
2015-11-28 17:07:43 +08:00
https://github.com/wy315700/ecustoj
我们学校的 OJ 系统,不过最近荒废了
donge
2015-11-28 17:23:30 +08:00
新做的话,必须要时髦的技术,前端就不说了,至少可以做到 coding.net 那么花哨的 ide 。后端的代码编译,运行,测试可以在 container 中进行性能统计。限制 container 的 cpu/内存,这样能比较准确的进行横向对比。还有,不建议自己搭建服务器,时间都浪费在装系统,软件库依赖上了。不如花点时间研究一下 aws ,有个分布式,可扩展系统的想法基础。虽然在校生不太容易理解真正的大型系统,不过也可以启蒙一下。
xmoiduts
2015-11-28 17:32:39 +08:00
看到楼主才知道我自己是多么的荒废时间,虽然报了个计算机专业,可是一点名堂都没玩出来,小飞机(软件)倒是搭了好几个;移植别人的成品代码,一天了也没达到预想的效果。身边的人说我 i “东一耙子西一扫帚”,我觉得有些道理,可是并不能自我规划,并持之以恒。总之祝楼主成功。
Changxu
2015-11-28 17:39:15 +08:00
Web 系统很简单,难在 judge 上,唯一难的问题是如何保证安全性
virusdefender
2015-11-28 17:49:13 +08:00
别造轮子了,我们来一起完善吧

https://github.com/QingdaoU/OnlineJudge

刚刚我还在写这个系统的代码, rpc 通信的~
htfy96
2015-11-28 17:57:08 +08:00
r#6 @donge
container 太重了,不适合 OJ
建议上个 AppArmor+ulimit
Marfal
2015-11-28 17:57:33 +08:00
@wy315700 皇家理工校友昵嚎!
LukeXuan
2015-11-28 18:02:33 +08:00
vijos 现在在开发 vj4 ,有没有兴趣来合作呢, py3.5-tornado
wph95
2015-11-28 18:29:28 +08:00
@LukeXuan openvj 会咋么办 233
wy315700
2015-11-28 18:33:33 +08:00
@a33004407 啥皇家理工。。。。


@htfy96 用 Ptrace 最好了
LukeXuan
2015-11-28 18:35:54 +08:00
@wph95 主开发人员怠工 剩下的人开始跳版本号了 XD
wph95
2015-11-28 18:36:01 +08:00
@wy315700 Ptrace 评测性能损耗太大,评测量小没关系。量大就崩了
wph95
2015-11-28 18:37:26 +08:00
@LukeXuan 666 同病相怜, 年初听到 n 手消息 vijos 要上新版本... 你们换 python 了 ?
LukeXuan
2015-11-28 18:39:36 +08:00
@wph95 因为 vj4 的主开发者比较擅长 py 然后我们开始学 XD
wph95
2015-11-28 18:41:37 +08:00
@LukeXuan 我是你们隔壁那个著名跳票 oj CodeVS 的 一直想和你们聊聊 大雾 -。-
wph95
2015-11-28 18:47:12 +08:00
因为写程序也两年了,主要以算法题目代码为主,自己做玩具做过 python 的入门爬虫, php 套 CI 和 ThinkPHP 框架搭过简单的站。累计有近二十万行代码量吧(都是题目代码,对工程理解还很浅薄)
> 那就 PHP 走下去呗, thinkphp 就算了 起码 laravel 走起吧 , 个人推荐用 Python ( Django ) or RoR

现在做 OJ 的话,有一个大体模糊的思路,但是从哪里入手还没有头绪。
> 。。。 前端 -> 后端 - > 评测 只有这个套路 , 自己选个入坑

计划用 Linux 平台,手头已经有学校给的服务器,性能带宽应该问题不大。
> 选择 win 的话我选择死亡。用学校给的服务器。。。 还不如换点经费上 ucloud 什么的。

OJ 是个深坑,但也是绝佳的一个练手项目,。

// coding.net 用的 ide 应该是 ace editor , 我自己用的是 CodeMirror

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/239644

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX