Node.js 란?

이도형·2024년 4월 28일
0

Web 기본개념📶

목록 보기
3/10

1) Node.js 의 개념

Javascript를 스크립트 언어 이상으로
프로그래밍 언어 역할을 할 수 있도록 지원하는 플랫폼

구글이 개발한 JS 엔진 V8을 기반으로, JS 코드를
브라우저 밖에서 실행할 수 있게 해주는 런타임 환경
*JS = Javascript

여기서 웹서버웹 애플리케이션 서버의 기능을 할 수 있다.

2) Node.js의 특징

i) Single Thread : 하나의 스레드로 직접 제어한다
*Thread (스레드) : 프로세스 내에서 실행되는 흐름의 단위

ii) Non-blocking I/O : 이전 작업 완료 전 대기 동안 다른 작업 실행

second()가 대기하는 동안 third()가 실행된다

iii) 이벤트 기반 : 이벤트가 발생하지 않으면 작업을 수행하지 않는다

iv) 그 외

  • 높은 확장성 : npm을 통한 다양한 모듈과 패키지 활용 가능
    *모듈 : 프로그램을 구성하는 요소이자, 관련 데이터와 함수를 하나로 묶은 단위(덩어리)
    *패키지 : 여러 개의 모듈을 포함하는 상위 수준의 폴더 구조

  • 크로스 플랫폼 지원 : Windows, macOS, Linux 등 다양한 OS에서 실행 가능

  • 빠른 개발 속도 : JS를 사용하므로 익숙함, 스타트업에서 MVP 구축에 유용
    *MVP(Minimum Viable Product) : 최소 실행가능 제품, 핵심만 담아 고객에서 선보이고 피드백 받는 과정


3) npm 이란?

npm (Node Packaged Manager) : Node.js를 위한 패키지 관리자

  • 사람들이 만든 다양한 JS 라이브러리와 프레임워크를 설치/관리/공유할 수 있다.
    *라이브러리 (Library) : 특정 기능을 수행하는 코드 집합체, 활용 가능한 도구들의 집합
    *프레임워크 (Framework) : SW 개발을 위한 구조적 틀, 개발자가 따라야하는 가이드
  • Node.js의 기본 패키지 관리자로, 웹에서 간단한 명령어로 설치 가능하다

사용법
npm init : Node.js 시작 시 package.json 생성 명령저장
*package.json : 프로젝트에 설치된 모듈 및 패키지에 대한 정보를 담고 있는 파일
npm install [모듈명] : 모듈 설치
npm uninstall [모듈명] : 모듈 삭제
npm i [모듈명] -g : 전역 (내 컴퓨터의 모든 프로젝트)에 모듈 설치
npm update [모듈명] : 모듈 업데이트
npm -version : 버전 확인 (설치 후 확인 용도)


마치며

2023 Stackoverflow 점유율 Survey 결과

JavaScript와 Node.js는 연동성 측면, 점유율 측면에서도 매우 좋습니다.
물론, 다른 언어가 떠오른다, 가라앉는다 말은 많지만
아직 까지 Node.js가 높은 점유율을 가지고 있습니다.

기존의 함수 기능을 하던 JavaScript라는 언어를
모듈을 사용하고 프로그래밍 언어로 만들기 위해서
Node.js의 학습과 이해,
그리고 그것을 관리하는 npm에 대한 공부는 매우 중요합니다.

이 후, TypeScript와 React를 공부한다면,
이와 비교하여서도 올릴 예정입니다.

profile
열심히 살고 싶습니다! 일하고 싶습니다 :)

0개의 댓글

관련 채용 정보