2015.11.16 T아카데미 Node.js 프로그래밍 강좌를 수강하면서 필기.
패러다임의 변화 - 2008년 NYT 130여개 컨텐츠 PDF로 이전시
- 기존 패러다임으로 할 때 소요기간 14년 예상
- Hadoop, AWS로 수행 : 1일 200만원 소요
Node.js의 특징
- DB연동이 쉽다
- 2009년 라이언 달 제작
- C++기반의 자바 스크립트 엔진
- 이벤트에 반응하는 이벤트 리스너로 구현
- Non-blocking I/O
애플리케이션 서버 작성
- Apache + PHP
- 자바 - 스프링
- 파이썬 - 장고
- 루비 - 레일즈
- 자바스크립트 - node.js
TCP통신과 HTTP통신의 차이
- TCP통신 : 계속 connection을 유지해야 한다
- HTTP통신 : 필요할 때만 connection이 유지되어도 된다. 요청을 보내서 응답을 받을 수 있기만 하면 된다.
Node.js를 도입한 곳
- 링크드인
- 이베이
- 페이팔
- 월마트
- 페이스북
- MS
서버에서의 동기식
하나의 서버로 다수의 클라이언트 요청 처리
- 입출력 처리 병목 현상
- 디스크 접근
- 네트워크 접근
- 서버 성능 향상 노력
- 멀티 쓰레드를 이용한 성능 향상 노력
- 멀티 쓰레드 프로그래밍의 난이도 + 자원동기화에 어려움
함수를 다루는 방법
1 2 3 4 5 | function sayHello(who){ console.log('Hello' + who); } var func = sayHello; func('IU'); | cs |
콜백 - 인라인 방식으로 다시 작성하기
1 2 3 4 5 6 7 8 9 | var fs = require("fs"); function readingfile(callback){ fs.readFile("readme.txt","utf-8",function(err,content){ callback(content); }) }; readingfile(function(fcontent){ console.log(fcontent); }); | cs |
아키텍처
- 상위 - 자바스크립트
- 하위 - C
Node.js 설치 후 Hello World 찍기
node.js 설치된 디렉터리에서 js파일 작성 후 실행
웹서버를 작성하여 실행하는 예제
Eclipse를 활용한 개발환경 셋팅
1. nodeclipse plug-in 설치
2. Perspective를 ‘Node’ 로 변경
3. 신규 프로젝트 생성 시 Node.js 프로젝트 선택
4. 템플릿을 선택하고 생성
express와 nodemon 모듈의 전역설치
nodemon의 실행예제 : 서버 restart를 수동으로 할 필요없이 변경내용이 자동 적용됨
필요한 외부 모듈은 npm을 통해 설치 후 사용한다.







댓글 없음:
댓글 쓰기