LeeWang_31
이왕31
LeeWang_31
전체 방문자
오늘
어제
  • 분류 전체보기 (234)
    • 프로젝트 (2)
      • 사이드 프로젝트 (2)
      • Codestates_pre_project (0)
    • 프론트엔드 (169)
      • Html (19)
      • CSS (18)
      • JavaScript (29)
      • Codestates (76)
      • 코딩노트 (27)
    • 백엔드 (10)
      • node (10)
    • 구르는 돌 🌑 (16)
      • Codestates (11)
      • 생각 (4)
      • 공부 흔적 (1)
    • 정보 (18)
      • 오류노트 (2)
      • 인텔리제이 정보 (9)
      • 깃 정보 (3)
      • 기타 정보 (4)
      • 안드로이드스튜디오 정보 (0)
    • CS (7)
      • 이론공부 (7)
    • App (6)
      • Android (3)
      • Kotlin (3)
    • 컴퓨터 수학 (5)
      • 암호론 (5)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • React
  • linuix 코드스테이츠
  • 사용자친화웹
  • html
  • JavaScript
  • TODOlist
  • 파이어베이스연동
  • 코드스테이츠
  • 백준
  • linux
  • codestate
  • 2609
  • 코플릿
  • ubuntu
  • 알고리즘
  • 사용자 친화 웹
  • 2693
  • 안드로이드스튜디오파이어베이스
  • 웹팩
  • DP
  • 코딩애플
  • UI/UX
  • css
  • figjam
  • 사이드프로젝트
  • 1292
  • 번들링
  • 안드로이드스튜디오범블비
  • 자바스크립트
  • 생활코딩

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
LeeWang_31

이왕31

[Node.js/MongoDB] Node.j란
백엔드/node

[Node.js/MongoDB] Node.j란

2022. 12. 14. 15:04

코딩애플님의 Node.js, MongoDB로 2시간 만에 빠르게 웹서비스 만들기 강의를 듣고 복습의 목적으로 작성하였습니다

Node.js은 무엇인가

Html은 정적인 언어이다. 페이지에 글을 보이고 이미지를 보이고 움직임은 없는 화면에 출력만하는 언어이다.

Javascript는 그런 html을 움직이게 해주는 언어이다. html을 조작하고 변경할수 있다. 

javascript언어는 각 브라우저에 존재하는 해석 엔진을 통해 실행을 한다

 

브라우저들중 chrome은 V8이라는 해석 엔진을 통해 JS를 이해한다.

Node.js는 chrome의 V8엔진으로 이루어져 있다. 기존 브라우저에서만 JS를 해석하는 기능을 뛰어넘기 위해서이다.

 

node.js는 브라우저 뿐만 아니라 서버 등에서 활용가능한 확장성이 있는 소프트웨어 플랫폼이고, 자바스크립트를 활용하며 논블로킹(Non-blocking) I/O와 단일 스레드 이벤트 루프를 통한 높은 처리 성능을 가지고 있다.


Node.js의 Non-blocking이라는 장점을 알아보자

개발자가 열심히 연구를 해서 햄버거 자판기를 만들었습니다.

A 자판기는 blocking방식으로 B 자판기는 non-blocking방식으로 만들었습니다.

 

4명의 고객이 존재하는데

1번 고객은 불고기버거 1개

2번 고객은 새우버거 2개

3번 고객은 치즈버거를 100개

4번 고객은 불고기버거 1개를 주문합니다.

 

A 자판기는 순서대로 주문을 받고 음식을 드립니다.

3번 고객의 주문을 받고 음식을 만들때 100개의 버거이기 때문에 1번,2번 고객의 주문 소요시간보다 오래 걸립니다.

4번 고객은 기다리다가 버거 하나만 시킬 건데 왜이렇게 오래 걸리냐고 화를 냅니다

버거가게 알바를 하다보면 자주 겪는 일입니다

 

B자판기는 고객의 주문부터 받습니다.

그리고 순서와 상관없이 가장 먼저 끝난 음식부터 고객에게 드립니다.

 

적절한 비유였는지 모르겠지만, non-blocking은 명령이 들어가 있어도 멈추지 않습니다.

그래서 blocking 방식보다 더 빠른 처리속도를 보여줍니다.

 

저작자표시 (새창열림)

'백엔드 > node' 카테고리의 다른 글

[Node.js/MongoDB] Html파일 전송하기  (0) 2022.12.14
[Node.js/MongoDB] nodemon  (0) 2022.12.14
[Node.js/MongoDB] Express와 get으로 읽기  (0) 2022.12.14
[Node] fs로 HTML 읽기  (0) 2022.11.27
[Node] HTTP서버 만들기  (0) 2022.11.27
    '백엔드/node' 카테고리의 다른 글
    • [Node.js/MongoDB] nodemon
    • [Node.js/MongoDB] Express와 get으로 읽기
    • [Node] fs로 HTML 읽기
    • [Node] HTTP서버 만들기
    LeeWang_31
    LeeWang_31
    이왕 할 거면 기분 좋게

    티스토리툴바