Page History
| Info |
|---|
바이브로 CRUD 하향평준화된 API 코드만 작성 시도할것이 아니라 푸시기능을 포함 CQRS를 이용하는 액터모델도 바이브코드가 가능할까? cluade code를 활용해 시도된 바이브 코딩입니다. 이후 수정및 개선은 바이브로 이어나갈수도 있겠지만 여러번 묻고고치는것이 번거로워 한큐에 개발및 유닛테스트 테스트클라이언트 까지 뽑는 플래닝 자율주행모드로 시도되었습니다. |
시작템플릿
- 초기구성 깡통 API를 어플리케이션을 만드는것은 큰 어려운것은 아니니~ 초기셋팅은 집적진행
- 그냥 IDE가 제공하는 템플릿을 클릭만하면 되는것을~ 굳이 이거 안하고자 요청하면 시간낭비만 더하는듯 ( IDE가 잘하는것은 그냥 IDE에 맡김)
- 유닛테스트는 자율로 만들예정이며 솔루션은 프로젝트와 구분해주는게 좋습니다. - 닷넷특성
- 자바/코틀린의 경우 src하위에 유닛테스트가 포함되는 케이스여서 프로젝트와 함께 관리됩니다.
...
| Code Block | ||||
|---|---|---|---|---|
| ||||
# 프로젝트 생성지침 PushServiceNet/PushServiceNet.csproj 기본 API프로젝트가 작성되어있으며 이 베이스로 기능을 추가하고자합니다. ## 핵심기능 설명 - SSE(Server-Sent Events) 기능을 활용해 푸시 서비스를 만들고 싶습니다. - 서버는 토픽에서 실시간 이벤트를 발행할수 있습니다. - 접속하지 못한 사용자를 위해 다음 접속시 과거 발생된 토픽을 최근 100개까지, 토픽별로 저장하고 싶습니다. - Push는 Post방식으로, SSE수신은 Get방식으로 처리합니다. - 토픽에 관련된 상태처리는 액터모델이 사용자 ID별로 처리합니다. ## 유닛테스트 - PushServiceNetTest 프로젝트를 추가하여 유닛테스트를 작성합니다. - 사용자1번이 토픽 A를 구독하고, 사용자 2번이 토픽 B를 구독한후... 토픽A에게 메시지를 발생하면 사용자 1번만 수신받습니다. - 사용자3번이 서버메시지 발생후 늦게 접속하면... 사용자3번은 과거 발생 토픽을 최대 100개이내에서 받을수 있습니다. ## 테스트 클라이언트 - 유닛테스트가 성공하면 그 기반으로 추가로 테스트 웹클라이언트도 작성해주세요 - wwwroot/index.html 에서 SSE를 테스트할 수 있는 클라이언트 기능도 추가하고 싶습니다. - 클라이언트는 왼쪽/오른쪽 두가지뷰가 있으며 왼쪽화면은 SSE를 수신받는 클라이언트 , 오른쪽뷰는 SEE를 발생하는 클라이언트입니다. ## 사전지식 - Docs/Guides 하위폴더의 샘플코드및 문서를 먼저 학습하세요 |
- Docs/Guides
- akka.net 이용하는경우 이 코드를 받아서 지식으로 압출풀면되겠습니다.
- 이코드를 받아서 지식으로활용
- 코틀린에서 akka오픈(pekko) 이용하는경우
- 시도하고싶은 오픈소스 샘플코드가 있다고하면 유사한 형태로 하위에 그냥 때려박으면 되겠습니다.
- 과거에는 오픈소스를 해석하고 실험하고 했다고하면 여기서의 컨셉은~ 좋은 코드컨셉이 있다고 느낌이오면 샘플코드를 넣어 고급패턴을 바로 이용하는 전략입니다.
- akka.net 이용하는경우 이 코드를 받아서 지식으로 압출풀면되겠습니다.
...
지침에 작성해고 수행해죠하면~ 유닛테스트를 수행하면서 고쳐주지만, 작성만 하라고 했으니 요청한 내용대로 작성을 한듯
- AI가 검수는 사람에게 맡겼으니 수행
- 의존성에러가남
- 의존성 버전을 못맞춰서 오류를 일으킴 : 빌드언어의 특징이기도 한데 오류내용 복붙해서 고쳐달라고하면 고쳐줌
...
- AI가 어플리케이션도 잘 작성했는지? 유닛테스트 검사가 끝났으니~어플리케이션수행
- 참고로 플레이버튼 누르지말고, 디버깅모드로 진입할것
- 런타임 오류들 복붙해서 에러나면 개선요청해야함
- 참고로 플레이버튼 누르지말고, 디버깅모드로 진입할것
실행화면
- Swagger를 살펴보니 원하는 API를 잘 구분해 뽑은듯
...


