Node.js_ What is NodeJS

Adela·2020년 5월 25일
0

Node.js

목록 보기
1/7
post-thumbnail

What is NodeJS

브라우저 밖의 JavaScript

JavaScript는 브라우저에 내장되어 있어서 브라우저 콘솔에서 JS를 사용할 수 있다.

NodeJS가 생기면서 브라우저 밖 유저의 컴퓨터에서도 JavaScript를 사용할 수 있게 되었다.

브라우저에 한정되어 있었던 JavaScript의 가능성을 무한하게 해주었다.

JavaScript로 file system 다루기, JavaScript로 모바일 앱을 만들 수도 있고, JavaScript로 웹페이지에 접속해서 정보를 수집할 수 있는 등 브라우저와 관계없는 일들까지 할 수 있다.

특징, 장점

Back-End를 구축할 수 있는 언어는 여러가지 언어가 존재한다.

기본적으로 JavaScript한가지 언어로 Front-end/ Back-end 다 작업할 수 있다.

Node.js는 레고처럼 이것저것 조각조각을 커스터마이즈할 수 있다.
대조적으로 Django나 Laravel은 하나의 큰 장난감과 같아서 사용법을 배워야 쓸 수 있다.
상대적으로(Node.js와 비교했을 때) 기본이 갖춰져 있기 때문에 어느정도의 학습 시간을 필요로 한다.

Node.js로 좋은 성능을 낼 수 있는 경우는 특히 많은 데이터를 움직이고 다뤄야할 때(CRUD + Real-time..) 이다.

대신 규모가 크고 하드웨어의 성능을 끌어내는 서버를 만드려면 (ex. 이미지 압축, 크롭, 필터적용, 저장 등)이런 경우에는 Node.js로 좋은 결과를 내기 어렵다. JavaScript로는 메모리, RAM, 등의 하드웨어에 접근할 수 없기 때문이다.
예를 들어 유튜브에 영상 업로드 => 4가지 포맷으로 변환 => 오디오 트랙을 찾아 저작권을 갖고 있는 다른 오디오 트랙과 같은지 탐색 => 인코딩 디코딩 등등의 하드코어 프로세싱.. 이런 작업은 Node.js로 할 수 없다.

추가로 Python은 비동기 언어가 아니기 때문에 Node.js로 할 수 있는 실시간 작업을 구현할 수 없다.
이런 경우는 Node.js가 필요하다.
정적인 웹사이트에 적합한 편

따라서 서버에서 주로 다루고 처리해야하는 작업에 최적화 된 언어로 개발하는 것이 중요하다.

서버 만들기

서버 구성

Connection 열기(open)
Connection 연결(listen)
파일 처리
HTML 전송
데이터 저장
form에서 데이터 받아오기
등등

서버개발을 도와주는 프레임워크

모두 다른 방식이지만 위와 같은 구성을 기본으로 서버를 만들 수 있도록 도와주는 프레임워크

Django "framework for Python"
Rails "framework for Ruby"
Lavavel "framework for PHP"

NodeJS로 서버 만들기

profile
👩🏼‍💻 SWE (FE)

0개의 댓글

관련 채용 정보