はじめての Java プログラム

Java入門 / 全 2

作成品質の確認

全チェックの通過状況

スライド 0 / 1枚、チェック 3 / 5項目が通過

次のスライド作成はロック中

完成後の5チェック

本文・学習内容

初回Java課題の役割、starter / solution、requirements、hints、1 test case、次レッスン境界を照合。1枚は今回書いたreturnがテストへ届く経路だけを扱い、未習事項を除外する。

通過

ソース・課題との接続

DB由来のlesson / problem / language / function / tests / starter / Java signatureをclient・Go・hubへ固定済み。ただしtrusted TestRunnerとlearner codeが同一JVM・同一filesystem権限でoutcome channelを偽造でき、unauthenticated Cloud Function内でOS / network / envへ到達できるP0が残る。さらにmarkLessonCompleteが正答を要求せず進捗・XPを付与できるP0がある。live本文directiveのguarded DB applyも明示承認待ち。

未確認

見た目・操作

実レッスンのopen / close / reopen、単枚route、lesson detail、print、320 / 360 / 393pxの内部scrollと固定navigationを確認。全PNGをview_image(original)で独立目視し、欠け・重なり・横overflow・読めない文字なし。

通過

再利用・パターンマスター

既存steps-horizontalをそのまま再利用。新規part / asset / figureなし。pattern masterの既存4段ステップ表示も原寸目視済み。

通過

型・テスト・回帰

前後レッスン、targeted tests、typecheck、format、diff、実ブラウザ回帰待ち。

未確認

現在直している項目

  • live article先頭のcompiler-interpreter directiveがJava課題と不一致
  • Java execution serviceがtrusted runnerとlearner codeを同一JVM / filesystem権限で実行し、outcome channel偽造と任意OSアクセスを防げない
  • markLessonCompleteがcoding正答・lesson/course所属を検証せず、進捗・XPを迂回できる

return の1行がテストに届くまで

public class Solution の public static String helloWorld() に return "Hello, Java!"; を書くと、その戻り値をテストが採点します。

1. Solution.java

helloWorld() で "Hello, Java!" を return

2. javac

ソースコードをコンパイル

3. Solution.class

実行用のバイトコードができる

4. JVM + test runner

戻り値が "Hello, Java!" か採点

課題で書き足すのは return "Hello, Java!"; の1行です。

1 / 2

このスライドが付いているレッスンを開く