nodejs 2

Carryduo | 비동기와 try, catch 에러 핸들링

1. 개요 - carryduo로 개발을 하던 중, try-catch로 에러 핸들링이 되지 않는 문제를 겪었다. - nodeJS에서 try-catch로 에러 핸들링을 하는 일반적인 사례는 다음과 같다. try{ throw new Error('a') } catch(err){ if (err.message === 'a'){ doSomething } else { return } } - 하지만 필자는 당혹스럽게도 다음과 같은 에러 문구를 만나게 되었다. uncaughtException: - 이에, 자연스럽게 throw new Error와 try catch에 대해 좀 더 알아보게 되었다. 2. Error() 객체 - error 객체는 name, message, stack으로 구성되어 있고, Error를 생성할 때는 ..

Carryduo 2023.01.27

Carryduo | [nodeJS] child-process를 이용한 데이터 분석 자동화

1. 개요 - Carryduo는 기존에 데이터 분석을 개발하는 과정에서 toad-scheduler 패키지를 활용했다. - toad-scheduler 패키지는 특정 시간 간격으로 스케줄을 실행하는 패키지이다. - 예컨대, "1시간마다 naver-sens를 통해 알람을 보내!"와 같은 기능을 구현할 때 유용하게 사용될 수 있다. - Carryduo는 데이터 분석에 할애되는 단위시간을 고려하여, 이 toad-scheduler를 이용해 데이터분석을 자동화했었다. - 문제는 데이터가 쌓일수록 필연적으로 데이터 분석에 할애되는 시간이 늘어나는 구조로 데이터 분석 로직이 설계되어 있었다는 것이다. - 즉, 축적된 데이터가 많아지면서, 다음과 같이 데이터분석 한 사이클이 종료되지 않았는데 새로운 사이클을 실행하는 현상..

Carryduo 2023.01.26