0928
서론
- 오더통합관리 프로그램을 만들면서 성능 문제에 직면
- 왜?
- 한 화면에 너무 많은 셀이 렌더되고 있었음
- 하나의 셀에 부여된 기능이 굉장히 많았음
- 기능 하나하나마다 내부 구현 방식이 대부분 반복문을 통한 계산
- 거기에 브라우저 이벤트에 바인드된 기능들도 많았기 때문에 처리할 수 있는 병목보다 훨씬 많은 처리가 발생
- 그런 셀들이 한 화면에 10,000(20x500)개 동시에 그려져야 함(테스트용 데이터 말고 실제 오퍼레이션에서 다뤄야하는 데이터의 양)
- 어떻게 해결?
- 해결은 이 글의 주 목적이 아님
- 라이센스 비용을 지불해 엔터프라이즈 목적에 적합한 고급 라이브러리로 이전할 계획
- 이 글의 주 목적은 왜 병목현상이 생기는지에 대해 자세히 알아보고, 근원에 대해 공부하는 것임
- 말미에 이를 해결하기 위한 여러가지 해결책(꼼수)들도 간단히 살펴볼 것 본론
- 앞서 서론에서 이미 문제를 간단히 진단해봤음
- 이제 우리는 라이브러리 코드를 직접 해부해보면서 나의 추측이 맞았는지 검증해보고, 맞다면 몇 가지 가설을 세워 개선의 여지가 있는지 검증해볼 계획임
결론