作ろう!

オンラインジャッジって?

PaizaCodeIQTopCoderなどのプログラミングコンテストで、提出されたコードを実行して採点するシステムのこと。

構想

特に難しいことを考えなければこんなかんじ?

  • Web アプリケーション - 問題の管理やコード受付をするよ
  • ジャッジサーバ - コードのビルドと実行をするよ
  • データベース - プレイヤーの情報、問題、実行結果など、いろんなデータを格納するよ

せっかくなので全部 Docker コンテナで作るよ!

やりたいこと

アプリケーションとして配布したい!

会社や学校でプロコンの大会を開催したいけど、外部サービスは利用できない・・・ありますよね!

そこで、Web アプリケーションとして配布して、誰でもプライベートなマシンにセットアップ出来るようにしたい。 docker run するだけでセットアップ&実行できるようなイメージ。

Docker を使いたい!

イメージで配布して簡単に導入できるようにしたい! あと、とにかく使ってみたい!細けぇことはいいんだよ!

Ruby 以外の言語で作りたい!

そろそろ別の言語もまともに使えるようになりたい・・・! 候補としては、Node.js, Go, Scala, Python の順かな。

エディタ乗り換えたい

大学で悪い先輩に捕まって以来、Emacs を使い続けてきましたが、別のエディタに乗り換えようと思っています。 候補は Atom です。

毎日、早く帰って続きを作りたい!と思えること

これめちゃ重要。去年ライブラリ作ってるときはこの状態でした。

この状態が継続するよう、コツコツ続けたい。毎日が本当に楽しくなる!

進め方

インタフェースなど考えながらボトムアップに進めたい。 秋頃にリリースできるといいなー。

  1. ジャッジサーバの構築
  2. Web アプリケーション + データベースの構築

最後に

こんなかんじでコツコツやっていきます。 とりあえず、第一回は構想だけですね。 おしまい〜。