[TIL]Servers and Nodes

2019. 8. 13. 00:22TIL

Node란

"노드는 v8엔진으로 만들어진 javascript 런타임이다."

 

위의 문장에서 나오는 V8 이란 자바스크립트를 기계어로 컴파일 해주는 역활을 하고 Runtime 이란 프로그래밍 언어가 구동되는 환경을 말한다.

 

즉 풀어서 말하자면 "자바스크립트를 컴파일 해주는 엔진으로 빌드된 자바스크립트가 구동중인 환경이다!"

 

이벤트 => 유저의 버튼 클릭 or 네트워크 리소스를 요청하는 것등

 

노블로킹 vs  블로킹

1.블로킹 => 다음 함수의 실행이 현재 함수 종료 이후에 이루어 지는것

  (커피 주문받기 => 샷 추출 => 커피 만들기 => 전달하기 => 새주문받기)

 

2.논블로킹 => 다음 함수의 실행이 현재 함수의 종료를 기다리지 않음 

  (커피 주문 => 샷 추출 => 커피 만들기 => 전달하기 

                      새 주문 받기 => 샷 추출  => 커피 만들기 => 전달하기 )

 

 

I/O 모델 => 인풋을 하면 아웃풋을 주는 

 

이벤트 기반 및 논 블로킹 I/O 모델

유저의 클릭이나 네트워킹 리소스를 요청하는 이벤트가 논블로킹으로 이루어지는 input output model

 

const fs = require('fs')

const http = require('http')

 

fs.readFile('./somthing.json',(err,data)=>{

   console.log(data);

})

 

NPM (Node Package Manager)

세계에서 가장 큰 오픈소스 라이브러리 생태계 중 하나

 

server client 

채터박스에서 사용했던 서버는 코드스테이츠에서 만들어 둔 서버

 

Browser (클라이언트) 서버 (computer)

html + css + js

일어날 이벤트를 예상할 수 있다.

클라이언트는 정적이다.

일어날 이벤트를 예상할 수 없다.

비즈니스 로직을 수행한다. 

클라이언트가 요구했던 것들을 DB에서 찾아서 정리해서 클라이언트에게 보내주는 역활을 한다. 

서버는 동적이다.

 서버는 항상 실행되고 있다. 요청에 응답을 해야되기 때문에

 

HTTP Status Code 

 

 

 

 

'TIL' 카테고리의 다른 글

[TIL] 19.08.16 Promise  (0) 2019.08.16
[TIL] node express  (0) 2019.08.14
[TIL] chatter - server  (0) 2019.08.13
[TIL] React-ToDoList2  (0) 2019.08.10
[TIL] React - ToDoList  (0) 2019.08.10