Commit Graph
71 Commits
Author SHA1 Message Date
virusdefender 290212d408 Accept Merge Request #39 : (virusdefender-dev -> dev)
Merge Request: 修复 announcement url 前缀错误;修复 api doc 格式错误
Created By: @virusdefender
Accepted By: @virusdefender
URL: https://coding.net/u/virusdefender/p/qduoj/git/merge/39
2015-08-06 16:50:21 +08:00
virusdefender 529cea5476 修复 announcement url 前缀错误;修复 api doc 格式错误 2015-08-06 16:49:48 +08:00
virusdefender 58cf3d256f Accept Merge Request #38 : (virusdefender-dev -> dev)
Merge Request: fix-bug 修复 account migrate 冲突
Created By: @virusdefender
Accepted By: @virusdefender
URL: https://coding.net/u/virusdefender/p/qduoj/git/merge/38
2015-08-06 16:46:28 +08:00
virusdefender e0dec79066 fix-bug 修复 account migrate 冲突 2015-08-06 16:45:51 +08:00
virusdefender 20f523c0f5 Accept Merge Request #36 : (virusdefender-dev -> dev)
Merge Request: bug-fix: 增加 account/models 的 migration
Created By: @virusdefender
Accepted By: @virusdefender
URL: https://coding.net/u/virusdefender/p/qduoj/git/merge/36
2015-08-06 13:06:06 +08:00
virusdefender 53afd2a032 bug-fix: 增加 account/models 的 migration 2015-08-06 13:05:00 +08:00
virusdefender f1d18a0d46 Accept Merge Request #29 : (virusdefender-dev -> dev)
Merge Request: 登录页面优化
Created By: @virusdefender
Accepted By: @virusdefender
URL: https://coding.net/u/virusdefender/p/qduoj/git/merge/29
2015-08-06 12:27:01 +08:00
virusdefender 62f07e713f 增加 @admin_required 修饰符代码和对应的测试 2015-08-06 12:25:16 +08:00
virusdefender 875e3b1671 将注册页面用户名和密码的验证改为了输入框失去焦点的时候才验证,防止发送大量请求。
增加注册的时候向后端发送邮箱字段。
整理 js 代码风格。
2015-08-06 09:43:14 +08:00
virusdefender 94d33aede6 Accept Merge Request #26 : (hohoTT-dev -> dev)
Merge Request: 增加了三个新的功能,去除account/tests.py中不必要的代码
Created By: @hohoTT
Accepted By: @virusdefender
URL: https://coding.net/u/virusdefender/p/qduoj/git/merge/26
2015-08-05 20:26:38 +08:00
virusdefender b1c8607820 Accept Merge Request #24 : (sxw-dev -> dev)
Merge Request: 修改了ajax验证表单的js,添加注册页面email字段
Created By: @esp
Accepted By: @virusdefender
URL: https://coding.net/u/virusdefender/p/qduoj/git/merge/24
2015-08-05 20:09:26 +08:00
virusdefender 4793d660ea Accept Merge Request #22 : (virusdefender-dev -> dev)
Merge Request: 增加 admin 后台返回执行模板的 views 函数;admin spa模板;通用分页参数
Created By: @virusdefender
Accepted By: @virusdefender
URL: https://coding.net/u/virusdefender/p/qduoj/git/merge/22
2015-08-05 19:48:59 +08:00
virusdefender 5eacb9f3d7 增加 admin 后台返回执行模板的 views 函数 2015-08-05 19:47:49 +08:00
virusdefender 21e977f409 Accept Merge Request #21 : (virusdefender-dev -> dev)
Merge Request: 增加通用分页函数和对应的测试
Created By: @virusdefender
Accepted By: @virusdefender
URL: https://coding.net/u/virusdefender/p/qduoj/git/merge/21
2015-08-05 19:46:06 +08:00
virusdefender c5446361db 增加了 admin spa 的通用代码[CI SKIP] 2015-08-05 19:45:35 +08:00
virusdefender 5558600792 补充通用分页函数的注释和用法;修改错误的测试用例 2015-08-05 08:53:39 +08:00
virusdefender 8a6093d645 增加通用分页函数和对应的测试 2015-08-05 08:44:28 +08:00
virusdefender 44be61dab6 修改 runtest.sh,只有在测试成功的情况下才进行测试覆盖率分析和打开结果页面 2015-08-05 08:43:15 +08:00
virusdefender 76aba7f0e7 add coverage requirement and run test shell script 2015-08-04 18:38:00 +08:00
virusdefender f239f41c17 Accept Merge Request #11 : (hohoTT-dev -> dev)
Merge Request: 增加了公告的API接口和相应的API测试
Created By: @hohoTT
Accepted By: @virusdefender
URL: https://coding.net/u/virusdefender/p/qduoj/git/merge/11
2015-08-04 17:40:33 +08:00
virusdefender 93e4599789 Accept Merge Request #8 : (virusdefender-dev -> dev)
Merge Request: 增加 login_required decorator 和对应的测试
Created By: @virusdefender
Accepted By: @virusdefender
URL: https://coding.net/u/virusdefender/p/qduoj/git/merge/8
2015-08-04 13:23:46 +08:00
virusdefender c72624e2d5 增加 login_required decorator 和对应的测试 2015-08-04 13:22:37 +08:00
virusdefender 22d6181471 Accept Merge Request #5 : (virusdefender-dev -> dev)
Merge Request: virusdefender-dev -> dev
Created By: @virusdefender
Accepted By: @virusdefender
URL: https://coding.net/u/virusdefender/p/qduoj/git/merge/5
2015-08-03 20:03:16 +08:00
virusdefender 5cd58164c9 Accept Merge Request #4 : (hohoTT-dev -> virusdefender-dev)
Merge Request: 新增用户修改密码和API测试的功能
Created By: @hohoTT
Accepted By: @virusdefender
URL: https://coding.net/u/virusdefender/p/qduoj/git/merge/4
2015-08-03 19:58:48 +08:00
virusdefender b3d5519987 删除 urls 里面多余的 login url[CI SKIP] 2015-08-03 17:14:44 +08:00
virusdefender 8b0ad78b1a 增加检测用户名是否存在的 api 接口和相应测试 2015-08-03 16:52:31 +08:00
virusdefender 798e68509b 修改 js 路径和引用方式 2015-08-02 18:09:28 +08:00
virusdefender cf4ae5aa12 增加题目列表页和部分 ajax js [CI SKIP] 2015-08-02 16:58:41 +08:00
virusdefender 335051dbd4 修复单元测试错误 2015-08-02 14:27:09 +08:00
virusdefender 37529512c9 增加daocloud ci 2015-08-02 14:24:30 +08:00
virusdefender 7ff8ce9504 增加数据库 migrate 2015-08-02 14:07:57 +08:00
virusdefender be675c17a0 修改 js 错误 2015-08-02 14:01:53 +08:00
virusdefender eb686a0f1a 增加启动命令 2015-08-02 12:22:13 +08:00
virusdefender 4fb0bd7945 自动排除了 lib,导致js 不全 2015-08-02 12:21:12 +08:00
virusdefender 477fc68ae2 换回 python 环境 2015-08-02 11:55:44 +08:00
virusdefender a039ff333d 更换 docker 环境 2015-08-02 11:47:32 +08:00
virusdefender d2c19e91d4 修改 dockerfile 2015-08-02 11:07:08 +08:00
virusdefender d94d472e21 自动创建 LOG 文件夹 2015-08-02 10:59:01 +08:00
virusdefender 348aaa53d1 another typo 2015-08-02 10:56:12 +08:00
virusdefender 4b0fdb5495 typo 2015-08-02 10:54:18 +08:00
virusdefender ebbbc857b5 dockerfile 里面的 typo 2015-08-02 10:52:36 +08:00
virusdefender 61153fda06 测试 docker 运行 2015-08-02 10:49:31 +08:00
virusdefender adaacb6086 增加coding演示配置文件 2015-08-02 10:18:19 +08:00
virusdefender 68e07d443f Accept Merge Request #3 : (virusdefender-dev -> dev)
Merge Request: virusdefender_dev -> dev
Created By: @virusdefender
Accepted By: @virusdefender
URL: https://coding.net/u/virusdefender/p/qduoj/git/merge/3
2015-08-02 10:10:31 +08:00
virusdefender ac54be88b2 后台引入 bootstrap js 2015-08-02 10:00:54 +08:00
virusdefender 593690b340 前台模板模块化拆分 2015-08-02 09:59:13 +08:00
virusdefender 9a8c15ab80 将 admin 模块化拆分 2015-08-02 09:54:37 +08:00
virusdefender 8b058a3785 增加已经写好的 admin 的模板 2015-08-02 09:47:50 +08:00
virusdefender 64f31a61be 移动两个 css 的位置 2015-08-02 09:47:15 +08:00
virusdefender 4d2a5c129e 重命名工程 qduoj -> oj 2015-08-02 08:59:01 +08:00
virusdefender 4f40f28a8a 修改部分设置项的位置 2015-08-02 08:50:38 +08:00
virusdefender cac9ac91f6 增加问题展示页面和相关静态文件 2015-08-02 08:50:19 +08:00
virusdefender f80d10917f 修改 build.js 将 css inline 化 2015-08-01 23:16:48 +08:00
virusdefender 27fda78bf2 为了方便合并 js,调整 require.js 的 配置引入位置。 2015-08-01 22:53:01 +08:00
virusdefender eea0a7fbde 修改 require.js config 的相对路径 2015-08-01 22:28:38 +08:00
virusdefender 999d03b8f7 更换 alert 为 bootstrap 的 modal 2015-08-01 22:23:18 +08:00
virusdefender 26dab5bd91 修改项目结构,还有些混乱。 2015-07-31 23:23:15 +08:00
virusdefender c6d6b13072 增加几个 model 2015-07-18 17:17:33 +08:00
virusdefender 3ee4b57802 增加了题目的 model 修改几个 typo 2015-07-17 11:00:15 +08:00
virusdefender dd7fe6ee44 给编译器也增加超时保护
比如使用include</dev/random>就可能导致编译器卡死,增加了一个编译超时。
重命名了exception模块
整理了部分格式
2015-07-07 21:04:38 +08:00
virusdefender d85ed0a2ec 修复部分情况下解析lrun输出结果失败的问题
因为lrun的输出也是重定向到stderr的,程序也可能向这里面输出,造成解析错误和潜在的伪造输出结果的问题。
2015-07-07 19:26:40 +08:00
virusdefender c033b2c1e8 增加java编译参数 2015-07-07 18:07:54 +08:00
virusdefender ef88a8a155 修改部分常量定义
增加编译功能
2015-07-07 13:33:38 +08:00
virusdefender cc0f720de9 修改代码风格和部分typo
主要是将类的私有变量进行了重命名,改为_开头
2015-07-06 19:20:12 +08:00
virusdefender 5f8f2acf82 修复代码输出重定向错误的问题 增加了输出结果判断
lrun在运行的时候,输入输出重定向的context是当前的shell,所以不能重定向到进程的tmpfs中。考虑在docker中开辟tmpfs缓存空间。
输出结果比较是采用的md5,暂时没考虑格式错误的情况。
2015-07-06 18:59:30 +08:00
virusdefender f1915a8b33 使用更好的办法修复Python2不能pickle实例方法的问题
详见 https://virusdefender.net/index.php/archives/318/
2015-07-03 20:10:38 +08:00
virusdefender b9143c6408 修复子进程中引发的异常无法捕获的bug
多进程中子进程引发异常之后并不会直接显示,而是在get()方法被访问的时候再次引发异常。参考http://stackoverflow.com/questions/22094852/how-to-catch-exceptions-in-workers-in-multiprocessing
2015-07-03 16:56:40 +08:00
virusdefender a26757916e 删除多线程库 2015-07-03 16:02:23 +08:00
virusdefender ae931b4dba 将判题控制器由多线程修改为多进程
我一定是sb了,使用Python的多线程跑cpu密集型的应用。
由于Python的GIL的存在,导致在cpu上每次只能有一个线程在运行。如果一个线程运行,而且cpu时间是3秒的话,那实际运行时间将大约3秒。如果两个线程同时在进行,那总运行时间几乎要翻倍。

而换用多进程之后,单个进行运行实际时间只是稍微大于cpu时间,两个进程同时运行的时候,总的时间也是cpu时间稍微增加。

同时Python2在多进程之间运行类方法的时候存在bug,使用了 http://stackoverflow.com/questions/1816958/cant-pickle-type-instancemethod-when-using-pythons-multiprocessing-pool-ma/7309686#7309686 的方法进行patch。然后不同进程之间共享的时候,要防止循环依赖,参考 http://stackoverflow.com/questions/25382455/python-notimplementederror-pool-objects-cannot-be-passed-between-processes
2015-07-03 16:01:53 +08:00
virusdefender b43dfe37c8 judge在ubuntu上暂时能跑起来了 2015-07-02 23:39:18 +08:00
virusdefender 8f67c37d0c 调用lrun判题和解析判题结果的框架代码完成
使用Python代码调用lrun,然后解析结果。还没有完成,剩下输出对比。
2015-07-02 17:23:42 +08:00