オンラインジャッジを作ろう

コンテンツ
作ろう!
オンラインジャッジって?
PaizaやCodeIQ、TopCoderなどのプログラミングコンテストで、提出されたコードを実行して採点するシステムのこと。
構想
特に難しいことを考えなければこんなかんじ?
- Web アプリケーション - 問題の管理やコード受付をするよ
- ジャッジサーバ - コードのビルドと実行をするよ
- データベース - プレイヤーの情報、問題、実行結果など、いろんなデータを格納するよ
せっかくなので全部 Docker コンテナで作るよ!
やりたいこと
アプリケーションとして配布したい!
会社や学校でプロコンの大会を開催したいけど、外部サービスは利用できない・・・ありますよね!
そこで、Web アプリケーションとして配布して、誰でもプライベートなマシンにセットアップ出来るようにしたい。
docker run
するだけでセットアップ&実行できるようなイメージ。
Docker を使いたい!
イメージで配布して簡単に導入できるようにしたい! あと、とにかく使ってみたい!細けぇことはいいんだよ!
Ruby 以外の言語で作りたい!
そろそろ別の言語もまともに使えるようになりたい・・・! 候補としては、Node.js, Go, Scala, Python の順かな。
エディタ乗り換えたい
大学で悪い先輩に捕まって以来、Emacs を使い続けてきましたが、別のエディタに乗り換えようと思っています。 候補は Atom です。
毎日、早く帰って続きを作りたい!と思えること
これめちゃ重要。去年ライブラリ作ってるときはこの状態でした。
この状態が継続するよう、コツコツ続けたい。毎日が本当に楽しくなる!
進め方
インタフェースなど考えながらボトムアップに進めたい。 秋頃にリリースできるといいなー。
- ジャッジサーバの構築
- Web アプリケーション + データベースの構築
最後に
こんなかんじでコツコツやっていきます。 とりあえず、第一回は構想だけですね。 おしまい〜。
作成者 tac0x2a
最終更新時刻 2016-03-21