프로젝트 개요
공장 설비 데이터를 100ms 주기로 수집하여 실시간 그래프와 AI 분석 결과를 제공하는 Web Application 개발.
- CPU 온도, 로봇 토크, 속도, 진공 패드 압력 등의 데이터를 실시간으로 시각화.
- AI 분석 결과로 설비 이상 상태를 판별하고 시각적 Effect로 사용자에게 즉각 알림 제공.
- 실시간 가동률, 배터리 상태, 공구 사용량 등의 정보 제공.
- 기간별 통계 차트, 이상 감지 이력, 공구 교체 데이터 등 상세 데이터 조회 및 관리 기능 포함.
주요 성과 및 역할
- Grid 데이터 호출 프로세스 최적화
- 실시간 데이터 처리 및 통신 구현
- 시각화 및 대시보드 개발
- 사용자 인증 및 권한 관리
- REST API와 백엔드 연동
- 데이터 관리 및 조회 기능
주요 트러블슈팅 경험
- 실시간 차트 버벅임 문제 해결
- 문제
- 실시간 차트 구현 중 데이터가 Buffer에 무제한으로 누적되어 Web Application 실행 시간이 길어질수록 성능 저하 및 버벅임 발생.
그로 인해 메모리가 계속해서 증가하는 현상
- 해결:
- 최대 데이터 보관량을 설정하여 오래된 데이터를 순차적으로 제거하는 로직 추가.
- 데이터 누적 문제를 완화하여 장시간 실행에도 안정적인 성능 유지.
- 차트 렌더링 방식 개선
- 문제
- 데이터 수신 시마다 차트를 업데이트하던 기존 방식에서, 일정 시간(100ms) 간격으로 x축을 흘러가게 하고 싶었음.
- 해결
- 시간 기반 차트 업데이트 방식으로 전환.
- 데이터를 일정 간격(100ms)으로 렌더링하여 부드러운 시각적 흐름 제공.
- 알람 표시 오류 해결
- 문제
- 알람이 연속적으로 발생할 경우, 설정한 주기와 상관없이 알람 표시 주기가 불규칙하게 작동.
- 원인
- 기존의 setInterval을 명확히 관리하지 않고 중복 등록되어 문제 발생.
- 해결
- 알람 발생 시 기존 setInterval을 명시적으로 clear하도록 수정.
- 불필요한 중복 호출 제거로 안정적인 알람 표시 기능 구현.