필요성| 실시간 모니터링 어플리케이션을 개발하다 보니 화면과 무관한 로직이 빠르게 늘어났다. 시작 시 공통 코드 조회, 로그인 상태 검증, 사용자 정보 동기화, 서버 알림(SSE) 구독, 서버 시간 조회, timeline 재생 중 매 프레임 시간 진행 시키는 루프 등. 이런 로직은 화면에 속하지 않는 비지니스 로직이다. 대부분 App.tsx에 훅 호출이 쌓이거나 레이아웃 컴포넌트 안에 숨어 들어간다. 보기 힘들고 유지보수하기가 까다로워 UI를 렌더링 하지 않는 컴포넌트로 모아 구현하기로 생각했다. const App = () => { useCmmnInit(); useSSE(); useMyInfoSync(); useAuthGuard(); useInitTimelineServerNow(); retur..