연습을 위해 온라인으로 코드 스 니펫을 제출하고 테스트 할 수있는 플랫폼.
LaunchTestrun은 실행할 다음 소프트웨어에 따라 다릅니다.
Ubuntu 또는 Debian에 이러한 패키지를 설치하려면 다음 명령을 실행하십시오.
필요한 도구 체인을 설치하려면 실행하십시오
sudo apt-get update
sudo apt-get install default-jre default-jdk build-essential python2 python3 mono-devel
release/ Apache Tomcat 서버의 webapps/ Directory에 .war 파일을 복사하고 (이전 단계를 사용한 경우 ~/ unkertestrun에 Tomcat을 설치 해야하는 경우) 5 단계로 건너 뜁니다.LaunchTestRun.war 라는 .war로 내보내십시오.webapps/ Directory의 Apache Tomcat 서버로 이동하십시오.bin/catalina.sh 이 디렉토리의 catalina.sh 로 교체하십시오 (Java 9 및 Tomcat 8의 패치 문제).bin/ 디렉토리에서 chmod +x *.sh 실행하여 Tomcat 설치 실행 파일의 bin/ 디렉토리에서 쉘 스크립트를 작성하십시오.bin/startup.sh 실행하여 LaunchTestrun을 시작하십시오. LaunchTestrun 설치에서 더 많은 보안을 원한다면 (다른 사람이 서버에서 코드를 실행할 때 강력히 권장됩니다!) Tomcat 설치 디렉토리 내에서 파일을 실행하고 액세스 할 권한 만있는 새 사용자를 만들어야합니다. 설정을 확보하려면 bin/startup.sh 실행 한 후 .WAR 파일을 이동 한 후 처음으로 다음 명령을 실행하십시오 (특정 설치에 적용 가능한 위치로 브래킷의 모든 텍스트를 교체하십시오).
su root
chmod 755 [ YOUR TOMCAT DIRECTORY HERE ] -R
cd [ YOUR TOMCAT DIRECTORY HERE ]
useradd launchtestrun
mkdir work
touch webapps/LaunchTestRun/forensics.txt
chown launchtestrun:launchtestrun -R work
chown launchtestrun:launchtestrun -R logs
chown launchtestrun:launchtestrun -R webapps/LaunchTestRun
chown launchtestrun:launchtestrun -R webapps/LaunchTestRun/upload
chown launchtestrun:launchtestrun -R webapps/LaunchTestRun/forensics.txt
이 권한을 설정 한 후 LaunchTestrun 서버를 시작할 때 다음 명령으로 startup.sh 실행하기 전에 launchtestrun 사용자로 전환하십시오.
su launchtestrun
cd [ YOUR TOMCAT DIRECTORY HERE ]/bin
./startup.sh
업로드 및 실행 된 모든 파일의 법의학 로그를 보려면 (IP, 입력, 출력, MD5 해시, 시간 업로드 등) webapps/LaunchTestRun/forensics.txt 참조하십시오.
참고 : 필요한 경우 문제를 원격으로 업로드, 편집 및 되돌릴 수 있도록 webapps/LaunchTestRun/problems 에서 GIT 저장소를 비현실화하는 것이 좋습니다.
webapps/LaunchTestRun/problems 로 이동하십시오. 다음 구조의 새 디렉토리를 만듭니다. [+] Name of problem
|- config.json
|- judge.in
|- judge.out
|- sample.in
|- sample.out
config.json 다음 데이터를 포함해야합니다.
{
"cpid":"12345",
"title":"Sample Tile 1",
"description":"Test Problem Description",
"pdf":"http://www.pdfsite.org/files/test.pdf",
"setinfo":"Fall Competition 2019",
"samplein":"sample.in",
"sampleout":"sample.out",
"judgein":"judge.in",
"judgeout":"judge.out",
"inputname":"input.txt",
"timeout":"2000"
}
어디:
cpid 정의하려는 문제의 ID #입니다.title 정의하려는 문제의 제목입니다.description 정의하려는 문제에 대한 설명입니다.pdf 문제로 표시하려는 PDF 파일에 대한 URL 링크입니다.setinfo 정의하려는 문제가 발생하는 문제 세트에 대한 정보입니다.samplein 은 샘플 입력 파일의 이름입니다. (사용자 공제 프로그램에 제공된 입력)sampleout 샘플 출력 파일의 이름입니다. (입력에 대해 예상되는 출력)judgein 판사 입력 파일의 이름입니다. (사용자 공제 프로그램에 제공된 입력)judgeout 판사 출력 파일의 이름입니다. (입력에 대해 예상되는 출력)inputname 은 샘플/판사 입력 파일의 이름이 바뀌는 사용자 제공 프로그램이 읽을 입력 파일의 이름입니다.timeout 강제 종료 전에 프로그램이 실행되도록 할당 될 밀리 초의 수를 정의하는 정수입니다.webapps/LaunchTestRun/settings.json 편집 할 수 있습니다. 여기에는 LaunchTestrun이 컴파일러를 찾는 경로가 포함되어 있습니다. http://127.0.0.1:8080/LaunchTestRun/index.html/ 8080/launchtestrun/index.html/ 이전 섹션에서 Tomcat으로 구성된 후 LaunchTestrun 서버는 기본적으로 액세스 할 수 있습니다. 추가 된 문제 목록은 http://127.0.0.1:8080/LaunchTestRun/listproblems.html/ 8080/launchtestrun/listproblems.html/에서 기본적으로 액세스 할 수 있습니다.