예전 부터 엑셀 같은 프로그램을 만들고 싶었다. 그래서 https://yiunsr.tistory.com/660 이런 프로그램을 만든 후 잘 변형해서 엑셀처럼 만들어 보려고 했었다. (저 프로젝트가 8년전이라니.)
얼마전부터 electronjs 를 가지고 만들어 보고 있다. 프로젝트 명은 lightsheet (https://github.com/yiunsr/lightsheet ) 이다.
약간의 목표도 정하려고 하는데 개발할 때마다 한계에 부딪힐 때마다 목표가 바뀌고 있다. 현재 목표는 엄청난게 큰 최대 4GB CSV 파일 편집과 약간의 엑셀 함수지원이다. 아무래도 개발의 편의성을 위해 embedded db 를 사용하려고 하는데 sqlite3 를 생각 중이다. 그래서 현재 가장 많은 공을 들이고 있는 부분은 CSV 파일을 sqlite3 에 저장하는 방법에 대해 많은 고민 중이다. 하다보니 CSV 파일을 분석하는 것도 만만찮다. 파일 크기가 클 경우 CSV 파일을 array 로 만드는 것도 시간이 너무 걸려서 C를 이용해서 array 로 만드는 nodejs addon 을 만들고 있다. 뭔가 메인 일을 하는게 아니라 사이드 일을 더 많이 하는 것 같은 느낌이 있다.
이번 프로젝트는 좀 오래 해야 하는데.