컴파일 언어인 java와 그 프레임워크 spring을 기반으로 공부했던터라 자바스크립트에 대한 이해가 부족했었다. node.js 로 백엔드 예제를 만들다가 만난 경험을 적어본다. 자바스크립트는 싱글 스레드 기반의 인터프리터 언어이다. 때문에 동시성을 갖고 작업을 하기 위해서는 비동기 방식이 쓰이게 된다. 동기동시에 일어난다는 뜻을 가지고 있고 어떤 요청이 들어왔을 때 응답이 한자리에서 동시에 일어난다는 의미한가지 작업을 하면 결과가 반환 될 때까지 다른 작업이 대기한다.비동기어떤 요청이 들어오면 한자리에서 동시에 응답이 일어나지 않는다.여러 요청을 번갈아가며 수행한다. 비동기 처리가 백그라운드에서 동작하면 동시성을 갖는 작업의 결과 중 어떤 작업이 먼저 결과가 반환될지 알수가 없다.때문에 작업 완료된 ..