본문 바로가기

IT 관련/javascript & jquery

javascript 자동화

나는 10초면 할 수 있는 일을 자동화하려고 온종일 프로그래밍하는 건 좋아하지 않는다.

 

2000년도 이전가지는 형상 관리 서버에 저장한 자바스크립트 파일을 주석까지 포함해서 그대로 배포하는 일이 많았습니다. 마치 미러링처럼 로컬에 10개 파일이 있으면 서버에도 똑같이 10개의 파일이 있었습니다. 따라서 로컬 파일과 서버 파일이 완벽히 같아서 변경사항을 빠르게 적용할 수 있었습니다. 이렇게 파일이 서버에 그대로 배포되어 있다 보니 이른바 '소스보기' 시대가 열리게 되었고 많은 웹 개발자가 웹사이트에 접속해 웹 페이지의 소스를 보며 공부하는 시기이기도 했습니다.

 

당시 자바스크립트는 요즘과 비교해서 용량이 굉장히 작았습니다. 오늘날 최신 웹 어프리케이션은 자바스크립트 코드가 수천 줄에 달하고 코드를 작성하는 개발자는 수십 명 이상이지만 이때는 한 개발자가 보통 코드 100여 줄을 작성했습니다. 물론 과거의 개발 방식은 현재와는 맞지 않습니다.

 

규모가 큰 웹 어플리케이션뿐만 아니라 작은 웹 어플리케이션도 자바스크립트 파일 처리를 자동화하고 있습니다. 웹 어플리케이션 스텍에서 자동화는 흔한 일이지만 2005년 전까지는 자바스크립트에서 크게 주목을 받지 못했습니다.

그러나 유지보수를 생각한다면 전체 웹 어플리케이션 자동화 시스템에 자바스크립트를 추가하는 건 상당히 중요합니다. 또한 자동화 시스템이 지금까지 시스템의 다른 부분에서 안전장치 역할을 해왔는데 이런 안전장치를 자바스크립트에도 둘 수 있다는 장점이 있습니다.

 

자동 빌드 시스템 적용의 장단점

자바스크립트에 자동 빌드 시스템을 적용하면 다음과 같은 장점이 있습니다.

  • 형상 관리 서버에 저장한 코드가 배포할 코드와 똑같을 필요가 없다. 즉 서버에서 사용하기에 최적화됐는지 고민할 필요 없이 원하는 대로 형상 관리 서버를 설정할 수 있다.
  • 에러를 찾기 위해 자동으로 정적 검사를 수행할 수 있다.
  • 배포 전 자바스크립트 파일을 합치거나 최소화할 수 있고 그 외 어떤 방법으로든 원하는 대로 처리를 할 수 있다.
  • 테스트 자동화로 문제 원인을 쉽게 찾을 수 있다.
  • 자동 배포로 실제 서버에 배포하기가 쉬워진다.
  • 일반적인 작업을 쉽고 빠르게 재실행할 수 있다.

자동화했을 때 단점은 다음과 같습니다.

  • 개발 환경에서 코드를 수정하면 반드시 로컬 빌드를 수행해야 한다. 이런 이유로 그동안 로컬 빌드를 따로 하지 않고 코드 수정 후 브라우저를 새로고침해서 수정 내용을 확인해오던 개발자는 잘 적응하지 못하기도 한다.
  • 실제 서버에 배포된 코드가 개발할 때의 코드와 모습이 달라 버그를 추적하기가 어려워진다.
  • 기술적으로 경험이 부족한 개발자는 이러한 빌드 시스템 사용에 어려움이 있을 수도 있다.

개인적 경험으로는 자동화 시스템을 갖춰서 얻을 수 있는 이점이 단점보다 훨씬 많습니다. 물론 자동화 시스템을 도입하면 코드 수정 후 로컬 빌드를 수행해야 해서 번거롭다는 이유로 싫어하는 개발자도 있지만, 그 장점을 깨달으면 생각을 바꾸게 되리라 봅니다.

 

그럼 이만.

끝.