0928

서론

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

결론