LiveReload 와 Hot Deploy

이도형·2025년 12월 8일

LiveReload

"브라우저 자동 새로고침"

  • HTML, CSS, JS와 같은 정적 리소스를 저장하면 브라우저를 자동으로 새로고침해 주는 기능
  • 브러우저 확장 프로그램이나 스크립트가 파일 변경 이벤트를 받아 페이지를 리로드
  • 서버를 다시 기동하지 않아도 화면 변경 바로 확인 가능
  • Spring Boot DevTools의 경우 내장 LiveReload 서버가 리소스 변경 감지해 브라우저 확장 프로그램에 알리는 방식으로 동작

Hot Reload와 비교

  • Hot Reload : 소스 코드 수정하고 저장할 때, 전체 애플리케이션 종료/재시작 하지 않고 변경된 부분만 런타임에 교체
  • LiveReload는 보통 파일이 바뀌면 브라우저를 통째로 새로고침하지만, Hot Reload는 변경된 모듈만 교체해서 새로고침
  • 애플리케이션 상태 유지할 수 있다는 장점
  • 활용 : React/Vue의 HMR, React Fast Refresh, Flutter, Python 웹 프레임워크

Hot Deploy

"서버 재기동 없이 코드 반영"

  • 애플리케이션 컨테이너가 서버 프로세스를 중단하지 않고 새로운 코드/배포물을 다시 올리는 기능
  • WAS가 변경된 애플리케이션 자동 배포하여 서비스 중단 없이 새로운 버전 적용 (IDE 기능이 아니라 컨테이너 기능)

Hot Swap 과의 비교

  • Hot Swap : JVM 단위에서 변경된 클래스 바이트코드를 교체하는 것 (디버그 모드에서 메서드 내부 수정)
  • Hot Reload : 코드 변경을 감지해 애플리케이션 자동 재시작하거나 모듈만 교체해 상태를 유지한 채 반영하는 기능 (프론트 HMR, Spring DevTools)

Live Reload vs. Hot Deploy

개발에서의 적용

  • 일반적인 Web 개발 환경에서는 LiveReload를 먼저 적용하고, 필요하면 Hot Deploy 적용을 고려해야한다
  • Local 개발 생산성이 먼저라면 : LiveReload / Hot Reload / DevTools 자동 재시작이 중요
  • 배포 전략 나중 : 실제 서버에서 다운타임 줄인ㄴ 것이 필요해질 때 Hot Deploy 설계
profile
열심히 살고 싶습니다! 일하고 싶습니다 :)

0개의 댓글