명

node.js 개발하기 STEP 0. 준비

· 2011-11-13 (일) 21:13:53 · 3972 · 6
워낙 글쓰기를 못해서,,, 깔끔한 형태로 정리할 생각은 없습니다.
그냥 스터디했던 내용중에서 정리할 만한 부분만 간추려서 써보도록 할께요.

1. node.js 란
   - 이건 구글링하면 많이 나오니까..
     쉽게 말해서 서버 어플리케이션(웹포함)을  javascript로 만든다는 컨셉입니다.

   - 그동안 자바스크립트는 웹브라우져를 컨트롤하는 client side language 였습니다.
     특히 웹개발자에 서버개발은 어려운것으로 인식되어 왔습니다.
     그에 반에 자바스크립트는 웹개발자에게 친숙한 언어죠.
     웹개발에게 친숙한 자바스크립트 언어를 이용하여 서버프로그램을 개발하자는것
     그것이 바로 node.js 입니다.
     ps) 그래서 향후 5년간은 자바스크립트가 대세가 될거라고 봅니다. 
           한가지 언어로 서버-클라이언트를 모두 아우르게 됩니다.
           첨언하자면, noSQL(이건 따로 정리해보겠음) 에서도 자바스크립트로 된것이 있습니다. couchDB
           결국, 서버, DB, 클라이언트(웹) 3가지를 한가지 언어로 컨트롤 할수 있게 됩니다.
           자바스크립트만 할줄 알면, 개발자 대우 받을수 있는거죠. 
  
   - 제가 본 사이트는 
      1) http://nodejs.org/  
          : 공식 사이트니까 반드시 방문해서 이것저것 봐야함
      2) http://nodeguide.com/ (
          : 공식 사이트는 아닌것 같은데, 기초에 대한 정리는 여기가 깔끔함
            이렇게 개발하는게 좋다라는 식의 개발 가이드를 해줍니다. 필독!!
         : slideshare.net 엔 정리된 프리젠테이션 자료들이 많습니다.
           링크 문서와 연관된 node.js 자료들도 많으니 시간되시면 읽어보세요.
           워낙 깔끔하게 정리해놓은 자료들이라 영어라도 별문제 없음
         : 동영상강의...
   

2. 준비사항
    - node.js 는 이를 해석해주는 node 라는 실행파일이 있습니다.
      기존에는 리눅스 계열만 배포했는데, 현재는 윈도우 계열도 배포합니다.(아 개발하기 편한  세상)
    - 다운로드와 기본 사용법은 nodejs.org에서 참조바람
   




* 참고
1. ubuntu 11.x 에서 node 설치 (쉘에서 그냥 node 쳐보면 됨..아 쉽다.)
merong@ubuntu:~$ node
The program 'node' can be found in the following packages:
 * node
 * nodejs
Try: sudo apt-get install <selected package>
merong@ubuntu:~$ 


 나머지는 월요일에 추가 ^^                

  



|

댓글 6개

node.js를 다룰 때 굉장히 중요한 것 중 하나가 V8 엔진을 사용하다는 겁니다.

Python, Ruby, PHP 등 대중적인 언어에 비해 굉장히 빠르고,

심지어는 퍼포먼스가 좋은 Lua나 Erlang과 비교해도 빠르거나 비슷합니다.

참고: http://j.mp/rR0aco
많이 가르쳐 주십시오.
2011-11-14 (월) 09:12:35
정정함..
V8 엔진 + event loop 라이브러리 + 뭔가 더 있음.
여기서 event loop를 네이티브 라이브러리를 쓰는데, freeBSD 에선 kqueue를 쓰게됨.
네이티브니까 성능이 안 좋을리가 없죠..
오늘 내용을 보니 분산처리와, 멀티 프로세서를 위한 코드가 추가되었다고 합니다.
대부분 사용하실 리눅스에선 epoll을 지원합니다.

소켓 프로그래밍을 간단히 해보신 분들은 select를 써보셨을텐데, epoll과 kqueue는 select처럼 이쪽에서 하나씩 검사하는 게 아니라 IOCP처럼 IO 이벤트가 발생했을 때 그걸 받는 방식이죠.

- select 예제: http://j.mp/vRIYQH
- epoll 설명 및 예제: http://j.mp/vs0OKg

네이티브라서 성능이 좋아지는 게 아니라 OS에서 지원하는 대규모 IO 처리에 대한 지원 방식을 사용해서 성능이 향상되는 겁니다.

사실 Ruby의 EventMachine이나 Python의 Twisted 같은 라이브러리와 동일하기 때문에 node.js의 장점이라고 말하긴 어렵지 않나 싶습니다.

만약 node.js가 직접 지원하지 않았다고 해도 누군가 만들어 제공했을 상황이거든요.

- node.js 확장 예제: http://j.mp/uI3TWb
2011-11-14 (월) 15:07:19
감사합니다. 덕분에 얄팍한 지식이 깊어지는것 같습니다.^^
감사합니다.

추천이 없어서 아쉽습니다.
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

8,188건
+
제목 글쓴이 날짜 조회
12-01-22 조회 3,619
12-01-21 조회 2,926
12-01-19 조회 4,838
12-01-18 조회 2,846
12-01-18 조회 2,805
12-01-18 조회 3,010
12-01-17 조회 2,788
12-01-17 조회 3,052
12-01-14 조회 1.1만
12-01-14 조회 3,591
12-01-14 조회 3,903
12-01-11 조회 3,351
12-01-11 조회 3,083
12-01-11 조회 3,091
12-01-11 조회 3,205
12-01-11 조회 3,413
12-01-11 조회 2,725
12-01-10 조회 3,040
12-01-10 조회 2,821
12-01-10 조회 2,834
12-01-09 조회 2,849
12-01-08 조회 2,938
12-01-07 조회 2,850
12-01-06 조회 2,656
12-01-06 조회 2,780
12-01-05 조회 2,784
12-01-02 조회 2,929
11-12-29 조회 2,899
11-12-28 조회 2,886
11-12-28 조회 2,801
11-12-27 조회 3,017
11-12-23 조회 2,750
11-12-23 조회 2,870
11-12-21 조회 3,888
11-12-21 조회 2,926
11-12-19 조회 2,835
11-12-14 조회 4,241
11-12-08 조회 3,390
11-12-08 조회 4,059
11-12-07 조회 4,340
11-12-06 조회 4,241
11-12-06 조회 3,621
11-12-05 조회 3,265
11-12-05 조회 4,856
11-12-04 조회 3,255
11-12-03 조회 3,566
11-12-02 조회 3,465
11-12-02 조회 3,471
11-12-02 조회 2,803
11-12-01 조회 2,784
11-12-01 조회 3,681
11-12-01 조회 2,761
11-11-29 조회 5,641
11-11-23 조회 3,576
11-11-23 조회 3,924
11-11-22 조회 3,897
11-11-22 조회 2,967
11-11-21 조회 3,496
11-11-21 조회 2,796
11-11-18 조회 3,890
11-11-18 조회 3,047
11-11-17 조회 2,941
11-11-17 조회 2,946
11-11-17 조회 4,519
11-11-11 조회 2,815
11-11-11 조회 2,809
11-11-11 조회 3,943
11-11-11 조회 4,646
11-11-08 조회 2,922
11-11-06 조회 3,368
11-11-06 조회 3,670
11-10-21 조회 2,468
11-10-21 조회 2,371
11-10-19 조회 2,435
11-10-19 조회 3,947
11-10-08 조회 2,484
11-10-06 조회 4,166
11-10-01 조회 2,580
11-09-30 조회 2,558
11-09-29 조회 2,556
11-09-26 조회 2,417
11-09-23 조회 2,414
11-09-23 조회 2,178
11-09-22 조회 2,766
11-09-09 조회 3,070
11-08-30 조회 4,022
11-08-23 조회 2,203
11-08-12 조회 2,374
11-08-04 조회 3,960
11-07-01 조회 2,935
11-06-09 조회 2,577
11-05-17 조회 2,692
11-05-07 조회 2,952
11-04-21 조회 2,615
11-04-12 조회 2,484
11-04-11 조회 3,574
11-02-11 조회 2,706
11-02-08 조회 2,171
11-01-11 조회 2,545
10-11-26 조회 3,893