I**********s 发帖数: 441 | 1 Homecox OJ BBS 论坛上线了,欢迎访问灌水。
homecox dot com | l*********b 发帖数: 1541 | | T*******e 发帖数: 4928 | | h**i 发帖数: 431 | | I**********s 发帖数: 441 | 5 真没什么牛的. 毕竟咱也是做编译方向毕业几年的博士了. 做网站的经验也好多年了.
这个编程能力还是有的.
【在 l*********b 的大作中提到】 : 牛
| I**********s 发帖数: 441 | 6 谢谢.
【在 T*******e 的大作中提到】 : Good jobs. Congrats!
| f********x 发帖数: 2086 | | e*****t 发帖数: 1005 | 8 zan!
【在 f********x 的大作中提到】 : 这真是正能量
| I**********s 发帖数: 441 | 9 这是响应realbeyond 7 月中旬做一个中文的online judge的号召做的. 现在是一个个
人项目.
我去年听说leetcode, 12月开始做那里的题, 觉得这个东西挺不错, 对强化编程能力很
有帮助. 到一月底leetcode题做得差不多了, 然后用一个多星期业余时间弄了个OJ的核
心功能项目. 一是出于兴趣, 二是觉得有些题leetcode上面没有, 如果自己做一个想加
什么题加什么题就比较方便. 但当时没有继续.
7月中旬realbeyond提议一出来, 应者云集. 我就给我的OJ做了一个网站的壳, 需要中
文验证码的, 放上去. 然后开始加题. 但是开始加第一个题花了5个小时, 主要时间用
在写输入输出及比较的处理函数上. 意识到一个人时间有限, 在这个版发信希望得到帮
忙. 但是没有什么回应. 同时我想到输入输出及比较的处理函数是基于数据类型. 如果
一个题目输入有多个参数, 组合甚多, 似乎每个题都要单独对待, 这样工作量巨大; 但
如果采用正交处理, 化整为零, 各个击破, 则可以写一套通用的API函数来解决. 然后
又花了一周, C++和Java各写了2000行程序的API class, 从此可以复用各个数据类型的
输入输出比较函数. 这样加新题速度提高了5-10倍, 即便一个人加题, 也基本不是问题
了. 之后认识到光是一个OJ, 没有人气没有讨论, 用起来会很枯燥的, 也不利于交流提
高. 所以又花两周加了个BBS.
所有代码, 除了OJ的编辑器(编程序的那个黑框)用的是开源的ACEhttp://ace.c9.io, 全都是从头写起的. 这样虽然一开始速度慢, 但所有细节一清二楚, 日后要加什么新功能易如反掌. 而且我一直有这个想法, 积累做网站的代码, 以后要做什么新网站, 可以迅速上线. 所以这也算给了我一个机会, 有动力去做. 话说日常工作中, 从头开始做的项目还真是少之又少. 做这个项目过程中, 从架构到编程细节, 全部从头搞定, 过程中学到不少.
现在这个网站非常灵活. 比如虽然是中文的壳, 但是改变一个设置变量, 可以立即变成
英文的. 在现有架构上, 加新的语言版本也很容易, 提供一套关键词翻译即可. BBS是
仿照的mitbbs的格式, 加新版只需要加一张数据库表就可以了. 如果要改成其它论坛的
形式, 现有收集的参数应该大致够, 花一些时间改动界面即可. OJ现在是仿照leetcode
的样式, 但改成别的界面也不是问题.
长远打算继续收集有用的题目, 不限于leetcode, 其它还有不少来源. 也还有别的许多
功能可以加.
总之, 工作之余忙了一阵, 还是有不少体会. 分享一下, 不好意思.
【在 h**i 的大作中提到】 : 是上次大家在一起做的那个project不?
| h**i 发帖数: 431 | | | | S******n 发帖数: 132 | | I**********s 发帖数: 441 | 12 呵呵, 你怎么不问问leetcode要不要把他的网站开源在github上呢?
对Homecox, 目前还没有这个打算.
【在 h**i 的大作中提到】 : 要不要把写的东西开源在github上啊?哈哈
| f*******b 发帖数: 520 | | d****n 发帖数: 233 | 14 强烈建议楼主取消或缩短中文验证码, 太麻烦了!
另外, 应该加上做题记录Tracking。 比如对用户已经做过的题, 应该加CheckBox 或
用不同颜色显示。
【在 f*******b 的大作中提到】 : 很赞啊
| I**********s 发帖数: 441 | 15 中文验证码取消很容易, 改变一下设置即可.
不过如果你在本版考古一下就能想象到, 接下来会发生的是印度人大军压境, 所用的服
务器一小时3600秒CPU过载, 速度巨慢无比, 然后ISP关闭服务器, 要求解释, 短期内多
次发生, 则会被要求关站.
做题tracking是可以的, 但是我只能业余时间搞, 等周末吧.
【在 d****n 的大作中提到】 : 强烈建议楼主取消或缩短中文验证码, 太麻烦了! : 另外, 应该加上做题记录Tracking。 比如对用户已经做过的题, 应该加CheckBox 或 : 用不同颜色显示。
| f*******w 发帖数: 1243 | 16 注册了 但是收不到激活的邮件……
f*******[email protected] | z***c 发帖数: 78 | 17 中文验证码真的太长了,每次要敲上一阵子。缩短两位也好。 | I**********s 发帖数: 441 | | g*******y 发帖数: 2783 | 19 是否可以考虑学习douban之类的网站,至少让验证码中是个词,这样大家敲起来也快
目前5个字中,经常有不知道怎么拼的生僻字 | I**********s 发帖数: 441 | 20 发信站: BBS 未名空间站 (可能一开始还是有个熟悉的过程. 我换简单点的验证码图片输入, 很快, 30秒到一分钟.
我也想过去掉繁难字的问题: 能做的是从字典中挑选出常见字, 按笔划多少排列, 25个
字一行. 但是个人业余时间有限. 下面是网上的字典, 如果您有时间帮忙我会非常感谢.
http://www.zbyw.cn/xhzd/
http://zidian.911cha.com/bushou.html
用常用成语词组之类的也可以, 但也需要花时间给出一个成语库啊.
其实我还有别的想法, 依据文化背景的. 比如: 用中文回答电影致青春的导演是谁? 大
话西游的女主教叫什么名字? 等等. 比较有趣, 更短, 也更难破解. | | | f*******4 发帖数: 64 | 21 // ==UserScript==
// @name homecox oj mark
// @namespace http://use.i.E.your.homepage/
// @version 0.1
// @description mark if has dealed
// @match http://homecox.com/oj/
// @copyright 20130911, fabregas4
// ==/UserScript==
function changhandler(event) {
if (event.target.checked) {
localStorage[event.target.name] = true;
} else {
localStorage.removeItem(event.target.name);
}
}
[].forEach.call(
document.getElementById('main').getElementsByTagName('li'),
function(oj) {
var checkBox = document.createElement('input');
checkBox.type = 'checkbox';
checkBox.name = oj.getElementsByTagName('a')[0].innerHTML;
checkBox.checked = localStorage[oj.getElementsByTagName('a')[0].
innerHTML];
checkBox.addEventListener('change', changhandler, false);
oj.insertBefore(checkBox, null);
}
);
浏览器支持的话,可用上边的手动标记
【在 d****n 的大作中提到】 : 强烈建议楼主取消或缩短中文验证码, 太麻烦了! : 另外, 应该加上做题记录Tracking。 比如对用户已经做过的题, 应该加CheckBox 或 : 用不同颜色显示。
| b*****u 发帖数: 648 | | I**********s 发帖数: 441 | 23 谢谢,已经转载到那边了。
【在 f*******4 的大作中提到】 : // ==UserScript== : // @name homecox oj mark : // @namespace http://use.i.E.your.homepage/ : // @version 0.1 : // @description mark if has dealed : // @match http://homecox.com/oj/ : // @copyright 20130911, fabregas4 : // ==/UserScript== : function changhandler(event) { : if (event.target.checked) {
| m******s 发帖数: 204 | 24 赞楼主的努力,多谢。请问可以由其他用户贡献新题吗? | f****l 发帖数: 8042 | 25 设个随机中文选择题,唯一答案验证好了。
【在 z***c 的大作中提到】 : 中文验证码真的太长了,每次要敲上一阵子。缩短两位也好。
| M*********r 发帖数: 70 | | I**********s 发帖数: 441 | 27 可以,具体请见homecox dot com “本站建设”版文章:如何加新题。
【在 m******s 的大作中提到】 : 赞楼主的努力,多谢。请问可以由其他用户贡献新题吗?
| I**********s 发帖数: 441 | 28 互相学习。
【在 M*********r 的大作中提到】 : 赞!不仅支持楼主,还要向楼主多多学习!
| r****s 发帖数: 42 | 29 大赞。
验证功能不要取消喔。。防止烙印来检便宜哦。
【在 I**********s 的大作中提到】 : Homecox OJ BBS 论坛上线了,欢迎访问灌水。 : homecox dot com
| d****n 发帖数: 233 | 30 防止老印是对的, 关键是不要把咋老中也一起防了。 就为了这个OJ 我还不得不加装
了多年未用的中文输入法。验证码缩短成俩个字很难吗?
另外, 请参考另外一个做得非常不错的中文OJ:
http://www.itint5.com/oj/
我很喜欢他的做题记录Tracking, 还可以看见每一次try的原代码。 题目也很清楚。
不知道可不可以加一个feature。 就是做题者可以选择Publish或Share通过了的原代码
,网站加一栏Passed Ranking with Source code and Author.
【在 r****s 的大作中提到】 : 大赞。 : 验证功能不要取消喔。。防止烙印来检便宜哦。
| | | I**********s 发帖数: 441 | 31 这些功能都可以加.不过最近比较忙,没那么快.
前面fabregas4提供的user script可以先用来做题记录tracking.
【在 d****n 的大作中提到】 : 防止老印是对的, 关键是不要把咋老中也一起防了。 就为了这个OJ 我还不得不加装 : 了多年未用的中文输入法。验证码缩短成俩个字很难吗? : 另外, 请参考另外一个做得非常不错的中文OJ: : http://www.itint5.com/oj/ : 我很喜欢他的做题记录Tracking, 还可以看见每一次try的原代码。 题目也很清楚。 : 不知道可不可以加一个feature。 就是做题者可以选择Publish或Share通过了的原代码 : ,网站加一栏Passed Ranking with Source code and Author.
|
|