Skip to content

Latest commit

 

History

History
28 lines (21 loc) · 4.85 KB

File metadata and controls

28 lines (21 loc) · 4.85 KB

구현 로드맵

단계 상태 완료 기준
0차 기반 구축 완료 프로젝트, 테스트, 디자인 토큰, 스키마, 문서, CI, CodeRabbit
1차 JavaScript 학습 완료 7개 교안 탐색, 이전·다음, 완료/진도 유지, 반응형
2차 객관식 복습 완료 14문항, 즉시 채점, 정답·모든 오답 설명, 결과·오답 저장, 독립 검증
3차 JavaScript Code Quest 완료 5개 Quest, 코드 편집·초안 복원, 공개 테스트 실행, 오류·실패 설명, 단계별 힌트, 완료 저장
확장 검증 게이트 완료 HTML·CSS·Java 교안·객관식 샘플 각 1개, 언어 전환, 공통 스키마·라우팅 검증
4차 JavaScript 코딩테스트 완료 6문제, 검색·4종 필터, 반응형 분할 풀이, 공개 테스트 실행·제출, 초안·풀이 저장
알고리즘 과정 분리 완료 JavaScript 실행 기반 12개 교안, 언어 과정과 독립된 목차·진도, 선수 순서·예제 실행 검증
5차 HTML·CSS 정식 확장 완료 HTML 5·CSS 6개 교안, 언어별 객관식 12문항, 직접 소스 Quest HTML 5·CSS 4개
6차 Web Project 완료 HTML·CSS 두 파일 편집, 안전 미리보기, 제출, 공개 자동 검사 70점·자가평가 30점 분리, 부분 점수
7차 Java 정식 확장 완료 Java 교안 6개·객관식 12문항·Quest 5개·코딩테스트 6문제, 로컬 Docker Java 21 격리 채점
8차 Supabase·마이페이지 진행 중 로컬 마이페이지 완료, 인증·RLS·명시적 진도 마이그레이션 예정
9차 학습 튜터 예정 교안·코드 근거 응답과 단계별 힌트

0~3차는 codex/js-foundation에서 통합 검증한 뒤 dev에 병합했습니다. 확장 검증 게이트에서는 HTML·CSS·Java 샘플을 같은 콘텐츠·객관식 계약과 언어 라우팅으로 제공할 수 있음을 확인했고, 4차는 codex/javascript-coding-test에서 별도 콘텐츠·진도 계약으로 구현했습니다.

알고리즘 교안은 content/lessons/algorithm/의 별도 과정으로 분리했습니다. 이전 교안 8개의 안정적인 lesson ID를 유지하면서 정수론·기하, 트리, 동적 계획법 2, 가중 그래프·다익스트라를 더해 총 12개 단원으로 구성했습니다. JavaScript 언어 과정 7개와 알고리즘 과정 12개의 목차와 진도는 과정별로 계산합니다.

5차에서는 HTML과 CSS를 available 정식 과정으로 전환했습니다. HTML은 직접 마크업을 inert DOM·doctype으로, CSS는 직접 스타일시트를 고정된 안전 HTML fixture와 CSSOM·미디어 규칙·계산 스타일로 평가합니다. JavaScript 함수를 JavaScript로 감싼 기존 계약을 HTML·CSS에 재사용하지 않으며, 브라우저에 전달되는 검사는 모두 공개 테스트입니다.

6차에서는 첫 과제 반응형 학습 계획 보드를 추가했습니다. 학습자는 HTML·CSS 두 파일을 함께 편집하고 외부 요청과 스크립트를 차단한 미리보기에서 좁은·넓은 화면을 확인합니다. 정식 콘텐츠에서만 가져온 공개 assertion은 70점, 사람이 직접 관찰해야 하는 항목은 검증되지 않은 자가평가 30점으로 분리했습니다. 취소·평가기 오류는 0점으로 확정하지 않으며 제출 기록에는 원문 source를 저장하지 않습니다.

7차에서는 Java를 available 정식 과정으로 전환하고 교안 6개, 객관식 12문항, Code Quest 5문제, 코딩테스트 6문제를 추가했습니다. 채점은 고정된 Java 21 Docker 이미지로 로컬에서만 실행하며 네트워크·권한·CPU·메모리·프로세스·시간을 제한합니다. 화면에 전달되는 사례는 모두 공개 테스트이고, 클라우드 또는 유료 리소스는 생성하지 않았습니다. 전체 검증은 589개 중 587개 통과, 실패 0개, 환경 의존 통합 테스트 2개 skip이었으며 해당 통합 테스트는 Docker 5/5와 loopback HTTP 1/1로 별도 실행해 통과했습니다. 다음 제품 단계는 8차 Supabase·마이페이지입니다.

8차의 첫 조각으로 #/my 로컬 마이페이지를 추가했습니다. 기존 진도·Web Project 저장소의 정규화된 값만 읽어 언어별 교안 진도, 저장된 오답, 아직 통과하지 못한 Quest·코딩테스트·과제와 최근 풀이·제출 10건을 보여 줍니다. Quest 완료에는 리비전 레코드를 추가해 콘텐츠 개정 뒤 이전 완료가 현재 완료로 잘못 집계되지 않도록 했습니다. Web Project 결과는 검증 완료가 아닌 자가평가 포함 임시 점수로 표시합니다. 동기식 로컬 초안 저장을 비동기 원격 요청으로 직접 바꾸면 종료·탐색 시 데이터 유실 위험이 있으므로, Supabase 인증·RLS·가져오기는 별도 동기화 계층과 사용자 승인 뒤 진행합니다.