경험 중심 1인칭 답변
알림함 프론트엔드를 설계할 때 제가 가장 먼저 고려하는 것은 실시간성과 읽음 상태 동기화입니다. 알림은 여러 기기나 탭에서 동시에 접근할 수 있기 때문에, WebSocket이나 SSE를 통한 실시간 푸시를 기본으로 하고, 연결이 끊어졌을 때 폴링 폴백을 설계합니다. 읽음 처리는 서버 상태와 로컬 UI 상태를 낙관적 업데이트(Optimistic Update)로 동기화해 UX 지연을 없애되, 실패 시 롤백합니다. 목록 렌더링에서는 무한 스크롤과 가상화(windowing)를 적용해 수백 건 이상의 알림도 성능 저하 없이 표시합니다. 또한 알림 유형(타입)별 아이콘·색상·액션 라우팅을 컴포넌트 단위로 분리해 새로운 알림 유형 추가 시 변경 범위를 최소화하는 구조를 선호합니다. 앞으로도 실시간 동기화·낙관적 업데이트·알림 유형 컴포넌트 분리를 알림 시스템 설계의 기본 축으로 다루겠습니다.
연결 장애 시 폴백 구조를 미리 설계하는 것이 실서비스 안정성을 결정합니다.