Conversation
상품 생성(성공, 카테고리 미존재 실패)과 조회(다건, 빈 배열, 생성 후 조회) 시나리오를 RestAssured 기반으로 검증한다. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- CategoryAcceptanceTest를 Cucumber과 Gherkin을 활용하여 재생성
Cucumber BDD 테스트가 실제 운영 환경에 가까운 PostgreSQL에서 동작하도록 전환하고, 기존 AcceptanceTest는 H2를 그대로 유지하여 테스트 인프라를 분리한다. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- app을 도커 컨테이너로 변경 - 도커 네트워크 내부에서 컨테이너끼리 소통
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
shared-moon
left a comment
There was a problem hiding this comment.
석준님 안녕하세요!
2단계 미션 잘 진행 해 주셨네요 :)
이번 미션 범위에서는 말씀주신 1,2번 코멘트는 남기기가 조금 어려웠는데요..!
대신 3번에 집중해서 좀 남겨뒀습니다
확인 후 리뷰 재요청 부탁드려요!
| → CLAUDE.md와 스킬 간 중복 제거 | ||
|
|
||
| ```markdown | ||
| Q. CLAUDE.md와 postgres-docker-setup 스킬이 요구사항 1단계에서 2단계로 넘어가기 위해 |
There was a problem hiding this comment.
작성된 내용 검증은 같은 컨텍스트에서 바로 요청하면 잘 못잡을 확률이 높아요. LLM 특성상 한 세션에서 대답을 한번 하면 가중치가 이미 올라간 상태라 답변의 편향이 일어나서 이런 산출물 검증같은 경우는 서브에이전트에 위임하거나 세션 클리어 후 질의, 혹은 페르소나를 지정해서 비판적인 입장으로 리뷰하도록 요청하는게 좋아요
| ## 3. 2단계 → 3단계 전환에 사용한 프롬프트 | ||
|
|
||
| ```markdown | ||
| Q. https://edu.nextstep.camp/s/fkNoSONS/ls/4E1Dy593를 기반으로 요구사항 2까지는 마쳤어. |
There was a problem hiding this comment.
물론 이번 미션 진행을 위해서는 문제 없는 흐름이지만, 기본적으로 CLAUDE.md는 이런식으로 작업에 대한 내용보단 프로젝트 전반에 걸친 전역세팅이 올라가고, 무엇이 어디에 있는가를 지시하는 정도로 짧게 쓰는게 좋습니다. 모든 컨텍스트에 로드가 되는 정보라 여기서 다루면 비효율적이라서요..!
약간 과할지 모르겠지만 조금 효율적으로 바꿔보자면 skill로 다루면서 테스트 작성에 필요한 요구사항에 있던 가이드라인 등은 references로 빼는 식으로 범위를 잡아보면 좋을 것 같습니다
| @@ -0,0 +1,289 @@ | |||
| 당신은 카카오 선물하기 서비스의 시니어 인프라/테스트 엔지니어다. | |||
There was a problem hiding this comment.
command는 기본적으로 프롬프트가 메인 에이전트의 컨텍스트에 올라가게 돼서 이런 내용들도 중간중간에 compact를 통해 사라지거나 메인 에이전트와의 대화를 통해 컨텍스트가 오염될 수 있어요. 그리고 한 컨텍스트 내에서 페르소나 전환은 조금 한계가 있는 방법이기도 하구요.
개인적인 의견으로는 도커 관련해서 인프라 세팅하신 부분은 약간 커맨드로 추출 할 이유는 없지 않았나 싶긴 해요! 물론 지금처럼 명확하게 가이드를 주시는 것도 좋지만, 너무 상세한 가이드는 모델의 자율적인 tool_use를 방해해서 오히려 성능을 떨어뜨린다는 결과도 있어서, 반복되거나 템플릿화 되어야 하는 작업이 아니라면 세션 내 대화로 해결해도 괜찮았을 것 같습니다!
다만, acceptance test 작성에 대한건 향후에도 재사용 될 여지가 있어 sub-agent, skill 조합으로 구성해보면 좋을 것 같아요!
| import org.springframework.web.bind.annotation.PostMapping; | ||
| import org.springframework.web.bind.annotation.RequestMapping; | ||
| import org.springframework.web.bind.annotation.RestController; | ||
| import org.springframework.web.bind.annotation.*; |
There was a problem hiding this comment.
이건 아마 세팅이 안되어있어 자동 변환 된 것 같은데, import 시 * 는 사용하지 않는게 좋아요. 서로다른 패키지에 동일한 이름의 클래스가 있으면 사용할때 대상이 불명확해서 p.a.c.k.class 같은 식으로 사용하거나 원치 않는 클래스가 로드될수도 있어요!
intellij에 auto import 설정 한번 참고해보시면 좋을 것 같아요!
피드백 받고 싶은 방향