Eine Plattform, auf der Sie Snippets für die Praxis online einreichen und testen können.
LaunchDestrun hängt von der folgenden Software ab, die ausgeführt werden soll:
Um diese Pakete auf Ubuntu oder Debian zu installieren, führen Sie bitte die folgenden Befehle aus:
Um die erforderlichen Toolchains zu installieren, laufen Sie aus
sudo apt-get update
sudo apt-get install default-jre default-jdk build-essential python2 python3 mono-devel
release/ in das webapps/ Verzeichnis in Ihrem Apache -Tomcat -Server (wenn Sie die vorherigen Schritte verwendet haben, sollte Tomcat in ~/ launchestrun installiert werden) und überspringen Sie mit Schritt 5.LaunchTestRun.war .webapps/ Verzeichnis.bin/catalina.sh in Ihrer Apache -Tomcat -Installation durch catalina.sh in diesem Verzeichnis (Patches Probleme mit Java 9 und Tomcat 8).bin/ Verzeichnis in Ihrer Tomcat -Installation ausführbar, indem Sie chmod +x *.sh im bin/ Verzeichnis Ihrer Tomcat -Installation ausführen.bin/startup.sh in Ihrem Tomcat -Installationsverzeichnis aus, um den Start von LaunchTestrun zu starten. Wenn Sie mehr Sicherheit für Ihre Start -Dest -Inst -Installation wünschen (dringend empfohlen, da andere Code auf Ihrem Server ausführen! Um Ihr Setup zu sichern, führen Sie nach dem Ausführen von bin/startup.sh das erste Mal nach dem Verschieben der .war -Datei die folgenden Befehle aus (ersetzen Sie alle Text in Klammern durch Standorte, die für Ihre spezifische Installation anwendbar sind):
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
Wenn Sie diese Berechtigungen festgelegt haben, wechseln Sie beim Starten des LaunchDestrun -Servers zum launchtestrun -Benutzer, bevor Sie startup.sh mit den folgenden Befehlen ausführen:
su launchtestrun
cd [ YOUR TOMCAT DIRECTORY HERE ]/bin
./startup.sh
Um ein forensisches Protokoll aller hochgeladenen und ausgeführten Dateien anzuzeigen (mit IP, Eingabe, Ausgabe, MD5 -Hash, Hochgeladen usw.), sehen Sie webapps/LaunchTestRun/forensics.txt anzeigen.
Hinweis: Es wird empfohlen, ein Git -Repository in webapps/LaunchTestRun/problems zu stören, damit Probleme bei Bedarf aus der Ferne hochgeladen, bearbeitet und zurückverkehrt werden können.
webapps/LaunchTestRun/problems in Ihrem Apache -Tomcat -Verzeichnis. Erstellen Sie ein neues Verzeichnis mit der folgenden Struktur: [+] Name of problem
|- config.json
|- judge.in
|- judge.out
|- sample.in
|- sample.out
config.json sollte die folgenden Daten enthalten:
{
"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"
}
Wo:
cpid ist die ID # für das Problem, das Sie definieren möchten.title ist der Titel für das Problem, das Sie definieren möchten.description ist die Beschreibung für das Problem, das Sie definieren möchten.pdf ist der URL -Link zu der PDF -Datei, die Sie mit dem Problem angezeigt werden möchten.setinfo ist die Informationen zu dem Problem, das das Problem, aus dem Sie definieren möchten, hergestellt werden.samplein ist der Name der Beispieleingabedatei. (Die Eingabe, die dem von Benutzer vorgeladenen Programm gegeben wurde)sampleout ist der Name der Beispielausgabedatei. (Die für den Eingang erwartete Ausgabe)judgein ist der Name der Richtereingabedatei. (Die Eingabe, die dem von Benutzer vorgeladenen Programm gegeben wurde)judgeout ist der Name der Richterausgabedatei. (Die für den Eingang erwartete Ausgabe)inputname ist der Name der Eingabedatei, in die das von Benutzer vorgeladene Programm lautet, in die die Beispiel-/Richter-Eingabedatei umbenannt wird.timeout ist eine Ganzzahl, die die Anzahl der Millisekunden definiert, die das Programm vor einer erzwungenen Kündigung ausführen wird.webapps/LaunchTestRun/settings.json bearbeiten, die die Pfade enthält, die die LaunchESTRUN nach den Compilern suchen. Auf den LaunchDestrun -Server kann standardmäßig auf: http://127.0.0.1:8080/LaunchTestRun/index.html/ zugegriffen werden, nachdem es in den vorherigen Abschnitten mit Tomcat konfiguriert wurde. Eine Liste der hinzugefügten Probleme kann standardmäßig zugegriffen werden: http://127.0.0.1:8080/LaunchTestRun/listproblems.html/ .