2019. 8. 13. 00:22ㆍTIL
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 |