NodeJS를 공부하면서..

cometLEE·2023년 5월 10일
0

nodeJS

목록 보기
1/9

나는 왜 노드를 시작하게 되었나?


팀 프로젝트를 맡아서 협력을 하게 되었습니다. backend분야로 지원을 하게 되어서, 다른 사람들과 같은 기술 stack으로 진행하려고 하였습니다. Spring에 대해 공부를 하다가, javascript, nodejs에 대해 공부를 하고 있는 팀원들이 있어서 nodejs에 대해 공부를 시작하게 되었습니다.

nodeJS??

Chrome V8 Javascript엔진으로 빌드된 Javascript 런타임(환경)


nodejs의 특징을 알아보면서, 활용할 수 있는 분야에 대해 공부해보려고 한다.

nodejs 특징

1. 장점

  • nodejs는 멀티스레드가 아닌, 단일 스레드의 논블로킹 이벤트 기반 비동기 방식으로 처리됩니다.
  • 비동기 방식은 뒤에서 설명하겠지만, 간단하게 설명하자면, 작업을 기다리면서 하는게 아닌, 작업이 긴 작업을 건너뛰고 그 다음작업을 진행하는 구조입니다.
  • 내장 http 서버 라이브러리를 가지고 있어서, 별도의 웹서버 소프트웨어가 필요없이 동작가능합니다.
  • 다양한 모듈을 제공하기에 기능구현에 있어 편리합니다.
  • front와 back 개발환경이 javascript로 이루어져있어 생산성이 높습니다.

2. 단점

  • 단일스레드이기 때문에, 하나의 작업이 오래 걸리는 웹서비스의
    경우, 성능저하를 발생할 수 있습니다.
  • 로직이 복잡한경우에 여러 콜백함수를 사용하게 되는데, 에러를 찾기 힘든 콜백함수늪에 빠질 수 있습니다.
  • 코드가 수행이 되어야지 코드에서 에러를 확인 할 수 있습니다.

그럼에도 nodejs가 좋은 이유?

  1. 낮은 Learning Curve
  2. 비동기방식이기 때문에 입출력이 빈번한 작업에서 높은 효율을 보입니다.
  3. javascript로만 환경구성을 할 수 있어 빠르게 작업을 진행할 수 있습니다.
  4. npm같은 패키지매니저를 통해 다양한 모듈을 사용할 수 있습니다!(매우 간편함..!)

앞으로 공부 할 내용

nodejs는 기본적으로 브라우저위에서 동작하는 javascript와는 다른 문법을 가진다. 따라서 새롭게 배우는 문법인 만큼, 강의를 통해 실습위주의 공부를 진행하려고 한다.
★ 항상 새로운 공부는 재밌다!!!

profile
server, kubernetes에 관심이 많이 있습니다

0개의 댓글