Chart(0)

김태호·2021년 12월 5일
0

개발일기

목록 보기
2/2
post-thumbnail

시작하면서...

내가 회사생활을 하면서 가장 재미있었고 열정을 쏟아부었던 파트인 차트 파트를 다뤄보고자 한다. 사실 이 파트는 진짜 자신감 있게 말할 수 있는 파트이기도 한데, 이유는 개발자들의 역사를 몸으로 배운 느낌이 들어서 그런것 같다. 누군가는 내 글을 읽고 나와 같은 문제를 겪지 않기를 바라면서 시작해 보도록 하자.

차트 그거 적당히 오픈소스 쓰면 되는 것 아냐?

제일 처음 내가 생각했던 안일한 생각중 하나였다. 차후 이야기를 풀어나가며 더 설명하겠지만 라이브러리의 기능에만 치중해서 돌아가는 것에만 목적을 둘 것이 아니라 이 라이브러리는 무엇을 기반으로 제작이 되었는지, 특징이 무엇인지 알아야한다는 것을 몸으로 터득했다. 이 글을 읽고 있는 당신도 단순히 많이 쓰기에 어떤 라이브러리를 쓰는 것은 최대한 자제하는 것을 추천한다.

그래서 오픈소스를 써서 무슨 문제가 발생했는데?

결론부터 말하자면 내가 만들어야하는 스트리밍 차트의 데이터의 개수가 너무 많았다. 1초에 250개(sampling rate 250)차트가 최소 6개는 있어야 하며 최대 개수는 가능한 많이 제작 해달라는 요구조건을 받았다. 단순 계산으로만 생각해봐도 250 ** 6 = 1500개 즉 1초에 1500개의 데이터가 쏟아져 들어오는 것이며 1분을 스트리밍한다면 90000개의 데이터를 차트로 보여줘야 하는 것 이었다. 이는 svg기반의 차트 라이브러리나 canvas기반의 라이브러리가 처리하기에는 너무나도 랜더링해주기 어려운 작업이었다.

마무리

모든 글들과 동일하게 차트의 첫번째 파트는 가볍게 시작했다. 이제 제일 처음 사용한 것은 무엇이었으며 어떻게 해결할 것인지 고민한 과정에 대해서 적고 차근차근 연재해보도록 하겠다.

profile
velopert를 만나고 싶은 쌩초보 개발자

0개의 댓글