About
dojoについて
Javaコードを実際に書いて、その場でサーバーサイドが本物のコンパイル・JUnit実行で自動採点する実践的なハンズオン演習サイトです。
この道場でできること
座学で学んだ知識を「知っている」から「書ける」に変えるための実践環境を提供します。
直接コードを書く
ローカル環境の構築不要で、ブラウザ上のエディタから直接Javaコードを記述して課題に取り組みます。
自動で採点される
提出されたコードはバックエンドで本物のコンパイラとテストコード(JUnit)によって検証され、即座にフィードバックを得られます。
反復して定着する
段階的なヒントを活用しながら、何度でもやり直して正解に辿り着く過程で、実践的な実装力が身につきます。
演習の進め方
STEP 1 課題を選ぶ
左メニューの「演習一覧」から、挑戦したいテーマを選んで開きます。
STEP 2 コードを書く
お題と条件を読み、ブラウザ上のエディタで要件を満たすJavaコードを記述します。
STEP 3 提出・テスト
提出ボタンを押すと自動テストが実行され、結果がすぐに表示されます。失敗したら修正して再提出!
STEP 4 深く学ぶ
見事クリアしたら、「解説記事を読む」からブログの本編に戻り、設計の理論を深く学びます。
羅針盤サイト群の役割分担
当道場は、エンジニア羅針盤プロジェクトを構成する4つのサイトの1つです。
エンジニア羅針盤全体としては、以下のように役割を分けて学習をサポートします。
技術スタック・仕様
アーキテクチャ
- Java 21 / Spring Boot 3 / Thymeleaf
- フロントエンドは素のCSSとJS (フレームワーク不使用)、エディタにCodeMirror 5を採用しています。
- 自動採点システムは、提出されたコードを使い捨てのDockerコンテナ(Firecracker microVM等で隔離)内でコンパイル・JUnit実行する仕組みです。
できること・できないこと
- 提出できるのはJavaファイル1つのみです(複数ファイル提出や外部ライブラリの追加はできません)。
- アカウント登録は不要です。演習の合格状況はお使いのブラウザ(localStorage)にのみ保存されます。
- 実行されるコンテナから外部ネットワークへの通信は遮断されています。
制限値
| 提出コードのサイズ | 32KB以内 |
| コンパイルの制限時間 | 30秒 |
| 実行の制限時間 | 15秒 |
| 提出制限(目安) | 1時間あたり約20回まで(過度な連続送信はブロックされます) |