Node.js란?
이 개념을 이제 하나씩 정리해보자
오픈 소스 자바스크립트 런타임 환경이란?
Node.js는 V8이라는 자바스크립트 엔진으로 구동되는 자바스크립트 환경(런타임)이다
여기서 자바스크립트는 동적인 웹 페이지를 만들어주기위해서 사용하는 스크립트 언어다 따라서 컴퓨터가 이해할수있게 바꿔주어야하는데 그 역할을 브라우저에 내장되있던 자바스크립트 엔진이다
당시 구글은 이 엔진을 개발해서 크롬에 탑재하는데 이것이 V8엔진이다 V8은 자바스크립트 코드를 실행하는데 매우 빠르고 효율적으로 설계 되있기 때문에 이 엔진을 브라우저 밖으로 끌고 나오게되고 이를 기반으로 Node.js를 만들게 되었다
웹 브라우저 외부에서 자바스크립트 코드를 실행할수 있다?
Node.js를 사용하면 웹 브라우저 밖에서 자바스크립트 코드를 실행할수 있다는 말은 Node.js가 설치되있는 컴퓨터에서도 자바스크립트 실행이 가능해졌다는 말이다
따라서 브라우저 밖에서 자바스크립트를 실행할수 있는 환경이 만들어진것이다
서버 사이드 애플리케이션 및 다양한 도구를 개발할수 있다?
서버 사이드란 사용자의 요청을 받아서 데이터 처리, 비즈니스 로직 수행, 데이터 베이스 연동등을 담당하는 서버쪽 영역이다 보안과 데이터 관리능력이 뛰어나고 검색엔진 최적화에 유리하다
1. Node.js를 사용하면 프론트와 백엔드 모두 자바스크립트로 작성할수 있다 이는 개발자가 한가지 언어만으로 전체 개잘을 끝낼수있는다는 말로 효율적이다 또한 클라이언트와 서버간의 코드를 재사용할수 있고 하나의 언어만을 사용하기 때문에 일관된 개발환경을 제공 할 수도 있다
2. NPM은 Node.js에서 사용하는 패키지 관리자로 수많은 오픈소스라이브러리와 모듈을 사용할수 있어서 개발 시간을 단축하고 기능을 확장할수 있다
3.Node.js를 사용해서 서버를 구성하면 성능이 높아진다 Node.js는 기본적으로 비동기 I/O(Input/Output)을 사용하고 이벤트 구동 모델을 사용하여 동시접속자를 효율적으로 처리할수 있다
Node.js 단점
1. 이벤트 기반 비동기 방식이기 때문에 서버로직이 복잡하면 콜백함수의 지옥에 빠질수 있다
2.대용량 이미지 처리,영상 인코딩 같은 무거운 작업이 오래걸리면 다른 요청처리에도 영향이 갈수있다
3.코드를 모두 비동기방식으로 실행하기때문에 논리적 오류가 발생할수 있다
4. 하나의 스레드를 사용하기때문에 하나의 요청중에 에러가 발샐하면 전체 서버에 영향이 생길수 있다 그래서 작업 자체가 많이 걸리는 웹서비스에는 어울리지 않는다
5.자바스크립트로 만들어져있기 때문에 코드를 실행 시켜봐야 에러를 확인할수있다
'🐢 꼬부기 LV.1 | 개념•기초 > 💧물대포(핵심개념)' 카테고리의 다른 글
| FileNotFoundError,NameError,PermissionError 해결하기 (0) | 2026.03.22 |
|---|---|
| 파이썬 데이터 분석 토이프로젝트 - 전기차 충전소 지역별 검색하기 (0) | 2026.03.21 |
| 파이썬 데이터 분석 그래프 하나에 여러데이터 보여주기 (0) | 2026.03.18 |
| 파이썬으로 데이터 시각화하기 (0) | 2026.03.17 |
| 리액트란 무엇인가? (0) | 2026.03.16 |