Skip to content

Comments

유사도 계산 기능, 정답 채점 기능 구현#29

Merged
hye-on merged 7 commits intomainfrom
feat/answer
Mar 12, 2025
Merged

유사도 계산 기능, 정답 채점 기능 구현#29
hye-on merged 7 commits intomainfrom
feat/answer

Conversation

@hye-on
Copy link
Owner

@hye-on hye-on commented Mar 12, 2025

🔗 관련 이슈

resolves #25 #28

📝 작업 내용

  • 서버 초대 시 회원가입하는 기능을 구현하였습니다.
    • 여러 서버에서 초대할 수 있게 하기 위해 유저 테이블을 수정하였습니다.
      • 유니크 칼럼 수정 (디스코드유저 아이디 - {디스코드 유저 아이디, 길드 아이디})
  • 정답 채점하고 채점 결과를 전달하는 기능을 구현하였습니다.
    • 채점 모듈을 전략패턴으로 구현하여 적절한 채점 전략을 선택하게 하였습니다.
  • 서술형 문제 시 유사도를 계산하는 기능을 구현하였습니다.
    • 유사도 계산 모듈을 전략패턴으로 구현하여 적절한 유사도 계산 방법을 선택할 수 있게 하였습니다.
    • 유사도 계산 방법은 jaccard-index로 구현하였습니다.
    • redis, open ai, elasticsearch등 의 방법을 추가할 예정이고, 크레딧 소진등의 이유로 런타임에 전략을 바꿀 가능성이 있어
      전략패턴을 사용하였습니다.
  • 모달이나 메시지에 문제 아이디를 넣을 수 있는 깔끔한 방법이 없어 디스코드 메시지를 저장하는 테이블을 만들었습니다.
    • (커스텀 아이디에 넣을시 problem_answer_3 이런식으로 추가하고 파싱해서 사용하는 방법이 있었습니다.)
  • 디스코드 모듈의 서비스 성격의 파일들이 폴더 구조가 복잡하여 한 뎁스 줄여서 단순화 하였습니다.
    • 한 폴더에 거의 1개씩 들어있어서 분류의 이점보다 복잡도가 늘어나서 찾기 어렵다고 느꼈습니다.
    • ex) gateway/discord.gatewaty.ts -> discord.gatewaty.ts


📸 스크린샷

빈칸 문제 채점 결과

이미지 1 이미지 2

서술형 문제 채점 결과

이미지 1 이미지 2

@hye-on hye-on added the feature New feature or request label Mar 12, 2025
@hye-on hye-on self-assigned this Mar 12, 2025
@hye-on hye-on merged commit 8287e25 into main Mar 12, 2025
1 check passed
@hye-on hye-on deleted the feat/answer branch March 12, 2025 13:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

정답 제출 기능

1 participant