Devin.KR

작은 AI 요청과 diff 검토

한 번에 검증 가능한 변경을 요청하고 범위 밖 수정을 찾아냅니다.

진도 0%

레슨

  1. 작업을 검증 단위로 나누기

    생성·조회·완료 API를 의존성 순서와 완료 검사로 나눠 요청서를 작성합니다.

  2. 작은 변경을 AI에게 요청하기

    허용 파일과 명세 사례를 지정해 생성 API 한 개를 구현하고 AI 사용 기록을 남깁니다.

  3. 많은 파일의 diff 읽기

    제공된 변경에서 무관한 설정 수정과 검증 누락을 찾아 허용된 패치만 적용합니다.

  4. 요청에서 응답까지 설명하기

    Spring MVC의 DTO·서비스·오류 응답 흐름을 테스트로 확인합니다.

작은 AI 요청과 diff 검토 미션

m03-java-bridge 미션 solution의 명세·사례·Python 참조 모델·Java 27개 검사를 이어받았습니다. 웹 의존성과 새 검사 및 고정 경계 초안이 준비되어 있으며 생성 상태 200과 고정 빈 조회의 결함을 서로 다른 요청으로 고칩니다. 실제 AI 대신 fixture 검토로도 수행할 수 있습니다.

요구사항

  • 기존 TaskService·TitlePolicy·TaskRepository·Task와 Python 참조 모델 계약을 보존합니다.
  • POST /tasks는 title 원형을 기존 서비스로 넘기고 201과 id·title·done JSON을 반환합니다. GET /tasks는 200과 번호 오름차순 배열을 반환합니다.
  • 빈 제목·숫자·null·누락·길이 초과는 400과 기존 오류 코드, 깨진 JSON은 400·INVALID_JSON으로 연결합니다. 실패가 상태와 다음 번호를 바꾸지 않습니다.
  • 생성·조회 요청을 따로 작성하고 각 단계의 테스트를 실행한 뒤 다음 단계로 넘어갑니다. 완료 API·DB·인증·포트 수정·배포는 제외합니다.
  • 허용 수정은 TaskController.java, TaskApplication.java, review.md입니다. pom.xml의 spring-boot-starter-web 전환은 준비물에서 승인된 변경이며 임의 의존성 추가는 제외합니다.
  • review.md에 요청, 실제 AI 응답 또는 fixture 출처, 채택·거절 diff와 근거, 본인 판단, 실행 증거·미확인을 작성합니다. 다섯 입력 경로의 흐름표도 제출합니다.

완료 기준

  • 학습자 명령 ./mvnw test, 캐시 준비 환경 ./mvnw -o -q test에서 종료 코드 0을 확인합니다.
  • JUnit 검사 38개(기존 27개, HTTP 9개, 보호 범위 1개, 응답 관찰 1개)가 실패·오류·건너뜀 없이 통과합니다. 관찰 기록만으로 계약 통과를 판정하지 않습니다.
  • HTTP 정상 생성·초기 빈 조회·두 생성 후 순서 및 전체 JSON·빈 제목 뒤 상태와 번호 보존·숫자·누락·40 이모지·41자 초과·깨진 JSON을 검사합니다.
  • python3 check_scope.py는 보호 파일 SHA-256과 허용 목록을 확인하여 SCOPE OK를 출력합니다. 승인 기준 자체와 review.md의 의미는 사람이 검토합니다.
  • bash check_reference.sh로 앞 모듈 Python 참조 모델과 문서 검사를 별도 재실행할 수 있습니다. Java·HTTP 결과는 Maven 보고서로 기록합니다.
  • standalone MockMvc 범위만 확인하며 실제 서버·소켓·자동 빈 구성·동시성·영속 저장·운영 배포는 미확인으로 기록합니다.
./mvnw test
미션 시작 코드
모범 답안모범 답안 내려받기

검토 기준

  • 요구사항과 실제 검증 근거를 연결해 설명합니다.
  • 본인이 판단한 사항과 AI에 맡긴 사항을 구분합니다.
  • 통과·실패·미확인 상태를 사실대로 기록합니다.