배포 프로세스 개선 - gulp watch와 이미지 최적화

2023. 12. 10. 21:27Web Frontend

필자는 실무에서 이런 경우가 있었다.

신규 운영 프로젝트가 맡게 되었고, gulp를 통해서 배포 파일을 생성하면 모든 이미지를 최적화하느라 20분 이상 컴퓨터를 갉아먹는 행위를 하고 있었다.

 

여러 고심 끝에 현재 이미지 최적화된 모든 이미지를 원본 이미지로 교체하였고

배포할 때 모든 이미지를 최적화하는 프로세스를 제거했다.

 

그리고 앞으로 최적화할 이미지들은 FastStone Photo Resizer 프로그램을 통해서 일괄 최적화 진행하는 방식으로 진행할 예정이다.

 

watch()를 활용하여 이미지를 업로드하면 해당 이미지가 자동으로 최적화되어 교체되도록 하려 했으나 해결하지 못했다.

예를 들어, 이미지 수 십 개를 붙여 넣으면 이미지 한 개 처리될 동안 최적화를 이용하지 못할 수 가능성이 컸다. 이유는 플레그 패턴을 활용하여, 이미지가 바뀌면 해당 함수가 끝날 때까지 watch가 작동 안 되게 처리할 수 있지만,

그동안 수정/추가된 이미지들은 최적화를 못하게 된다.


하나씩 이미지를 넣으면서 완료되면 다시 넣는 방식으로 만들 수 있지만 너무 비효율적이다.

 

많은 이미지 파일을 한꺼번에 넣을 경우 gul watch를 통해서 컨트롤이 가능할지 해결책을 찾는데 많은 시간이 걸릴 것 같고 이미 검증된 프로그램을 사용하는 게 더 효율적이라...

 

이번 과제는 여기서 일단락하기로 한다.