Node.js 환경에서 개발을 진행할 때, 비동기 작업을 동시에 진행하고 싶다면 먼저 떠올리는 것이 "Promise.all()" 일 것이다.Promise.all()은 Node.js 환경에서 다수의 비동기 작업을 병렬로 처리하고자 할 때 가장 자주 사용되는 도구 중 하나이다. 실제 서비스 코드에서도 외부 API 호출, 데이터베이스 조회, 파일 시스템 접근 등을 병렬로 처리하기 위해 Promise.all()이 널리 사용되니다. Promise에 대해서는 자세하게 다루지 않겠습니다. 하지만 아래와 같은 의문을 가져본 적 있을 것 같다. "Promise.all()" 이니까 비동기 작업이 진짜로 병렬로 실행되는 건가? Node.js 는 싱글 스레드로 동작을 하는데, 어떻게 "병렬"이 존재할까? 나도 Promise에..
Node.js의 child_process 모듈을 사용하여 프로세스를 실행하고 결과를 받는 과정에서 콜백 형태가 아닌 더 깔끔한 방법으로 처리 가능할까 하고 찾아보다가 promisify()라는 함수를 알게 되었습니다. 나름 유용할 것 같아 소개 글을 작성해보려고 합니다. Node.js는 비동기적인 작업을 수행하는데 매우 유용한 프레임워크입니다. 그러나 Node.js에서는 대부분의 함수들이 콜백 패턴을 사용하며, 이는 비동기적인 작업을 수행할 때 중첩된 코드를 작성하게 만들어 코드의 가독성과 유지보수성을 낮추는 요인 중 하나입니다. 이러한 문제를 해결하기 위해 Node.js의 util 모듈에는 콜백 패턴을 사용하는 함수를 Promise 객체를 반환하는 함수로 변환해 주는 promisify() 함수가 있습니다..