2. <h3> About NodeJS </h3>
<li> 특징 </li>
<li> 구조 </li>
<h2>Sitemap</h2>
<h3> Present Trend </h3>
<li> Paypal </li>
<li> Flitto </li>
<li> Various Area </li>
<h3> How to use </h3>
<li> 설치하기 </li>
<li> 웹 스크래퍼 </li>
<li> 웹 채팅 </li>
<li> Grunt </li>
<h3> More Info </h3>
<li> More Info </li>
<li> Q&A </li>
About NodeJS How to use Present trend More info
3. <h2>목표</h2>
About NodeJS How to use Present trend More info
<ul>
</ul>
<ul>
<li> NodeJS가 좋아보인다.
</ul>
<ul>
<li> NodeJS가 좋아보인다.
<li> NodeJS가 매력적이다.
</ul>
<ul>
<li> NodeJS가 좋아보인다.
<li> NodeJS가 매력적이다.
<li> NodeJS를 공부해보고 싶다.
</ul>
5. <h2>특징</h2>
About NodeJS How to use Present trend More info
<ul>
<li> Node.js는 V8(자바스크립트 엔진) 위에서 동작하는 이벤트 처리 I/O 프레임워크
<li> 확장성 있는 네트워크 프로그램 제작을 위해 고안
<li> Single Thread 기반의 Non-Blocking I/O 모델 사용
<li> 일부 CommonJS 명세를 구현, 쌍방향 테스트를 위해 REPL 환경을 포함.
<li> Event Driven Programming Model
<li> Node.js는 python으로 만든 twisted, perl로 만든 perl 객체 환경, ruby로 만든 이벤트머신과 용도가 비슷.
</ul>
특징
구조
6. About NodeJS How to use Present trend More info
<h3>V8?</h3>
<ul>
<li> 구글에서 개발된 오픈 소스 자바스크립트 엔진
<li> 구글 크롬 브라우저와 안드로이드 브라우저에 탑재.
<li> C++로 작성되어 실행 전 직접적인 기계어(x86, ARM, 또는 MIPS)로 컴파일하여 성능을 향상.
<li> 추가적인 속도향상을 위해 인라인 캐싱(inline caching)과 같은 최적화 기법을 적용.
</ul>
<h2>특징</h2> 특징
구조
7. About NodeJS How to use Present trend More info
영화 ‘매드맥스’ 중…
<h3>V8?</h3>
<h2>특징</h2> 특징
구조
8. About NodeJS How to use Present trend More info
<h4>브라우저 외에서도 쓰고 싶은데 기존 javascript는...</h4>
<ul>
<li> 서로 호환되는 표준 라이브러리가 없다.
<li> 데이터베이스에 연결할 수 있는 표준 인터페이스가 없다.
<li> 다른 모듈을 삽입하는 표준적인 방법이 없다.
<li> 코드를 패키징해서 배포하고 설치하는 방법이 필요하다.
<li> 의존성 문제까지 해결하는 공통 패키지 모듈 저장소가 필요하다.
</ul>
<h3>commonJS 명세</h3>
<h2>특징</h2> 특징
구조
9. About NodeJS How to use Present trend More info
<h3>commonJS 명세</h3>
스코프(Scope)
> 모든 모듈은 자신만의 독립적인
실행 영역이 있어야 한다.
정의(Definition)
> 모듈 정의는 exports 객체를 이용한다.
사용(Usage)
> 모듈 사용은 require 함수를 이용한다.
<h4>브라우저 외에서도 쓰고 싶은데 기존 javascript는...</h4>
<ul>
<li> 서로 호환되는 표준 라이브러리가 없다.
<li> 데이터베이스에 연결할 수 있는 표준 인터페이스가 없다.
<li> 다른 모듈을 삽입하는 표준적인 방법이 없다.
<li> 코드를 패키징해서 배포하고 설치하는 방법이 필요하다.
<li> 의존성 문제까지 해결하는 공통 패키지 모듈 저장소가 필요하다.
</ul>
<h2>특징</h2> 특징
구조
10. About NodeJS How to use Present trend More info
<ul>
<li> Read Evaluate Print Loop의 약자
<li> 현재 사용되고 있는 스크립트 언어들의
쌍방향 통역기
<li> 개발자가 간단한 코드를 직접 입력하여
바로 결과값을 볼 수 있게 편의성을 제공해주는 툴.
<li> 간단히 말해 리눅스의 shell, 윈도우의 command 와
같은 것을 뜻함.
</ul>
<h3>REPL이란?</h3>
<h2>특징</h2> 특징
구조
11. About NodeJS How to use Present trend More info
<h2>특징</h2>
<h3>Event Driven</h3>
<ul>
<li> 특정 이벤트(클릭 등)가 발생되면 미리 이벤트에 맵핑된 함수가 실행되는 형태
<li> 해당 함수가 언제 호출 되는지를 예측할 수 없음
<li> 윈도우즈나, 자바 swing과 같은 GUI 계통의 프로그래밍이 대부분 이러한 형태
</ul>
특징
구조
12. About NodeJS How to use Present trend More info
<h2>특징</h2>
<h3>Non Blocking I/O</h3>
특징
구조
14. About NodeJS How to use Present trend More info
<h2>구조</h2> 특징
구조
파일관련작업
15. About NodeJS How to use Present trend More info
<h2>구조</h2>
<h3>Global</h3><h3>Window</h3>
Name Type / Return Args Explain
clearInterval(t) Function / t : timer ID Stop a timer that was previously created with
setInterval(). The callback will not execute.
clearTimeout(t) Function / t : timer ID Stop a timer that was previously created with
setTimeout(). The callback will not execute.
setInterval(cb, ms) Function /
Integer
cb : callback function
ms : delay(milliseconds)
Run callback cb repeatedly every ms milliseconds.
setTimeout(cb, ms) Function /
Integer
cb : callback function
ms : delay(milliseconds)
Run callback cb after at least ms milliseconds.
console Object Used to print to stdout and stderr.
특징
구조
16. About NodeJS How to use Present trend More info
<h2>구조</h2>
<h3>Global</h3>
이름 형태 / 리턴값 매개변수 설명
clearInterval(t) Function / t : 타이머 ID setInterval로 생성한 타이머를 중지
clearTimeout(t) Function / t : 타이머 ID setTimeout으로 생성한 타이머를 중지
setInterval(cb, ms) Function /
Integer
cb : 콜백함수
ms : 지연시간
ms 주기로 cb함수를 지속적으로 실행
setTimeout(cb, ms) Function /
Integer
cb : 콜백함수
ms : 지연시
ms 후에 cb함수를 한번만 실행
console Object 콘솔출력관련
특징
구조
17. About NodeJS How to use Present trend More info
<h2>구조</h2>
<h3>Global</h3>
Name Type / Return Explain
__dirname String The name of the directory that the currently executing script resides in.
__filename String The filename of the code being executed.
Class: Buffer Function / Used to handle binary data.
global Object The global namespace object.
process Object The process object.
module Object A reference to the current module. In particular module.exports is used for
defining what a module exports and makes available through require().
require() Function To require modules.
exports Object A reference to the module.exports that is shorter to type.
특징
구조
18. About NodeJS How to use Present trend More info
<h2>구조</h2>
<h3>Global</h3>
이름 형태 / 리턴값 설명
__dirname String 현재 실행 중인 파일의 폴더 경로
__filename String 현재 실행 중인 파일 이름
Class: Buffer Function / 바이너리 데이터를 제어하기위해 사용
global Object 네임스페이스 객체
process Object 프로세스의 각 정보를 담고 있는 객체
module Object 현재 모듈을 제어할 수 있는 레퍼런스 객체
require() Function 모듈을 호출할 때 사용
exports Object 메소드들을 모듈로 빼내어 다른 파일에서 관리가 가능
특징
구조
20. About NodeJS How to use Present trend More info
<h2>설치하기</h2>
<li> NodeJS 공식 다운로드 페이지(https://nodejs.org/en/)에서
자신의 브라우저에 맞는 파일을 다운로드.
<li> 다운로드한 파일을 실행 한 뒤,
Next > Next > Nex..t…..
설치하기
웹 스크래퍼
웹 채팅
Grunt
21. About NodeJS How to use Present trend More info
설치하기
웹 스크래퍼
웹 채팅
Grunt
<h2>설치하기</h2>
22. About NodeJS How to use Present trend More info
<h3>실행</h3>
설치하기
웹 스크래퍼
웹 채팅
웹 메일
<h2>설치하기</h2>
NodeJS 실행!
NodeJS로
Javascript파일 실행!
23. About NodeJS How to use Present trend More info
<h2>웹 스크래퍼</h2> 설치하기
웹 스크래퍼
웹 채팅
Grunt
24. About NodeJS How to use Present trend More info
<h2>웹 채팅</h2> 설치하기
웹 스크래퍼
웹 채팅
Grunt
http://socket.io/demos/computer/
25. About NodeJS How to use Present trend More info
<h2>Grunt</h2> 설치하기
웹 스크래퍼
웹 채팅
Grunt
27. About NodeJS How to use Present trend More info
<h2>Present trend</h2> Paypal
Flitto
Various Area
<h3>Paypal</h3>
28. About NodeJS How to use Present trend More info
<h2>Present trend</h2>
<h3>Paypal</h3>
Paypal
Flitto
Various Area
출처 : https://www.paypal-engineering.com/2013/11/22/node-js-at-
paypal/
29. About NodeJS How to use Present trend More info
<h2>Present trend</h2>
<ul>
<li> Written in 33% fewer lines of code
( 33% 더 적은 코드 수 )
<li> Constructed with 40% fewer files
( 40% 적은 파일 산출량 )
<li> Double the requests per second vs. the Java application
( 두배 빠른 처리속도 )
<li> 35% decrease in the average response time for the same page
( 35% 적은 평균 응답시간 )
</ul>
Paypal
Flitto
Various Area
<h3>Paypal</h3>
30. About NodeJS How to use Present trend More info
<h2>Present trend</h2>
<h3>Flitto</h3>
집단지성 번역 플랫폼 Flitto(플리토)
Paypal
Flitto
Various Area
31. About NodeJS How to use Present trend More info
<h2>Present trend</h2>
<h3>Flitto</h3>
출처 : http://playnode.io/
Paypal
Flitto
Various Area
32. About NodeJS How to use Present trend More info
<h2>Present trend</h2>
<h3>Various area</h3>
Paypal
Flitto
Various Area
33. About NodeJS How to use Present trend More info
<h2>More Info</h2> More Info
QnA
<ul>
<li> http://www.nodebeginner.org/index-kr.html
<li> http://howtonode.org/
<li> http://pismute.github.io/nodeguide.com/beginner.html
<li> http://nodeschool.io/
</ul>