Skip to content

트러블 슈팅 view All

Jiyeon Baek edited this page Dec 6, 2024 · 7 revisions

트러블 슈팅

탐구, 가설, 검증, 개선 단계에서 겪었던 문제들을 확인할 수 있습니다.

📌 FE

❓ 불필요한 prop-types 검사로 인한 eslint 에러

  • 문제: FE 코드에서 prop-types를 불필요하게 검사해 ESLint 에러가 다수 발생.
  • 해결: ypeScript가 타입 체크를 수행하므로, .eslintrc에서 react/prop-types 규칙을 비활성화하여 불필요한 검사를 제거.
    불필요한 prop-types 검사로 인한 eslint 에러

❓ Chrome 자동 재생 문제

  • 문제: Chrome의 정책상 음소거되지 않은 영상은 사용자 상호작용(클릭, 탭 등)이 없으면 자동으로 재생되지 않음
  • 해결: muted 속성을 사용해 초기에 음소거 상태로 비디오를 자동 재생하고, 사용자에게 음소거 해제 버튼을 제공하여 수동으로 소리를 켤 수 있도록 구현.
    Chrome 자동 재생이 안되는 문제

❓ requestAnimationFrame의 콜백함수 재귀호출로 인한 부하 문제 해결

📌 BE

❓ FFmpeg를 이용한 실시간 HLS 변환에서 CPU 과부하 발생

  • 문제: WebM 영상을 HLS로 실시간 변환하면서 CPU 사용량이 급격히 증가해 스트리밍 품질 및 녹화 영상에 문제가 발생.
  • 해결: 실시간 변환 대신 WebM 원본 저장 후, CPU 부하가 낮을 때 큐를 통해 순차적으로 HLS 변환을 수행. 방송 녹화 시 CPU 과부하 문제를 해결해보자

❓ Git Action에서 도커 이미지 빌드 시간 단축

❓ Docker 이미지가 너무 크다

  • 문제: 불필요한 파일 및 레이어가 포함되어 Docker 이미지 크기가 비정상적으로 커짐.
  • 해결: 멀티스테이지 빌드 전략을 활용해 최종 이미지를 경량화.
    Docker 이미지가 너무 크다

❓ Mediasoup 포트 매핑 문제

  • 문제: Mediasoup의 포트가 올바르게 매핑되지 않아 스트림 연결이 실패
  • 해결: ACG와 Docker Compose 설정에서 포트를 명시적으로 매핑하여 문제 해결
    mediasoup 포트 매핑 문제

❓ Docker compose를 이용해서 메모리 사용률을 줄여보자

❓ Sudo가 계속 비밀번호를 요청함

  • 문제: GitHub Actions 또는 배포 스크립트 실행 시 sudo 명령어가 비밀번호를 계속 요청함.
  • 해결: 서버에서 sudo visudo 명령어를 사용해 비밀번호 입력을 생략하도록 설정.
    Sudo가 계속 비밀번호를 요청함

❓ Swagger 같은 응답 코드에 다양한 응답 보여주기

  • 문제: Swagger에서 동일한 엔드포인트에 대해 다양한 응답 형식을 보여주는 데 한계 발생.
  • 해결: Swagger의 @ApiResponse를 활용해 응답 코드를 다중으로 정의하고, 구체적인 응답 예시를 추가.
    swagger 같은 응답 코드에 다양한 응답 보여주기

👥 팀 강점

🧑‍💻 개발 일지

📌 ALL

📌 FE

📌 BE

💥 트러블 슈팅

📌 FE

📌 BE

🤔 고민

📚 학습 정리

📌 김광현

📌 백지연

📌 전희선

📌 한승헌

🤝 회의록

🗒️ 데일리 스크럼

💬 팀 회고


👨‍👩‍👧‍👦 소개

🌱 문화

🔨 기술 스택

⚙️ 서비스 아키텍쳐

🚧 CI/CD

🌊 Flow

💭 6주를 보내면서

Clone this wiki locally