daadaadaah / review-study-app

0 stars 0 forks source link

사례 2. 데이터 전송 방식 변경(텍스트 기반 방식 -> 파일 첨부 방식)으로 최대 글자수 초과 문제 해결 #79

Open daadaadaah opened 3 months ago

daadaadaah commented 3 months ago

문제

해결과정

[개요]
1. 에러 메시지 해석
2. 원인 파악
3. 다양한 해결방법 모색
4. 최종 해결책 선택
5. 추가 보완점 개선 : Excel 파일 제한

1. 에러 메시지 해석

2. 원인 파악

3. 다양한 해결방법 모색

방법 1. 메시지를 2000자 단위로 쪼개서 전송
장점 1.간단한 구현: 메시지를 일정한 크기로 쪼개서 전송하는 것은 비교적 간단합니다.
단점 1.UI 불편: 디스코드에서 쪼개진 메시지가 여러 개로 나뉘어 표시되므로, 읽기 불편할 수 있습니다.
2.논리적 연결성 부족: 메시지가 끊어지면서 중요한 정보의 흐름이 중단될 수 있습니다.
3.Google Sheets 저장 시 필드 정리 및 추가 작업 필요: Google Sheet로 저장시, 필드 정리 같은 추가적인 작업이 필요합니다.
방법 2. 필드 단위로 쪼개서 전송
장점 1. 정보의 가독성 증가: 관련 정보를 그룹화하여 개별 필드로 나누면, 가독성이 향상될 수 있습니다.
2. 논리적 구조 유지: 정보를 필드로 구분하여 논리적 연결성을 유지할 수 있습니다.
단점 1. 복잡한 구현: 데이터를 적절하게 필드로 나누고 전송하는 과정이 다소 복잡할 수 있습니다.
2. 디스코드 필드 제한: 디스코드 필드에도 제한이 있어, 많은 필드가 필요하면 제한에 도달할 수 있습니다.
3. Google Sheets 저장 시 필드 정리 및 추가 작업 필요 : Google Sheet로 저장시, 필드 정리 같은 추가적인 작업이 필요합니다.
방법 3. 메시지에는 파일명을 보내주고, 데이터가 저장된 파일 첨부하여 전송
장점 1. 글자수 제한 문제 해결: 파일로 첨부하면 메시지 글자수 제한을 신경 쓰지 않아도 됩니다.
2. 정보 전달의 명료성: 로그 데이터나 기타 긴 내용을 파일로 전달하면, 디스코드에서 정보가 명확하게 구분됩니다.
3. Google Sheets 저장 시 간편함 : 만약, Excel 파일일 경우, Google Sheet로 저장시, 필드 정리 같은 추가적인 작업이 필요없이 그대로 복사 붙여넣기 하면 됩니다.
단점 1. 파일 크기 및 갯수 제한 : 파일 크기 및 갯수의 제한이 있을 수 있습니다.
2. 별도 파일 열기 필요: 방법 1과 방법2와 달리, 사용자가 파일을 열어봐야 하는 번거로움이 있습니다.
3. 파일 형식 호환성 : 파일 형식에 따라 사용자가 추가적인 프로그램이 필요할 수 있습니다.

4. 최종 해결책 선택

(1) 저장 실패 로그 데이터 알림 메시지의 특징 또는 조건(?)

특징 1. 로그 데이터의 경우, 최종적으로 Google Sheets 에 저장되어야 하므로, 개발자가 수동으로 Google Sheets에 저장하기 쉬운 구조면 좋다.
특징 2. 알림 메시지를 보고 문제를 파악해야 하므로, 한번에 파악하기 쉽게 UI도 개발자 친화적이어야 한다.
특징 3. 로그 데이터의 경우, 크기와 형식이 매우 다양하게 존재할 수 있으므로, 유연한 구조면 좋다.
특징 4. 디스코드로 1개 파일 최대 크기인 25MB로(참고) 이하이어야 한다.
특징 5. 디스코드로 1번에 보낼 수 있는 최대 파일 갯수는 10개로(참고), 이 값 이하 이어야 한다.

디스코드로 한 번에 보낼 수 있는 파일 크기 (참고) 디스코드로 한 번에 보낼 수 있는 파일의 갯수 (참고)

(2) 방법 3이 적합하다고 생각한 이유

  1. [특징 1] 관점에서 보면, 방법 1과 방법 2는 Google Sheet로 저장시, 필드 정리 같은 추가적인 작업이 필요해서, 번거로움이 있습니다. 반면, 방법 3은 만약, Excel 파일일 경우, Google Sheet로 저장시, 필드 정리 같은 추가적인 작업이 필요없이 그대로 복사 붙여넣기 하면 되는 편리함이 있습니다.
  2. [특징 2] 관점에서 보면, 방법 1과 방법 2의 경우, 메시지 단위든 필드 단위든 쪼개져서 보이므로, UI가 불편하다는 단점이 있습니다. 반면, 방법 3은 디스코드에서 로그나 긴 내용을 하나의 파일로 제공함으로써 메시지가 산만해지지 않고, UI도 깔끔하게 유지되는 장점이 있습니다.
  3. [특징 3] 관점에서 보면, 방법 1과 방법 2는 데이터의 크기나 형식에 따라 고정된 구조를 가지므로 유연하지 못한 단점이 있습니다. 반면, 방법 3의 경우, 다양한 크기와 형식의 로그 데이터를 파일로 저장하여 전송할 수 있어 데이터의 유연성을 보장할 수 있다는 장점이 있습니다.
  4. [특징 4] 관점에서 보면, 파일 크기 제한의 범위에서 방법 3이 방법 1과 방법 2보다 더 유연합니다. 메시지 글자수에 대한 고민 없이 모든 정보를 하나의 파일로 전달할 수 있으며, 파일이 25MB를 초과하지 않는 한 문제 없이 전송 가능합니다. 이와 같은 방식은 필요 시 데이터를 더 큰 단위로 관리할 수 있도록 해줍니다.
  5. [특징 5] 관점에서 보면, 디스코드에서 한 번에 보낼 수 있는 최대 파일 갯수가 10개이기 때문에, 만약 로그 데이터가 여러 개의 파일로 나뉘어 전송되어야 한다면, 이 제약 내에서 처리할 수 있습니다. 만약 파일이 10개를 초과하는 경우, 추가 전송을 통해 문제를 해결할 수 있어 실질적으로 큰 문제가 되지 않습니다.

(3) 첨부할 파일 형식으로 Excel을 선택한 이유

5. 추가 보완점 개선 : Excel 파일 제한

(1) 문제

(2) 해결책

(3) 결과

6. 최종 구현 (관련 PR)

성과

1. 디스코드 메시지의 글자 수 제한 문제 해결

2. 개발자 편의성 향상

3. 시스템 유연성 강화