Skip to content

Coduck-Team/grader-docker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Coduck Grader Docker

이 Docker 이미지 ν™˜κ²½μ€ Coduck 채점 μ‹œμŠ€ν…œμ—μ„œ μ‚¬μš©ν•˜κΈ° μœ„ν•œ λ©€ν‹°μ–Έμ–΄ μƒŒλ“œλ°•μŠ€ μ±„μ κΈ°μž…λ‹ˆλ‹€.
IOI의 isolateλ₯Ό 톡해 μžμ› μ œν•œ, λ³΄μ•ˆ 격리, μ‹œκ°„/λ©”λͺ¨λ¦¬ μ œμ–΄κ°€ κ°€λŠ₯ν•©λ‹ˆλ‹€.


지원 μ–Έμ–΄ 및 ν™˜κ²½

μ–Έμ–΄ 컴파일러 / 인터프리터 컴파일 / μ‹€ν–‰ 방식
C gcc gcc Main.c -o Main
./Main
C++ g++ g++ Main.cpp -o Main
./Main
Python3 python3 python3 Main.py
PyPy3 pypy3 pypy3 Main.py
Java openjdk-8-jdk-headless javac Main.java
java Main

μ˜ˆμ‹œ

μƒŒλ“œλ°•μŠ€ μ΄ˆκΈ°ν™”

isolate --init λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•˜μ—¬ μƒŒλ“œλ°•μŠ€λ₯Ό μ΄ˆκΈ°ν™”ν•©λ‹ˆλ‹€.

$ isolate --init
/var/local/lib/isolate/0

/var/local/lib/isolate/0/box 디렉토리가 μž‘μ—… 디렉토리가 λ©λ‹ˆλ‹€.

C 예제

hello.c νŒŒμΌμ„ μž‘μ„±ν•©λ‹ˆλ‹€.

#include <stdio.h>
int main() {
    printf("Hello, World!\n");
    return 0;
}

isolateλ₯Ό μ‚¬μš©ν•˜μ—¬ C ν”„λ‘œκ·Έλž¨μ„ μ»΄νŒŒμΌν•˜κ³  μ‹€ν–‰ν•©λ‹ˆλ‹€.

cp hello.c /var/local/lib/isolate/0/box

isolate --run --processes=4 -- /usr/bin/gcc hello.c -o hello

isolate --run -- hello

Python3 예제

hello.py νŒŒμΌμ„ μž‘μ„±ν•©λ‹ˆλ‹€.

print("Hello, World!")

isolateλ₯Ό μ‚¬μš©ν•˜μ—¬ Python3 ν”„λ‘œκ·Έλž¨μ„ μ‹€ν–‰ν•©λ‹ˆλ‹€.

cp hello.py /var/local/lib/isolate/0/box

isolate --run -- /usr/bin/python3 hello.py

Java 예제

hello.java νŒŒμΌμ„ μž‘μ„±ν•©λ‹ˆλ‹€.

public class Main {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

isolateλ₯Ό μ‚¬μš©ν•˜μ—¬ Java ν”„λ‘œκ·Έλž¨μ„ μ»΄νŒŒμΌν•˜κ³  μ‹€ν–‰ν•©λ‹ˆλ‹€.

cp hello.java /var/local/lib/isolate/0/box

isolate --run --processes=32 \
	-- /usr/lib/jvm/java-8-openjdk-amd64/bin/javac \
	-encoding UTF-8 Main.java

isolate --run --processes=32 \
    -- /usr/lib/jvm/java-8-openjdk-amd64/bin/java \
    -Dfile.encoding=UTF-8 Main

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published