オープンソースのオンラインジャッジOnlineJudge2.0の設定方法です。オンラインジャッジとはプログラミングの問題をオンラインで採点するシステムのことで、これは中国の青島大学が開発しています。
ライセンスはMIT。作成者はこのソフトウェアに関して何ら責任を負いません。同様にこの説明にしたがって設定したことにより生じる一切の請求、損害、その他の義務について、demura.netは何らの責任も負いません。この記事だけでなくdemura.net内の全記事にも責任は負いません。自己責任でお願いします。
ドキュメント
- 残念ながら以下の中国版しかない。ブラウザの翻訳機能で概ね意味はわかる。
ログイン
- ブラウザを起動してURLを入力する窓に”localhost”と入力する。
- 設定するために管理者としてログインする。画面右上のLoginをクリックするとユーザ名、パスワードを入力するウインドウが開くので、ユーザ名root、パスワードrootrootを入力する。
設 定
- rootパスワード変更:ログインできたらセキュリティのためにすぐパスワードを変更する。これ大切。
- 画面右上がLoginからrootに変わる。rootをクリックしてmanagementをクリックする。
- 以下の画面になるのでGeneral→Userをクリックする。
- 以下の画面になるので赤丸(edit)部分をクリックする。
- ユーザ情報を変更する。Email、Real Nameは必須なので入力して、New Passwordにrootroot以外の新しいパスワードを必ず設定して「Save」をクリックする。よりセキュリティを高めるためにはrootのアカウントを無効(Is Disable)にして、別のユーザをUser Type: Super Adminにする。
- パスワードを変更すると以下の画面になるので先程入力したパスワードを入力して「GO」をクリックする。
- 画面右上がLoginからrootに変わる。rootをクリックしてmanagementをクリックする。
- システム設定
- General -> System Configを選択
- Web Config
- Base Url: デフォルトのままでOK
- Name: 好きな名前に変更
- ShortCut: 好きなショートカット名
- Footer:好きな名前に変更
- Allow Register:授業等で使用する場合は勝手に登録されると困るので不可(赤表示)に変更する。
- SMTP Config
- 必要があれば設定する。
- Web Config
- General -> System Configを選択
- ユーザ登録
- 問題作成
- Problem → Create Problemで問題作成画面になる。
- 各項目について記入していく。参考までに私の例を次に示す。なお、この記載に関しては次の教科書が参考になる。
- 数式:MathJaxが使用可能。
- 行に埋め込み
$ BMI = {w \over h^2} $
- 1行表示
\[ BMI = {w \over h^2} \]
- 行に埋め込み
- Visible: このスライドスイッチを右にしてONにする。これをONにしないと管理者以外は見えないので注意。
- Type: ACMとOIがあるが、OIにチェックを入れる。OIにチェックを入れないと、コンテストで問題を使えない。
- TestCase: 上の項目の中で難しいのが、一番下のすぐ上にあるTestCase。TestCaseは提出された回答が正解かどうか判断する正解例である。入力inと出力outで構成される。
入力に対する出力が同じだったら正解になる。例えば、printf文で適当にある値を出力して、たまたま用意したTestCaseと同じなら正解になってしまう。そのようなことにならない問題作成と複数のテストケースを作成する必要がある。部分点を与えたいので最低5ケースは作ること。問題作成のときにテストケースを考えてつくると良い。- 作成方法
- ディレクトリを作成する。そのなかに、プログラムへの入力ファイル1.inとそれに対する正解の出力ファイル1.outを作成する。Linuxなら以下のコマンド
- $ mkdir -p ~/onlinejudge/testcase/example1-
- $ cd ~/onlinejudge/testcase/example1
- エディタを使い1.inと1.outを作成する。テストケースが複数ある場合は2.in, 2.out, 3.in, 3.out, …と連番でファイルを作成する。
- zipで圧縮する場合はディレクトリを含めてはいけないので注意。Linuxなら以下のコマンドを使う。
- $ cd ~/onlinejudge/testcase/example1
- $ zip testcase.zip ./{*.in,*.out}
- ディレクトリを作成する。そのなかに、プログラムへの入力ファイル1.inとそれに対する正解の出力ファイル1.outを作成する。Linuxなら以下のコマンド
- アップロード
- TestCaseのChoose Fileをクリックして圧縮したファイルをアップロードする。
- 作成方法
- Problem → Create Problemで問題作成画面になる。
- 問題のインポートとエクスポート
- 同じOnlineJudge2.0を使っていると作成した問題をエクスポートして提供したり、インポートして自分のシステムに簡単に取り入れることができます。
- Problem → Export or Import Problem
終わり
コメント