시스템 이해의 중요성

Namlulu·2021년 11월 30일
0

개발습관

목록 보기
2/2

배경 설명

이전에 SITEMAP 생성기를 개발할 때, Nuxt팀에서 제공하는 라이브러리를 활용해서 개발을 진행했다. 그 당시에 메모리 부족으로 터지는 현상이 있었는데, 그 라이브러리 내에서 모듈시스템, 코드 리팩토링을 통해서 해결했었다. 하지만 점점 증가하는 sitemap과 기획진의 요구가 많아지면서 Nuxt-Sitemap으로는 개발할 수 없다는 것을 깨달았다. 그것도 그런게 빌드타임에서 수백만개의 사이트맵을 만든다면 빌드할 때마다 불필요한 동작을 하게 되고 안 그래도 싱글 스레드라 답답한 노드인데 빌드도 해야되고 라이브러리도 불러와야 하고 사이트맵고 만들어야 하고 프론트엔드 서버도 만들어야하고 css, js 번들링도 해야하고 터질 수 밖에 없는 구조를 만들고 자빠진 것이다.

해결

결국 전에서 했던 판단은 언젠가 엎어질 개발 방식이었고 즉 잘못된 방식, 선택을 했다고 볼 수 있다. 결국, 나는 새로운 프로그램을 만들 수 밖에 없었고 또 라이브러리 연구에 일주일 넘게 개고생해서 만들었다. 또한 쉘 스크립트도 짜서 빌드된 파일을 static으로 처리하게 만드는 방식을 선택했다. 단지 우려되는 점은 배치로 사이트맵을 만들 때, 새로운 부분을 갱신하는 게 아니라 또 새로 덮어쓴다는 점이다. 물론 이전 방식보다 더욱 효율적으로 바뀐것은 맞다. 전체다 새로 빌드하는 것이 아니라 주기별로 섹션을 구분해서 주기 대로 코드가 돌게 했기 때문이다.

결론

잘못된 판단으로 딜레이가 되고 책임을 져야하는 것은 결국 나다. 노드든 Nuxt든 배치든 결국 내가 많이 공부하고 경험해서 올바르고 효율적 방식을 선택해야 한다.

profile
Better then yesterday

0개의 댓글