Node.js

세피·2021년 9월 1일
0

Node

목록 보기
1/3

Node.js를 시작해보기로 했다.
왜? 프론트엔드/백엔드 두가지를 경험해보고 싶었는데
Node.js는 자바스크립트 언어로 백엔드를 할 수 있기 때문이다.

학원 다닐때 자바스크립트를 배우며 어렵다고 느꼈다.
더 파고들 시간도 없이 확 넘어가버린 언어중 하나.

그리고 Node.js가 요즘 스타트업에서 많이 쓰이고 있다는걸 알게되었다.

정리해보자면

  1. 자바스크립트 언어를 쓰기 때문에 프론트엔드/백엔드를 아우를수있다.
  2. 스타트업에서 요즘 각광 받고 있다.
  3. 전세계 개발자의 절반이 사용하고 있다. (즉, 커뮤니티가 활성화되어 있다.)

그 다음, 특징을 몇가지 살펴보면

1. single thread 이다.

하나를 하면 끝날때까지 아무것도 하지말고 기다려! (싱글스레드)
자바는 multi thread인데 이것은 장점도 있고 단점도 있다.
multi thread란 내가 음악을 재생하고 있어도 다른 것들(검색,설정)등을 할 수 있는 것이다.
cpu(뇌)가 일을 병렬적으로 처리해준다. 단점은 비용이 많이 든다는 점, 느려질 수도 있다는 점
멀티스레드가 더 좋은거 아니야? 한다면, 그대신 노드에 이런게 있다

2. 동작원리

너 이거 해 - 응 - 다했으면 이벤트(event-driven)로 알려주렴(callback을 던져주렴) 나는 다른일 하러 갈게(non-blocking, 비동기식)
그 다음 callback을 task Queue에 넣어준다. 그 후 call Stack이 비워지면 Event Loop가 call back 함수를 call Stack에 넣는다.
** Loop를 막지 말아라(callBack이 callStack안으로 들어오지 않고 막힌다면, 즉 무거운 계산이라면) Node는 원활하게 동작하지 않을것이다. **

  1. 무거운 계산 처리에는 적합하지 않다.
profile
세피의 블로그입니다

0개의 댓글