nodejs install and start 1
1. node.js란?
서버 환경에서 돌아가는 자바스크립트이다.
대규모 네트워크 애플리케이션을 개발하기 위해 만들어 졌다.
이벤트를 기반으로 하는 비동기 방식으로 처리한다.
2. node.js의 장단점은?
[장점]
V8자바스크립트 엔진을 사용한다.
C++확장이 가능하다.
[단점]
자바스크립트이기 떄문에 속도가 느리다 (C/C++로 만든 것보다는 속도가 느림)
아직 개발이 불안정[?] 모듈이 많지가 않다.
3. node.js의 설치?
http://nodejs.org에 접속하여 각 운영체에 맞는 파일을 다운받고 실행 하면 된다.
* 실행 결과 화면! (윈도우에서 설치후 사용 해본 것이다. mac이 더 편한듯 하다.)
* 스레드 기반 동기방식 과 이벤트 기반 비동기 방식이란?
스레드 기반 동기방식
기존 네트워크 프로그램이 사용하는 방식으로, 스레드를 여러개 생성하여 동시에 일을 처리한다.
하지만, 스레드가 많이 생성 될수록 메모리를 많이 잡아 먹게 된다.
스레드를 하나만 생성하여 사용하지만 이벤트 처리 방식이기 때문에 속도가 빠르다.
하지만, 어느 한쪽에 이상이 생겼을 경우 프로그램 전체에 영향을 미치는 단점이 존재한다.
주절주절:)
사실 나는 자바스크립트에 대한 많은 경험이 없다. 그냥 자바스크립트 하면 웹에서 동작하는 언어라고만 생각, 즉 클라이언트 측 언어라고 생각했다. 하지만 node.js는 자바스크립트인데 웹브라우저가 아닌, 서버 환경에서 동작한다고 한다. 처음에는 '그게 뭐?'란 생각이 들었지만, 계속 해서 공부하면서 좀 알게 된 듯 하다.
또한 공부를 하면서 이벤트 기반과 스레드 기반에 대해도 알 수 있었던 것 같다. 역시 책에 잘나온 예제 덕분일까?
이해가 쏙쏙
갑자기 궁금해졌는데 node.js의 경우 이벤트 기반 비동기 방식이라고 했다. 그렇기 때문에 단점이 존재하는데, 실제 단점으로 피해를 보는 예가 있나 궁금하다. 음.. '한쪽에서 이상이 생길 경우' 여기서 이 이상이 언제 생기는지 궁금하다. 직접적으로 프로그램을 만들고 이런 상황을 만들어봐야 알 수 있을 듯!
현재 http모듈 부분까지 공부를 하였고, 진행형이다.
nodejs의 http모듈을 사용하여 웹서버 역할을 하는 코드를 만들어 보았다.
자바스크립트가 저렇게까지 된다는게 이젠 신기하게 느껴진다.
하지만 완전하게 '이걸 이렇게 활용하면 좋겠다'라고 느낄때까진 시간이 많이 걸릴 듯 하다.
왜냐? 나는 아직 부족하니까! 차근차근 해보도록 해야겠다.
댓글
댓글 쓰기