AWESOMEDEV a5d4437b27 feat: SQL 코딩 문제 추가 — 브라우저 SQLite(sql.js)로 실행·자동채점
- 문제 5개 시드: SELECT* → WHERE → ORDER BY+LIMIT → GROUP BY → JOIN
  (직원·부서 연습 데이터, SQL 입문 강좌 진도 순서와 일치)
- 실행 방식: sql.js(SQLite WASM)로 학생 브라우저 안 1회용 메모리 DB에서 실행
  → 서버 DB 무접촉. DROP/DELETE도 자유롭게 실험 가능 (runJs.js와 같은 격리 철학)
- 채점: 값만 비교(컬럼 별칭 허용), ORDER BY 문제만 행 순서 채점(orderMatters)
- 화면: 데이터 살펴보기(테이블+데이터), 실행 결과 표 vs 기대 결과 표 나란히 비교
- CodingProblem: setupSql 컬럼, isAutoGraded에 SQL 포함(JAVA만 수동)
- CodingServiceTest 3개 추가: SQL 채점값 저장·PASSED, JAVA 채점값 폐기(조작 방지), 빈 코드 400
  → 전체 17개 테스트 통과

운영 검증(브라우저 E2E): 정답 실행 '통과', 오답 시 기대 결과 비교 표시,
제출 시 서버에 PASSED 1/1 저장 확인. 문제 수 20→25 재시드.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 09:47:54 +09:00
..