본문 바로가기

Back-End/NodeJS

0.노드란 무엇인가? - Mastering Node.js

Events for everything


운영체제에게 파일을 열어달라고 요청하면, 해당 작업은 즉각적으로 실행될 것이다. 하지만, 네트워크, 인터넷을 통한 작업은 이 전의 작업처럼 빠르거나 신뢰할 수 없다. 개발자들은 소프트웨어가 느려지지 않도록 이러한 작업들을 잘 처리해야 한다. 보통 C, Java 개발자들은 thread를 통해 해결한다. 


pthread_t my_thread;
int x = 0;
/* Make a thread and have it run my_function(&x) */
pthread_create(&my_thread, NULL, my_function, &x);
<button onclick="myFunction()">Click me</button>



Node는 Javascript에서 thread 개념이 필요없다고 우리에게 보여주고 있다. Thread에 관해서 고려하지 않아도 되기 때문에, 개발자들은 성능이나 동시성 문제에 관한 고려를 하지 않아도 된다. 다음 포스팅에서 비동기 event-driven 프로그래밍에 관해 공부해보자. 


Extending Javascript

Ryan Dial이 노드를 고안해낼때, 원래 자바스크립트 언어를 고려하지 않았다.