Aizu Online JudgeやAtcoderなどのオンラインジャッジシステムを作る時のメモ. オンラインジャッジシステムを作る上で必要なことは プログラムに入力を与えて期待する出力かどうか判定する リソースを均等にする 細かく言えばたくさんありますが,こんな感じだと思います. 今までは一つ目しか満たしてなかった(とてもよくない とりあえず安全に実行できる環境にするべきだろうということでdockerを導入した. その上で,幾つかハマりどころが合ったので残しておく. 要件 入力と出力は数MBになりえる 実行時間制限を指定できる. メモリ使用量を制限できる. プロセス数を制限できる. 生成されるファイルサイズを制限できる(今回は無し cpu使用率を均等にする(今回は無し 使用したメモリ量を取得できる. 実行時間を取得できる. プロセスのステータスを取得できる. 仕様 サーバーの性能的に,同