티스토리 뷰
- Node.js란?
노드제이에스(node.js)는 노드(node)라는 원래의 이름뒤에 자바스크립트를 사용한다는 의미에서 제이에스(js)를 붙인형태
- 왜 Node.js를 만들었을까?
파일업로드 할때, 업로드 완료되기전까지 아무것도 할수 없었기 때문에, 이 문제를 해결하기 위해 새로운 방식의 서버 개발 도구를 만들기 시작함.-> 파일 업로드 기능을 담당하는 핸들러를 하나 만들어 둔다.
- Node 특징
1. 하나의 요청 처리가 끝날 때까지 기다리지 않고 다른 요청을 동시에 처리 할 수 있는 비동기(입출력,Non-Blocking IO)방식을 적용
- 그러면 반대로 동기 입출력 방식은 무엇일까?
- 파일 기능(읽기요청) ->
파일 준비 ->
파일 처리 ->
데이터 처리(완료 되었을 경우 완료되지 않았으면 다시 반복) ->
다른 작업진행->
종료
- 비동기 입출력 방식
- 파일 기능(읽기 요청) -> ( 다른 작업 진행함 대기X)
파일 준비 ->
파일 처리->
데이터 처리(콜백 함수)
- 콜백 함수란?
자바 스크립트에서는 변수에 함수를 할당 시킬 수 있다. 따라서 변수에 할당된 함수를 다른 함수의 파라미터로 전달 할 수 있다. 이렇게 파라미터로 전달된 함수를 다른 함수의 내부에서 호출하는것이 콜백 함수이다.
- 이벤트 기반 입출력(Event driven I/O) 모델이란?
파일 읽기가 완료 되었을 때 파일 시스템에서 콜백 함수를 호출하는데, 파일 시스템이 이벤트와 함께 호출하는 방식을 이벤트 기반 입출력 모델이라고 한다.
- 인터프리터 언어란?
코드를 한줄씩 해석하면서 실행하는 인터프리터언어(대표적인 언어 (pathon,javascript)
- http 기본 소켓 기능(노드의 기본기능)
http 객체는 HTTP 프로토콜로 웹 서버에 데이터를 요청 할 수 있는 기능이 있다. request()함수를 호출하여 웹 서버에 데이터를 요청 할 수 있고, 응답을 받으면 콜백 함수가 자동으로 호출 된다.
- on() 메소드란?
이벤트를 콜백함수와 바인딩(Binding) 할수 있다.
따라서, 응답 객체인 res 객체의 on()메소드를 사용해 data 이벤트와 콜백함수를 바인딩 하면 data라는 이름의 이벤트를 받았을 때 등록한 콜백 함수가 실행.
- 이벤트를 바인딩 한다는것은 무슨 의미 일까?
바인딩이란? 서로 묶어서 연결해준다 라는 의미 인데, 버튼이 하나 있을때 click이벤트가 발생한다고 가정하자. 이때 click 이벤트를 함수 객체와 바인딩 하면 이 click 이벤트가 발생했을때 등록한 함수 객체가 실행.
형식: 객체.on(이벤트이름,함수객체);
ex)res.on('data',function()){};
- 모듈이란?
자바 스크립트의 일부코드를 떼어 별도의 파일로 만들 수 있는데 이것을 모듈이라 함. 이 모듈을 사용하고 싶을때, require() 함수로 모듈을 호출 하면 된다. 이렇게 불러 들인 파일은 자바스크립트 객체로 인식
- NPM(node pakage Manager)란?
다른 프로그래머가 미리 개발하여 올려둔 패키지를 찾아 설지하는 방법을 제공한다.
- Node의 주요 특징
1. 비동기 입출력
2. 모듈과 패키지
3. 이벤트 기반 입출력
4. 자바스크립트 사용
- MongoDB 사용하는 이유는 무엇일까?
데이터베이스를 사용 하면 자바스크립트에서 사용하는 객체를 그대로 저장 할 수 있으므로 데이터 베이스를 다루는것도 훨씬 쉬워진다.
'Node.js' 카테고리의 다른 글
[node.js]콘솔에 로그 뿌리기 (0) | 2017.09.15 |
---|---|
[node.js]브라켓 설치하기 (0) | 2017.09.15 |
[node.js]노드 서버 용도와 기능 (0) | 2017.09.14 |
JQuery 왜 쓸까? (0) | 2017.09.11 |
[node.js]Ajax 기본적인 개념 요약 (0) | 2017.09.11 |
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 프로그래밍
- 알고리즘
- 감자코딩
- BFS
- 코드엔진
- db
- Algorigm
- node
- C언어
- Controller
- Android
- 학교
- 머신러닝
- 리버싱
- 복습
- 초보자를 위한 C언어 300제
- 개발하는 관광이
- node.js
- 노드
- Spring
- 스프링
- 백준
- C langauge
- programming
- 감자개발자
- 안드로이드
- 텐서플로우
- 백준알고리즘
- TensorFlow
- MVC
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함