[runon] 개발언어, 미들웨어
개요 runon 은 종 3가지 개발 언어를 사용합니다. java, python, dart(flutter) 미들웨어 2가지를 활용합니다 postgresql, redis 그리고 직접 설게해서 구현한 파일시스템를 이용합니다. 파일시스템의 파일구조는 thread당 접근해서 분석할 수 있는 단위로 파일이 나뉘어져 있습니다. 테라 단위가 넘는 데이터를 분석에 이용하기 때문에 분산처리에 효율적인 데이터 구조를 직접 설계해서 개발하고 있습니다. java java를 사용한 이유는 분산처리, 분석 알고리즘, 코어기술과 같은 복잡한 개발을 할때 가장 익숙한 컴파일언어가 편해서 입니다. 10년넘게 주언어로 사용한 언어라 직접 개발한 각종 라이브러리가 많이 있습니다. python 데이터 분석에 유리한 많은 라이브러리, 머신러닝, AI를 활용하려면 python은 필수 입니다. 이미 만들어진 수많은 도구를 잘 활용하기 위해 사용합니다. flutter(dart) 여러 언어와 개발환경을 사용하기에 기존 주언어(java)와 유사한 코드를 제공하는것을 이용하고자 하는 용도와 멀티 플랫폼을 지원하기 때문에 적은 인력으로 가장 효율적으로 UI를 구성할 수 있는 선택지였습니다. 모바일, 데스크탑, web, AOT 기기들에 사용되는 화면을 하나의 언어와 프레임웍으로 동시접근이 가능한건 엄청난 매력입니다. flutter 에서 자체제공하는 머티리얼 디자인으로 인해서 디자이너 없이도 어느정도 퀄리티가 나오는 화면을 구성할 수 있습니다. 특히 퀀트는 화면의 중요도가 다른 프로젝트에 비해 적기때문에 효율성 높은 환경이 중요합니다.