منصة تتيح لك إرسال مقتطفات رمز واختبار عبر الإنترنت للممارسة.
يعتمد LaunchTestrun على البرنامج التالي لتشغيله:
لتثبيت هذه الحزم على Ubuntu أو Debian ، يرجى تشغيل الأوامر التالية:
لتثبيت سلاسل الأدوات المطلوبة ، قم بتشغيل
sudo apt-get update
sudo apt-get install default-jre default-jdk build-essential python2 python3 mono-devel
release/ إلى webapps/ Directory في خادم Apache Tomcat الخاص بك (إذا استخدمت الخطوات السابقة ، فيجب تثبيت tomcat في ~/ launchtestrun) ، وتخطي الخطوة 5.LaunchTestRun.war .webapps/ Directory.bin/catalina.sh في تثبيت apache tomcat الخاص بك مع catalina.sh في هذا الدليل (تصحيحات مع Java 9 و Tomcat 8).bin/ Directory في تثبيت Tomcat الخاص بك القابلة للتنفيذ عن طريق تشغيل chmod +x *.sh في bin/ دليل تثبيت Tomcat الخاص بك ..bin/startup.sh في دليل تثبيت Tomcat الخاص بك لبدء تشغيل 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 ، قم بالتبديل إلى مستخدم launchtestrun قبل تشغيل startup.sh مع الأوامر التالية:
su launchtestrun
cd [ YOUR TOMCAT DIRECTORY HERE ]/bin
./startup.sh
لعرض سجل الطب الشرعي لجميع الملفات التي تم تحميلها وتنفيذها (تحتوي على IP ، الإدخال ، الإخراج ، تجزئة MD5 ، تم تحميل الوقت ، إلخ) ، عرض webapps/LaunchTestRun/forensics.txt .
ملاحظة: يوصى بتثبيت مستودع GIT في webapps/LaunchTestRun/problems بحيث يمكن تحميل المشكلات عن بُعد وتحريرها وتعزيزها إذا لزم الأمر.
webapps/LaunchTestRun/problems داخل دليل Apache Tomcat الخاص بك. قم بإنشاء دليل جديد مع الهيكل التالي: [+] 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 هو المعرف # للمشكلة التي تريد تحديدها.title هو عنوان المشكلة التي تريد تحديدها.description هو الوصف للمشكلة التي تريد تحديدها.pdf هو رابط عنوان URL لملف PDF الذي تريد عرضه مع المشكلة.setinfo هي المعلومات حول مجموعة المشكلة التي تأتي منها المشكلة التي تريد تحديدها.samplein هو اسم ملف إدخال العينة. (المدخلات المعطاة للبرنامج الذي يحمله المستخدم)sampleout هو اسم ملف إخراج العينة. (الإخراج المتوقع للمدخلات)judgein هو اسم ملف إدخال القاضي. (المدخلات المعطاة للبرنامج الذي يحمله المستخدم)judgeout هو اسم ملف الإخراج القاضي. (الإخراج المتوقع للمدخلات)inputname هو اسم ملف الإدخال الذي سيقرأه البرنامج الذي تم تحميله من قبل المستخدم ، حيث سيتم إعادة تسمية ملف الإدخال العينة/القاضي.timeout هي عدد صحيح يحدد عدد المللي ثانية التي سيتم تخصيص البرنامج لتنفيذها قبل الإنهاء القسري.webapps/LaunchTestRun/settings.json ، والتي تحتوي على المسارات التي سيبحث فيها LaunchTestrun عن المجمعين. يمكن الوصول إلى خادم LaunchTestrun افتراضيًا من: http://127.0.0.1:8080/LaunchTestRun/index.html/ بعد تكوينه مع tomcat في الأقسام السابقة. يمكن الوصول إلى قائمة بالمشاكل المضافة افتراضيًا من: http://127.0.0.1:8080/LaunchTestRun/listproblems.html/ .