Chrome V8 Javascript엔진으로 빌드된 Javascript 런타임(환경)
nodejs의 특징을 알아보면서, 활용할 수 있는 분야에 대해 공부해보려고 한다.
- nodejs는 멀티스레드가 아닌, 단일 스레드의 논블로킹 이벤트 기반 비동기 방식으로 처리됩니다.
- 비동기 방식은 뒤에서 설명하겠지만, 간단하게 설명하자면, 작업을 기다리면서 하는게 아닌, 작업이 긴 작업을 건너뛰고 그 다음작업을 진행하는 구조입니다.
- 내장 http 서버 라이브러리를 가지고 있어서, 별도의 웹서버 소프트웨어가 필요없이 동작가능합니다.
- 다양한 모듈을 제공하기에 기능구현에 있어 편리합니다.
- front와 back 개발환경이 javascript로 이루어져있어 생산성이 높습니다.
- 단일스레드이기 때문에, 하나의 작업이 오래 걸리는 웹서비스의
경우, 성능저하를 발생할 수 있습니다.- 로직이 복잡한경우에 여러 콜백함수를 사용하게 되는데, 에러를 찾기 힘든 콜백함수늪에 빠질 수 있습니다.
- 코드가 수행이 되어야지 코드에서 에러를 확인 할 수 있습니다.
nodejs는 기본적으로 브라우저위에서 동작하는 javascript와는 다른 문법을 가진다. 따라서 새롭게 배우는 문법인 만큼, 강의를 통해 실습위주의 공부를 진행하려고 한다.
★ 항상 새로운 공부는 재밌다!!!