# OJ system
准备恢复更新啦
## Developer
## Environment preparation
To run this program, you must have **Ubuntu** system,
Linux kernel version >= 3.10
jdk1.8 version,
mysql8.0,
redis.
### go-judge system operation
**The port required by gojudge is 5050**
go_judge handbook.
1. Download the binary precompiled file
https://github.com/criyle/go-judge/releases
or run on Docker
~~~bash
docker run -it --rm --privileged --shm-size=256m -p 5050:5050 criyle/executorserver
~~~
**Run binary precompiled files on Ubuntu**
First set permissions
~~~bash
chmod +x filename
~~~
After that start sandbox
~~~BASH
./file name
~~~
#### c/c++ locale test
**Next we open postman for testing and send the request in post form http://IP:5050/run with parameters**
~~~java
{
"cmd": [{
"args": ["/usr/bin/g++", "Main.cc", "-o", "a"],
"env": ["PATH=/usr/bin:/bin"],
"files": [{
"content": ""
}, {
"name": "stdout",
"max": 10240
}, {
"name": "stderr",
"max": 10240
}],
"cpuLimit": 10000000000,
"memoryLimit": 104857600,
"procLimit": 50,
"copyIn": {
"Main.cc": {
"content": "#include \nusing namespace std;\nint main() {\nint a, b;\ncin >> a >> b;\ncout << a + b << endl;\n} "
}
},
"copyOut": ["stdout", "stderr"],
"copyOutCached": ["Main.cc", "a"],
"copyOutDir": "1"
}]
}
~~~
**Our server will return us**
~~~bash
[
{
"status": "Accepted",
"exitStatus": 0,
"time": 726910000,
"memory": 55812096,
"runTime": 787566071,
"files": {
"stderr": "",
"stdout": ""
},
"fileIds": {
"Main.cc": "4EK46KIB",
"a": "LR567VHA"
}
}
]
~~~
**Next we run him according to the Id of Main**
~~~bash
{
"cmd": [{
"args": ["a"],
"env": ["PATH=/usr/bin:/bin"],
"files": [{
"content": "1 1"
}, {
"name": "stdout",
"max": 10240
}, {
"name": "stderr",
"max": 10240
}],
"cpuLimit": 10000000000,
"memoryLimit": 104857600,
"procLimit": 50,
"strictMemoryLimit": false,
"copyIn": {
"a": {
"fileId": "LR567VHA"
}
}
}]
}
~~~
**Server feedback to us**
~~~bash
[
{
"status": "Accepted",
"exitStatus": 0,
"time": 7191000,
"memory": 6672384,
"runTime": 15512983,
"files": {
"stderr": "",
"stdout": "2\n"
}
}
]
~~~
#### java locale test
todo
#### Awesome goLang language test
#### python3 language test
#### python2 language test
## backend startup
todo
## front-end startup
## Dev log
## Architecture diagram