Skip to content

릴리즈 노트 v1.2.0

Choose a tag to compare

@uuuo3o uuuo3o released this 06 Feb 13:50
· 146 commits to develop since this release
0691c0d

📖 릴리즈 노트 v1.2.0

[FE]

1. 점이 경계선 안에 있는지 확인하는 메소드 구현 #58

  • 목표
    • 바운더리 안에 존재하는 선 제거 CRDT 메시지 생성
  • 문제
    • 공용 캔버스의 바운더리 기준으로 모든 선 제거 시 불필요한 삭제 발생 가능
    • 개인 캔버스의 바운더리와 겹치는 공용 캔버스 바운더리 처리 기준 필요
  • 해결
    • isPointInBoundary 메서드 구현하여 점이 바운더리 안에 포함되는지 판별
    • 개인 캔버스의 바운더리와 겹치는 공용 캔버스 바운더리 제거
    • 필터링된 바운더리를 기준으로 선 필터링 후 CRDT SYNC 메시지 생성
  • 결과
    • 공용 캔버스의 바운더리를 필터링하여 안전한 삭제 가능
    • 필요한 선만 제거하는 CRDT 메시지 생성

2. 테스트 데이터 생성 및 플레이라이트 테스트 코드 작성 #60

  • 목표
    • E2E 테스트를 위한 테스트 데이터 생성
    • 플레이라이트 테스트 코드 작성
  • 문제
    • E2E 테스트를 통해 보다 안정적인 소프트웨어 제작 가능
  • 해결
    • 테스트 데이터 생성하여 일관된 환경 제공
    • 플레이라이트 테스트 코드 작성하여 자동화 진행
    • 테스트 실행 방법 정리하여 재현 가능하도록 구성
  • 결과
    • drawing-text.spec.ts 실행을 통한 UI 테스트 가능
    • OCR 설정 후 로컬에서 E2E 테스트 실행 가능

3. 다른 사람의 그림이 안보이는 오류 해결 #61

  • 목표
    • 다른 사용자의 그림이 보이지 않는 오류 수정
  • 문제
    • 다른 사용자의 그림이 실시간으로 표시되지 않는 문제 발생
  • 해결
    • gameSocketsharedWorker로 넘어가 조건을 제대로 체크하지 못함
    • 이를 반영해 useDrawingSocket에서 gameSocket과 관련된 코드를 삭제
  • 결과
    • 다른 사용자의 그림이 실시간으로 정상적으로 표시됨

[BE]

1. 서버에서 가상 캔버스에 그림 그리기 #52

  • 목표
    • 서버에서 가상 캔버스에 그림을 그리고 이를 base64 형식의 JPEG 이미지로 변환
  • 문제
    • 클라이언트가 보내는 이미지에서 글자가 발견될 때 이를 지워야 함
    • Node.js 환경에서 브라우저의 Canvas API를 사용할 수 없음
  • 해결
    • pureimage 라이브러리를 이용해 이미지로 변경
    • 게임 방마다 LWWMap 관리
    • 각 플레이어마다 캔버스에 그림을 그리고 이를 base64 형식의 JPEG 이미지로 변환
  • 결과
    • 서버에서 신뢰할 수 있는 방식으로 가상 캔버스에 그림을 그리고 이를 이미지로 변환하여 활용 가능
    • 이미지를 바탕으로 OCR를 할 수 있음

2. 버그가 의심되는 멀티서버, Redis 어댑터 관련 설정 롤백 #55

  • 목표
    • 멀티서버 및 Redis 어댑터 설정으로 인한 버그 의심으로 기존 설정으로 롤백
  • 문제
    • 멀티서버 및 Redis 어댑터 설정 이후 발생한 예상치 못한 버그
  • 해결
    • Redis 어댑터 적용을 이전 방식으로 롤백
    • Nginx 설정 및 Docker 설정을 이전 방식으로 롤백
  • 결과
    • 멀티서버 및 Redis 어댑터 설정 이전의 안정적인 상태로 복원