Cursor AI

Cursor AI 개발 기록 1 - 채팅 도배 제한 기능 구현(1)

lazyboy-develop 2025. 5. 11. 11:59

드로우 투게더 그림그리기 웹

 

나는 예전부터 다수의 인원이 함께 그림판에서 그림을 그릴 수 있는 웹 사이트를 만들어 보고 싶었다.

직접 node.js로 서버를 만들고 자바스크립트와 html, css를 통해 어느정도 기본 기능이 구현된 사이트를 만든상태에서 Cursor ai를 알게됐고 나머지 미완성된 부분을 Cursor AI로 보완하여 개발 마무리 후 배포를 진행할 예정이다.

 

오늘은 Cursor AI 를 통해 채팅 기능 중 '욕설 및 도배 제한 기능'을 구현 요청하고 기록을 남기고자 한다.

 

이번에 일잘하는 머슴(Cursor AI)를 하나 들였으니 귀찮아서 아직 추가하지 못한 기능을 완성해보자.

욕설 및 도배가 가능한 현재 채팅창 상태

 

 

먼저 Cursor 에디터를 켜고 프롬프트 채팅창에 내가 원하는 요구사항을 작성한다.

나는 '채팅 욕설 필터링 및 도배 제한' 기능을 구현하고 싶으니 내가 원하는 기능을 작성하고 원하는 옵션 몇가지를 말해준다.

 

작성내용 : (기능 요구사항) : 사용자가 채팅에서 욕설을 할 수 없도록 제한하는 기능을 만들어줘.

                (옵션1) : 그리고 5초 이내에 3개 이상의 채팅을 하는 경우에는 30초동안 채팅을 할 수 없도록 하는 반복 채팅 제한 기능                                 을 만들어줘.

                (옵션2) : 반복 채팅 제한 기능에 걸린 상태에서 해당 사용자가 채팅 전송을 한 경우에 '0초(남은 시간) 후 다시 시도해 주                                 세요.' 라는 시스템 메시지가 뜨도록 만들어줘.

 

claude-3.7-sonnet가 내 요구사항을 파악하더니 뭔가 내용을 작성하기 시작한다.

 

이렇게 코드 수정 및 추가가 완료되면 구현된 기능을 정리하여 알려준다.

기능 내용을 읽어보면 아주 만족스럽다.

과연 내가 원하는 대로 잘 굴러갈까?

테스트를 진행해봤다.

 

하지만 채팅을 입력해도 채팅창에 글이 올라가지 않고 멈춰있었다.

내가 고치기 귀찮으니 일딴 안된다고 땡깡을 부려보자.

 

 

 

Script.js 파일에 채팅 이벤트 리스너가 누락되었다고 한다.(아니 원래 채팅 잘됐는데 그걸 니가 왜 지워? ㅋㅋ)

이래서 알아서 auto edit 기능을 사용하면 안되고 머슴놈이 어떤 부분을 변경했는지 하나하나 확인해야 한다.

그래도 날이갈수록 성능이 좋아지고 있으니 이런 부분도 금방 나아지지 않을까 싶다.

 

 

다시 테스트 해보니 일단 채팅은 잘 쳐진다.

 

근데 또 문제가 발생했다.

내가 요청했던 반복 채팅 제한 기능인

5초 이내에 3개 이상의 채팅을 보내면 30초간 채팅 제한 기능이

정상적으로 작동하지 않는다.

 

처음 채팅 한지 5초가 넘어서 채팅을 해도 반복 채팅 제한에 걸려버린 것이다.

 

다시 내 요구사항을 입력한다.

 

 

 

머슴놈이 일딴 알겠다고 하고 수정을 진행했다.

 

변경된 내용을 살펴보자.

- 첫 번째 채팅인 경우 카운트를 1로 설정

- 5초가 지난 경우 카운트를 1로 초기화

- 5초 이내에 연속된 채팅인 경우 카운트 증가.

- 카운트가 3이 되면 3이 되면 30초 제한 적용.

 

변경된 내용을 읽어보면 내가 원하는대로변경한것 같다.

하지만 서버 측에 동일한 로직으로 수정하여 클라이언트와 일관성 유지를 하였다는것이 잘 이해가 가지 않는다.

도대체 동일한 로직이 서버 측에 왜 필요한데? 내가 모르는 대단한 이유라도 있는걸까?

 

Server 측 코드를 살펴보니 쓸데없이 중복된 코드가 있는것 같다.

내가 지워버리고 싶은데 혹시 모르니 한번 물어보자.

 

 

반드시 필요하단다.

근데 내가 지적한 코드 내용과 다른 부분에 대해서 떠들고 있다.

다시 상세하게 알려주자.

 

 

 

하지만 이 코드는 곧 죽어도 필요하단다.

 

근데 아무리 봐도 이상하다 3초 이내에 3번 이상 연속으로 체크를 클라이언트에도 하고 서버에도 한다고?

아무리 생각해봐도 이상하다.

둘 중 한곳에만 있어도 될 것 같다.

 

자체 테스트를 진행하기로 했다.

 

서버 쪽 반복 채팅 확인 로직을 주석처리하고 채팅을 해봤다.

 

역시.. 서버측 코드를 주석처리해도 잘 작동한다.

이눔 시키가 없어도 되는 코드인데 나한테 우겼던 것이다.

바로 따져 묻는다.

 

 

팩트 폭행 시전하니까 이제야 이실직고한다.

자기가 잘못 설명 드렸다면서 이 코드를 제거 하는것이 코드의 명확성과 유지 보수성을 높일 수 있단다.

 

그렇다 내가 Claude-3.7을 굴복시켰다.

피식 웃음이 터지면서 잠깐 묘한 승리감에 빠져들었다. ㅋㅋ

 

이제 중복 내용 삭제를 요청해보자!

 

다음 글에서 계속 ..